Airbnb Reviews Scraper | Extract Ratings, Reviews & Guest Data avatar

Airbnb Reviews Scraper | Extract Ratings, Reviews & Guest Data

Pricing

from $2.00 / 1,000 reviews

Go to Apify Store
Airbnb Reviews Scraper | Extract Ratings, Reviews & Guest Data

Airbnb Reviews Scraper | Extract Ratings, Reviews & Guest Data

Scrape Airbnb reviews from any listing URL with this fast Airbnb Review Scraper API. Extract review text, ratings, dates, reviewer profiles, host responses, and sentiment-ready structured data for market research, competitor analysis, AI workflows, and hospitality intelligence.

Pricing

from $2.00 / 1,000 reviews

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Airbnb Reviews Scraper

Extract guest reviews from any Airbnb listing — including review text, star ratings, reviewer profiles, host responses, dates, and translations. Built for property managers, hospitality analysts, market researchers, and anyone who needs bulk Airbnb review data for sentiment analysis, competitive research, or reputation monitoring.

What data can you extract from Airbnb?

FieldDescription
idUnique Airbnb review identifier
textFull review body text (may include <br/> line breaks)
ratingStar rating (1–5)
createdAtISO 8601 timestamp of when the review was posted
localizedDateHuman-readable relative date (e.g., "3 weeks ago")
localizedReviewerLocationHow long the reviewer has been on Airbnb (e.g., "8 years on Airbnb")
localizedTextTranslated review text (when available for the chosen locale)
languageISO 639-1 language code of the original review
reviewer.id / reviewer.firstName / reviewer.pictureUrlReviewer's Airbnb user ID, first name, and profile picture
reviewee.id / reviewee.firstName / reviewee.pictureUrlHost's Airbnb user ID, first name, and profile picture
responseHost's reply to the review (if any)
reviewHighlightAirbnb-curated highlight snippet (if any)
startUrlThe listing URL this review belongs to
collectionTagTag if the review belongs to a curated collection

