Airbnb Reviews Scraper avatar

Airbnb Reviews Scraper

Pricing

$2.00 / 1,000 reviews

Go to Apify Store
Airbnb Reviews Scraper

Airbnb Reviews Scraper

Scrapes every guest review of Airbnb listings: rating, text with translation, date, reviewer, host response, plus the listing's overall and category ratings. Paste listing links or ids.

Pricing

$2.00 / 1,000 reviews

Rating

0.0

(0)

Developer

Mina

Mina

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does Airbnb Reviews Scraper do?

Airbnb Reviews Scraper collects every guest review of the Airbnb listings you give it: the star rating, full text, Airbnb's own translation, date, reviewer name, photo and home town, and the host's response. Each review also carries the listing's overall rating, review count and category ratings (cleanliness, accuracy, check-in, communication, location, value).

Paste a listing link from any Airbnb country site, or just the listing id, and click Start. The prefilled example returns 20 reviews in about 5 seconds. Because it runs on the Apify platform, you also get API access, scheduled runs, integrations (Google Sheets, Make, Zapier, webhooks), run monitoring and automatic retries through Apify Proxy if Airbnb ever refuses a request.

Why scrape Airbnb reviews?

  • Hosts and property managers: track what guests say about your own listings and your competitors', and spot recurring complaints early.
  • Market and investment research: compare neighbourhoods and property types by guest satisfaction before buying or renting out.
  • Sentiment analysis and AI datasets: get clean review text with the language code and an English (or any other) translation side by side.
  • Reputation monitoring: schedule a run with "Most recent" sorting to pick up new reviews and host responses as they appear.

How to scrape Airbnb reviews

  1. Open a listing on Airbnb and copy the address from your browser, such as https://www.airbnb.com/rooms/1541240866926218500.
  2. Paste it into Airbnb listing links, one link per line. Links from airbnb.co.uk, airbnb.de and other country sites, Airbnb Plus links and links with dates or guest counts in them all work.
  3. Set Max reviews per listing (0 gets them all), the sort order, and the language you want translations in.
  4. Click Start, then download the reviews when the run finishes.

Input

All fields except the links are optional. See the Input tab for the full form.

FieldTypeDefaultWhat it does
listingUrlsarray of strings—Listing links or ids. Objects such as {"url": "..."} from other Actors are accepted too.
maxReviewsPerListinginteger100Stops after this many reviews per listing. 0 = every review.
sortBystringmost_recentmost_recent, most_relevant, highest_rated or lowest_rated.
languagestringenLanguage code (en, de, fr, es, pt-PT, …) for translations, listing titles and relative dates.
proxyConfigurationobjectnoneLeave empty; the Actor falls back to Apify Proxy on its own.
{
"listingUrls": [
"https://www.airbnb.com/rooms/1541240866926218500",
"https://www.airbnb.co.uk/rooms/604915670831100428?adults=2",
"1268882296424305560"
],
"maxReviewsPerListing": 200,
"sortBy": "most_recent",
"language": "en"
}

Output

One row per review. A real row from the prefilled run:

