Airbnb Reviews Scraper — Every Review, Full Text avatar

Airbnb Reviews Scraper — Every Review, Full Text

Pricing

Pay per usage

Go to Apify Store
Airbnb Reviews Scraper — Every Review, Full Text

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

Trần Chính

Maintained by Community

Actor 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
}
FieldWhat it does
Airbnb listingsRoom URLs or bare IDs, mixed formats fine
Max reviews per listing0 means every review
Only this languagee.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.