Plugins

Scrape all reviews of an Airbnb listing

Given an Airbnb room (listing id or room URL), returns its guest reviews: id, rating, text (as written) with its language, translatedText (Airbnb's translation into locale), date (ISO), localizedDate, stayDetail, photos, reviewer (id, name, photo, location or tenure, profileUrl, profileId, isSuperhost, deleted) and the host's response. reviewer.id is Airbnb's account id (the one in its photo URLs; airbnb.com/users/show/<id> asks anonymous visitors to log in), while profileUrl is the public profile link Airbnb's own review cards open, keyed by a separate public id given as profileId. deleted is true when the guest has since closed their Airbnb account; Airbnb still sends the name, photo and location or tenure from the review, and they are returned as sent. Reads every review, not just the few on the room page: page with page (or offset) and max_reviews (up to 500 per call), order with sort (most_relevant, most_recent, highest_rated, lowest_rated) and drop older reviews with since. Also returns the listing summary (title, overall and category rating, ratingDistribution, ratingCounts, reviewsCount, reviewTags, host) and totalResults, hasMore, nextPage, nextOffset. ratingDistribution is Airbnb's own list of each star's share of the ratings as a 0-1 fraction ({"stars": 5, "percentage": 0.957} = 95.7%), not a count like the other review plugins return; ratingCounts gives the number of ratings per star ({"5": 692, ...}) worked out from those shares and reviewsCount, and is null when the shares do not fit it (seen on hotel listings, whose distribution covers more ratings than reviewsCount). Billed one unit per 50-review page read (pagesFetched). Companion to the Airbnb search (/travel/airbnb) and listing (/travel/airbnb-room) plugins.

post/travel/airbnb-reviews

Request

  • Base URL: https://api.scrapeunblocker.com
  • URL: https://api.scrapeunblocker.com/travel/airbnb-reviews
  • Auth: API key in header x-scrapeunblocker-key

Query parameters

roomstring required

Airbnb listing id (e.g. 23860926) or a room URL on any Airbnb domain, e.g. 'https://www.airbnb.co.uk/rooms/23860926'.

max_reviewsinteger

How many reviews to return (1-500). Airbnb serves 50 reviews per request; each request is one billed unit.

pageinteger

1-based page of max_reviews-sized pages (1-1000). Use the nextPage of a previous response to continue.

offsetinteger nullable

Start at this review position instead of page (0-20000). Use the nextOffset of a previous response to resume exactly.

sortstring

Review order: most_relevant, most_recent, highest_rated, lowest_rated (the default is Airbnb's own order).

localestring

Language to translate reviews and host responses into, e.g. en, de, fr, es, pt-BR. The original text and its language are always returned too.

sincestring nullable

Only reviews written on or after this date (YYYY-MM-DD). With sort=most_recent it also stops paging once older reviews start.

include_listingboolean

Also return the listing summary (title, overall and category ratings, rating distribution, host). Set false to skip that request.

proxy_countrystring nullable

Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE').

Response

JSON with listing, a reviews array, totals and paging. A listing without reviews is an empty array.

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.