---
title: "Scrape all reviews of an Airbnb listing"
method: POST
path: "/travel/airbnb-reviews"
tags: ["Plugins"]
---

# Scrape all reviews of an Airbnb listing

`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`

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.

## Query parameters

- `room` string, 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_reviews` integer: How many reviews to return (1-500). Airbnb serves 50 reviews per request; each request is one billed unit.
- `page` integer: 1-based page of `max_reviews`-sized pages (1-1000). Use the `nextPage` of a previous response to continue.
- `offset` integer, nullable: Start at this review position instead of `page` (0-20000). Use the `nextOffset` of a previous response to resume exactly.
- `sort` string: Review order: most_relevant, most_recent, highest_rated, lowest_rated (the default is Airbnb's own order).
- `locale` string: 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.
- `since` string, 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_listing` boolean: Also return the listing summary (title, overall and category ratings, rating distribution, host). Set false to skip that request.
- `proxy_country` string, nullable: Proxy country the request is sent from (ISO-2, e.g. 'US', 'DE').

## Response `200`

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

- unknown

## Other responses

- `400`: Invalid parameters.
- `404`: No such listing (removed, private or wrong id).
- `422`: Validation Error
- `502`: Blocked by Airbnb, no review data returned, or the call did not finish in time.

---

[API](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api.md) · [All operations](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/revisions/c02f1254cc47?raw)