How to scrape Airbnb reviews

  1. Open the Actor — click "Try for free" on the Airbnb Reviews Scraper page
  2. Paste Airbnb listing URLs — add one or more room URLs (e.g., https://www.airbnb.com/rooms/12345) in the input
  3. Choose your settings — optionally set max reviews per listing, sort order, date filter, and locale
  4. Click Run — the Actor will start scraping and display results in real time
  5. Download your data — export the dataset as JSON, CSV, Excel, or any Apify-supported format; or access it programmatically via the API

Input

The Actor accepts the following input parameters:

FieldTypeRequiredDescription
startUrlsArray of URLs✅ YesOne or more Airbnb room URLs to scrape reviews from
maxReviewsPerListingIntegerNoMax reviews to fetch per listing. Leave empty to scrape all
sortBySelectNoSort order: most-recent (default), most-relevant, highest-rated, lowest-rated
sinceDateDate (YYYY-MM-DD)NoOnly scrape reviews posted on or after this date. Requires sortBy: most-recent
localeSelectNoLocale for localized review text. Default: en-US. Supports 60+ locales

Cost

Free planStarter ($49/mo)Scale ($499/mo)
Per review$0.003$0.0025$0.002
1,000 reviews$3.00$2.50$2.00
10,000 reviews$30.00$25.00$20.00

Higher Apify tiers (Gold, Platinum, Diamond) reduce the per-review fee further. With the Apify Free plan's $5 monthly credit, you can scrape ~1,600 reviews at no cost.

Real-world examples:

ScrapeReviewsCost (Free tier)
One listing (470 reviews)470~$1.41
5 listings, full history (~300 each)1,500~$4.50
Portfolio audit (50 listings, 50 recent each)2,500~$7.50

Output

The Actor produces a dataset where each item represents a single review:

{
"startUrl": "https://www.airbnb.com/rooms/1271743701548800863",
"id": "1685465785158235566",
"language": "en",
"text": "I only stayed one night at Roberto's place but he was super friendly and helpful. Even walked me over a known restaurant for a late lunch after my arrival.<br/>He did help me with checking the Train timetable website form Tiburtina as I had an early flight back to Brazil.<br/>The room was as described and the bathroom was shared to other guests, not a problem to me as I did know it already.<br/>I do recommend his place.",
"localizedText": null,
"localizedReview": null,
"createdAt": "2026-05-14T11:59:38Z",
"reviewee": {
"id": "575166842",
"firstName": "Roberto",
"pictureUrl": "https://a0.muscache.com/im/pictures/user/User/original/d21f57b5-4344-42d5-9b6f-18091115be4a.jpeg"
},
"reviewer": {
"id": "180379282",
"firstName": "Luciana",
"pictureUrl": "https://a0.muscache.com/im/pictures/user/User/original/5a3a574e-5cce-43bd-a11b-442b0b152ddd.jpeg"
},
"reviewHighlight": null,
"highlightType": null,
"rating": 5,
"response": null,
"ratingAccessibilityLabel": "Rating, 5 stars",
"localizedDate": "3 weeks ago",
"localizedReviewerLocation": "8 years on Airbnb",
"collectionTag": null
}

Results can be exported in JSON, CSV, Excel, XML, HTML, or RSS format through Apify's Output tab or API.

Yes — this Actor only extracts publicly available data. It does not scrape private messages, personal contact information, or any content that requires authentication. The Actor accesses reviews the same way any visitor browsing Airbnb without logging in would see them.

As with any web scraping, you should review Airbnb's Terms of Service and ensure your use case complies with applicable laws in your jurisdiction.

Why use this Actor instead of alternatives?

  • Drop-in compatible with the leading Airbnb review scraper's output schema — existing pipelines work without changes
  • Automatic session recovery when Airbnb returns stale data — less common than you'd think, but devastating when it happens mid-run
  • Same price as the most popular actor, no premium markup
  • 60+ locales — not just English reviews

API usage

Trigger the Actor programmatically via the Apify API:

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('5CQJEP0S8Gf6kuI6d').call({
startUrls: [{ url: 'https://www.airbnb.com/rooms/12937' }],
maxReviewsPerListing: 100,
sortBy: 'most-recent',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python:

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('5CQJEP0S8Gf6kuI6d').call(run_input={
'startUrls': [{'url': 'https://www.airbnb.com/rooms/12937'}],
'maxReviewsPerListing': 100,
'sortBy': 'most-recent',
})
items = client.dataset(run['defaultDatasetId']).list_items().items

cURL:

curl -X POST "https://api.apify.com/v2/acts/5CQJEP0S8Gf6kuI6d/runs?token=YOUR_API_TOKEN&waitForFinish=120" \
-H "Content-Type: application/json" \
-d '{"startUrls": [{"url": "https://www.airbnb.com/rooms/12937"}], "maxReviewsPerListing": 100}'

Scheduling for recurring review monitoring

Save your input and set it to run weekly via Apify Schedules. Common setups:

  • Weekly competitor monitoring — sort by most-recent, limit to 25-50 reviews per listing, export to Google Sheets
  • Monthly portfolio audit — batch all your listings, scrape full history, check sentiment trends
  • Issue triage — after each run, filter by low ratings to surface guest complaints

Use webhooks to ping your Slack or dashboard when each run completes.

FAQ

How much does it cost?

$3 per 1,000 reviews on the Free plan. Higher Apify subscription tiers reduce this down to $2 per 1,000. With the Free plan's $5 monthly credit, ~1,600 reviews are free.

Can I scrape multiple listings at once?

Yes. Add as many URLs as you need in startUrls. They all run in a single batch.

Do I need an Airbnb account?

No. The Actor works without login, the same way anyone can read reviews on a public listing page.

How far back can I scrape?

As far back as the listing has reviews. Some listings have years of history.

Can I get sub-ratings (cleanliness, location, etc.)?

Currently only the overall star rating. Sub-ratings are not available in this version.

What happens if Airbnb blocks the scraper?

The Actor runs on Apify's infrastructure with built-in proxy rotation and automatic session recovery. If a session goes stale mid-run, it refreshes and retries automatically.

Integrations

Export data anywhere via Apify integrations: Google Sheets, Slack, Zapier, Make, n8n, Airtable, and more.

Support

Open an issue in the Apify Console or reach out through the Issues tab.


Keywords: Airbnb review scraper, extract Airbnb reviews, Airbnb guest reviews dataset, Airbnb review data export, Airbnb review sentiment analysis, scrape Airbnb listings, bulk Airbnb review extractor, Airbnb review API alternative.