Skip to content

Airbnb Reviews Scraper

Try for free

Scrape guest reviews from Airbnb listings: star rating, date, text, translation, host reply, language, and sort order. No login needed.

🏠 Airbnb Reviews Scraper

Get every guest review from any public Airbnb listing: star rating, date, full text, translation, host reply, reviewer country and language. Paste listing links, press start, and download clean JSON, CSV or Excel. No login, no cookies, no browser, and a full 500-review listing takes about ten seconds.

✨ Why use Airbnb Reviews Scraper?

  • ⚡ Fast — reviews come straight from Airbnb's own review feed in pages of 50, several pages at a time. About 3,200 reviews from one listing took under a minute in our tests.
  • 💸 Cheap — $3.00 per 1,000 reviews, with compute and proxy costs on top that are a fraction of a cent per thousand.
  • 🔓 No login needed — only public listing reviews are collected.
  • 🌍 Any language — keep the original text and get a translation into one of 90+ locales, plus the host reply translated too.
  • 🎯 Sort and filter — newest first, relevance, highest or lowest rated, and a date range.
  • 🧼 Clean output — one row per review, deduplicated, with the same field names and shape that many existing review pipelines already use.

🎯 Use cases

  • 📈 Guest satisfaction tracking — follow rating trends per listing, neighborhood or host.
  • 🕵️ Competitor monitoring — see what guests praise or complain about at nearby listings.
  • 🧠 Sentiment and topic analysis — feed review text into your own NLP or dashboards.
  • 🏨 Property management — collect reviews of your own portfolio into one sheet.
  • 🔎 Market research — compare ratings and host reply rates across cities.

🚀 How to use

  1. Paste one or more Airbnb listing URLs, for example https://www.airbnb.com/rooms/12937.
  2. Set Max reviews per listing (use 0 for every review).
  3. Optionally choose a sort order, a date range, and a locale for translations.
  4. Click Start and wait for the run to finish.
  5. Export the dataset as JSON, CSV, Excel, XML or HTML, or read it through the API.

📥 Input

FieldDescription
startUrlsAirbnb listing URLs (any Airbnb domain). Bare listing ids work too. Duplicates are ignored.
maxReviewsPerListingReviews to return per listing. Default 20, 0 means all.
sortBymost-recent, most-relevant, highest-rated, lowest-rated.
sinceDate, untilDateOnly reviews written in this date range (YYYY-MM-DD).
localeLanguage for translated text and relative dates, for example de-DE. Default en-US.
proxyConfigurationProxy settings. The default datacenter proxy works.
{
  "startUrls": [{ "url": "https://www.airbnb.com/rooms/12937" }],
  "maxReviewsPerListing": 50,
  "sortBy": "most-recent",
  "sinceDate": "2026-01-01",
  "locale": "en-US"
}

📤 Output

FieldDescription
id, listingId, startUrlReview id, listing id, and the URL you gave.
ratingStars from 1 to 5. Empty on very old reviews that had no rating.
createdAtWhen the review was written (UTC).
language, textLanguage and text exactly as the guest wrote it.
localizedText, localizedReviewText in your locale, and the translation notice when it was translated.
localizedDate, localizedReviewerLocationRelative date and where the guest is from.
reviewer, revieweeGuest and host: id, first name, photo, profile path.
reviewHighlight, highlightTypeShort note such as "Stayed a few nights".
response, localizedResponseHost reply as written, and in your locale.
reviewPhotoUrlsPhotos attached to the review, if any.
{
  "startUrl": "https://www.airbnb.com/rooms/12937",
  "listingId": "12937",
  "id": "1100000000000000001",
  "language": "en",
  "text": "Spotless flat, easy walk to the metro, and the host sent great tips for dinner.",
  "localizedText": "Spotless flat, easy walk to the metro, and the host sent great tips for dinner.",
  "localizedReview": null,
  "localizedDate": "2 weeks ago",
  "localizedReviewerLocation": "Springfield, Illinois",
  "createdAt": "2026-09-30T12:00:00Z",
  "reviewee": { "id": "200001", "firstName": "Sam", "hostName": "Sam", "pictureUrl": "https://a0.muscache.com/im/pictures/user/example-host.jpg", "profilePath": "/users/profile/200001", "profilePicture": "https://a0.muscache.com/im/pictures/user/example-host.jpg" },
  "reviewer": { "id": "300001", "firstName": "Alex", "hostName": "Alex", "pictureUrl": "https://a0.muscache.com/im/pictures/user/example-guest.jpg", "profilePath": "/users/profile/300001", "profilePicture": "https://a0.muscache.com/im/pictures/user/example-guest.jpg" },
  "reviewHighlight": "Stayed a few nights",
  "highlightType": "LENGTH_OF_STAY",
  "rating": 5,
  "response": "Thanks for staying with us, come back soon!",
  "localizedResponse": "Thanks for staying with us, come back soon!",
  "ratingAccessibilityLabel": "Rating, 5 stars",
  "reviewPhotoUrls": []
}

If you are moving from a similar reviews actor on another platform, the field names stay the same, and listingId, localizedResponse and reviewPhotoUrls are extra.

💰 Pricing

You pay $0.003 per review ($3.00 per 1,000), charged only for reviews that are saved. Platform usage (compute and proxy) is billed separately by Scrapely and is very small, roughly 0.1 to 0.2 cents per 1,000 reviews.

  • 10 reviews cost about $0.03.
  • 1,000 reviews cost about $3.00 plus a fraction of a cent of usage.
  • Set a maximum charge on the run and it stops cleanly when the limit is reached.

❓ FAQ

Is it legal to scrape Airbnb reviews? The reviews are public. Reviews contain names of private people, so follow privacy laws such as GDPR and only keep what you need.

Do I need a login or my own proxy? No. The default datacenter proxy is enough.

How many reviews can I get? All the reviews Airbnb shows for the listing. Large listings with 3,000+ reviews work.

What if a field is empty? Older reviews can have no rating, and most reviews have no host reply. Those fields are null.

Can I schedule runs or use the API? Yes. Schedule runs in the console and read results through the dataset API.

Why did I get fewer reviews than Airbnb shows? Airbnb's total count can include hidden or removed reviews. The run message tells you when that happens.

⚠️ Limits

  • Only public listing reviews. Experiences and services are not covered.
  • Reviews of the guest written by hosts are not public and not included.
  • Search result and listing detail data are not included. Use an Airbnb listings scraper for that.
  • Relative dates such as "2 weeks ago" follow the day you run the scraper. Use createdAt for exact dates.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.