Airbnb Reviews Scraper
Pricing
$2.00 / 1,000 reviews
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
- Open a listing on Airbnb and copy the address from your browser, such as
https://www.airbnb.com/rooms/1541240866926218500. - 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.
- Set Max reviews per listing (0 gets them all), the sort order, and the language you want translations in.
- 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.
| Field | Type | Default | What it does |
|---|---|---|---|
listingUrls | array of strings | — | Listing links or ids. Objects such as {"url": "..."} from other Actors are accepted too. |
maxReviewsPerListing | integer | 100 | Stops after this many reviews per listing. 0 = every review. |
sortBy | string | most_recent | most_recent, most_relevant, highest_rated or lowest_rated. |
language | string | en | Language code (en, de, fr, es, pt-PT, …) for translations, listing titles and relative dates. |
proxyConfiguration | object | none | Leave 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
| Field | Description |
|---|---|
reviewId | Airbnb's review id (text). Each review is saved once per run. |
listingId, listingUrl | The listing the review belongs to. |
rating | The guest's star rating, 1–5. |
text, textLanguage | The review as the guest wrote it, and its language code. |
translatedText, translatedLanguage | Airbnb's translation into your language; null when the review is already in it. |
createdAt | When the review was posted, ISO 8601 in UTC. |
stayDetails | What Airbnb shows about the stay, such as "Group trip" or "Stayed a few nights", when it shows anything. |
reviewerId, reviewerName, reviewerPhotoUrl, reviewerProfileUrl | The guest as Airbnb shows them (first name only). |
reviewerLocation | The guest's home town, when they give one. |
reviewerTenure | Shown instead of a town when there is none, such as "7 years on Airbnb". |
hostResponse, hostResponseTranslated | The host's public reply and its translation, when there is one. |
hostResponseDateText | When the host replied, as Airbnb words it ("2 weeks ago"); Airbnb does not publish an exact date. |
hostName | First name of the host who replied. |
listingTitle, listingLocation | The listing's title and town, in your language. |
listingRating, listingReviewCount | The listing's overall rating and number of reviews. |
ratingAccuracy, ratingCheckin, ratingCleanliness, ratingCommunication, ratingLocation, ratingValue | The listing's category ratings, 1–5, with one decimal as the listing page shows them. For hotels they cover the whole property. |
scrapedAt | When 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_recentand set a smallmaxReviewsPerListing, then schedule the run daily or weekly. - Finding problems fast: sort by
lowest_ratedto 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
languagetodeto 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.