Airbnb Reviews Scraper — Every Review, Full Text
Pricing
Pay per usage
Airbnb Reviews Scraper — Every Review, Full Text
Every review for any Airbnb listing with full text, star rating, date, language and reviewer — not just the first page.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Trần Chính
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Name a city, or pass listing URLs or IDs, and get back every review with its full text, star rating, date, language and reviewer.
Not just the first page. Airbnb's own review feed hands back seven reviews and stops unless you page it exactly right. This Actor walks the whole history: a listing with 360 reviews gives you 360 rows, deduplicated by review ID.
Measured: 360 of 360 reviews for one listing in 8 seconds, 8 requests.
Pairs with
- Airbnb Scraper — find listings in a city, feed the IDs in here
- Airbnb Listing Detail — amenities, category ratings and house rules for the same listings
Output
One row per review:
{"listing_id": "29754402","review_id": "1768912442449654155","rating": 5,"text": "Very clean. Great location. Responsive host!","language": "en","created_at": "2026-09-06T15:13:15Z","date_label": "September 2026","reviewer_name": "Marta","reviewer_id": "2446180","reviewer_photo": "https://a0.muscache.com/im/pictures/user/...","reviewer_is_superhost": false,"host_name": "Isolda","listing_url": "https://www.airbnb.com/rooms/29754402"}
Use it for
- Sentiment analysis — feed real guest text to an LLM and find what a property or a whole market gets complimented and criticised for
- Competitive research — read what guests say about the listings next door
- Property management QA — track review sentiment over time per property
- Academic research — a dated, language-tagged review corpus
Two ways to use it
Just name a city. Leave Airbnb listings empty, type a location, and the Actor finds the listings itself — nothing to look up first.
{"location": "Lisbon, Portugal", "maxListings": 50}
Or pass listings you already have. Paste room URLs or IDs, for example the
listing_id column from Airbnb Scraper.
{"listings": ["https://www.airbnb.com/rooms/29754402", "1427417218567220620"]}
Input
{"listings": ["https://www.airbnb.com/rooms/29754402","1427417218567220620"],"maxReviewsPerListing": 0}
| Field | What it does |
|---|---|
| Airbnb listings | Room URLs or bare IDs, mixed formats fine |
| Max reviews per listing | 0 means every review |
| Only this language | e.g. en to keep English reviews only |
Reliability
- Retries with exponential backoff on network errors
- Reviews are deduplicated by review ID, so a repeating page never inflates your bill
- A listing that returns nothing is reported; if every listing fails, the run fails loudly instead of handing you an empty dataset
- You are charged per validated review, never for dropped rows
Pricing
Pay per review returned. No subscription.
FAQ
Why do some reviews have no rating? Airbnb does not expose a per-review star rating on every listing. The field is null rather than guessed.
Can I get reviews in one language only? Yes — set Only this language to a two-letter code. Reviews carry the language they were written in.
Does it include reviewer personal data? Only what Airbnb shows publicly on the listing page: display name and profile photo. No emails, no phone numbers, no private profile data. If you process this for EU residents, GDPR applies to you as the controller.