{
"reviewId": "1786795774766171985",
"listingId": "1541240866926218500",
"listingUrl": "https://www.airbnb.com/rooms/1541240866926218500",
"rating": 5,
"text": "Excelente alojamiento, muy limpio y agradable, es igual a las fotos y cumple con lo que dice. ...",
"textLanguage": "es",
"translatedText": "Excellent accommodation. Very clean and nice. It's just like the photos and lives up to what it says. ...",
"translatedLanguage": "en",
"createdAt": "2026-10-01T07:24:14Z",
"stayDetails": "Group trip",
"reviewerId": "123685534",
"reviewerName": "Tania",
"reviewerPhotoUrl": "https://a0.muscache.com/im/pictures/user/User/original/03b5de5b-9210-4cc4-8d79-2b5e2186970f.jpeg",
"reviewerProfileUrl": "https://www.airbnb.com/users/profile/1485935310036670072",
"reviewerLocation": "Mexico City, Mexico",
"reviewerTenure": null,
"hostResponse": "Grazie mille per le tue belle parole!\nÈ stato un piacere ospitarvi. ...",
"hostResponseTranslated": "Thank you so much for your kind words!\nIt was a pleasure to host you. ...",
"hostResponseDateText": "2 weeks ago",
"hostName": "Alma",
"listingTitle": "Luxury stay near Vatican and Piazza del Popolo!",
"listingLocation": "Rome, Lazio, Italy",
"listingRating": 4.99,
"listingReviewCount": 92,
"ratingAccuracy": 5.0,
"ratingCheckin": 4.9,
"ratingCleanliness": 5.0,
"ratingCommunication": 5.0,
"ratingLocation": 5.0,
"ratingValue": 5.0,
"scrapedAt": "2026-10-20T13:54:40.058139+00:00"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Output tab also has a Listing ratings view with the category ratings side by side.

Data fields

FieldDescription
reviewIdAirbnb's review id (text). Each review is saved once per run.
listingId, listingUrlThe listing the review belongs to.
ratingThe guest's star rating, 1–5.
text, textLanguageThe review as the guest wrote it, and its language code.
translatedText, translatedLanguageAirbnb's translation into your language; null when the review is already in it.
createdAtWhen the review was posted, ISO 8601 in UTC.
stayDetailsWhat Airbnb shows about the stay, such as "Group trip" or "Stayed a few nights", when it shows anything.
reviewerId, reviewerName, reviewerPhotoUrl, reviewerProfileUrlThe guest as Airbnb shows them (first name only).
reviewerLocationThe guest's home town, when they give one.
reviewerTenureShown instead of a town when there is none, such as "7 years on Airbnb".
hostResponse, hostResponseTranslatedThe host's public reply and its translation, when there is one.
hostResponseDateTextWhen the host replied, as Airbnb words it ("2 weeks ago"); Airbnb does not publish an exact date.
hostNameFirst name of the host who replied.
listingTitle, listingLocationThe listing's title and town, in your language.
listingRating, listingReviewCountThe listing's overall rating and number of reviews.
ratingAccuracy, ratingCheckin, ratingCleanliness, ratingCommunication, ratingLocation, ratingValueThe listing's category ratings, 1–5, with one decimal as the listing page shows them. For hotels they cover the whole property.
scrapedAtWhen the row was saved.

How much does it cost to scrape Airbnb reviews?

You pay per review saved; see the Pricing tab for the exact price. Listings that give nothing (removed, no reviews yet, unusable link) are never billed. The Actor reads Airbnb's own review API over plain HTTP without a browser and without a proxy unless Airbnb refuses, so a run is fast: about 1,900 reviews from 35 listings took 25 seconds in testing, and its platform usage cost less than a cent.

Tips

  • Getting only new reviews: sort by most_recent and set a small maxReviewsPerListing, then schedule the run daily or weekly.
  • Finding problems fast: sort by lowest_rated to read the critical reviews first.
  • Large batches: hundreds of listings in one run are fine; listings are read three at a time and reviews 50 per request.
  • Spending cap: set a maximum cost per run in the run options and the Actor stops cleanly when it is reached, keeping everything saved so far.
  • Translations: Airbnb translates reviews itself. Set language to de to get German translations, German listing titles and German relative dates.

FAQ, disclaimers, and support

Which links work? airbnb.<any country>/rooms/<id> links, including /rooms/plus/<id> and links with query parameters, and bare listing ids. Short share links (abnb.me/…, airbnb.com/h/…) and Experiences are not supported: open a short link in a browser and paste the /rooms/ address.

Where do failed listings go? Links that gave no reviews are listed with a plain reason in the FAILED_INPUTS record of the run's key-value store, and the run's status message summarises them. A run fails only when every listing could not be loaded because of a block or network error.

Does it need an Airbnb account? No. It reads only what Airbnb shows to any visitor of a listing page.

Is it legal to scrape Airbnb? This Actor collects publicly visible review data. Airbnb's Terms of Service restrict automated access, and reviews contain personal data (guests' first names, photos and home towns), which laws such as the GDPR protect. Make sure you have a legitimate reason to process it, store only what you need, and consult a lawyer if you are unsure.

Something is missing or broken? Please open an issue on the Issues tab with the listing link, and we'll look at it. Need a custom Airbnb dataset or integration? Ask there too.