Airbnb Reviews Scraper avatar

Airbnb Reviews Scraper

Pricing

Pay per event

Go to Apify Store
Airbnb Reviews Scraper

Airbnb Reviews Scraper

Extract Airbnb reviews for any listing: review text, ratings, reviewer info, host responses, dates, translations. Sort by newest, best, or rating. Filter by topic or search within reviews. Export to JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

4

Monthly active users

14 days ago

Last modified

Categories

Share

What does Airbnb Reviews Scraper do?

Airbnb Reviews Scraper extracts all reviews for any Airbnb listing — including review text, star ratings, reviewer info, host responses, and dates. Enter one or more listing URLs (or plain listing IDs), click Start, and get structured review data in JSON, CSV, or Excel.

Unlike other Airbnb review scrapers, this one lets you sort reviews (newest, best, highest/lowest rating), filter by topic (cleanliness, location, hospitality, and 16 more AI-generated tags), and search within reviews using keywords. Optionally enable AI analysis to get sentiment scores, topic labels, and English translations for every review.

Use cases

  • Sentiment analysis — analyze guest satisfaction patterns across your properties or competitors'
  • Competitor monitoring — track review trends, ratings, and guest complaints for competing listings
  • Property management — bulk-export reviews to identify recurring maintenance issues or guest praise
  • Market research — compare review volume and sentiment across neighborhoods or cities
  • Host response tracking — audit host response rates and quality across a portfolio of listings

Why use Airbnb Reviews Scraper?

  • 40% cheaper than the market leader — $3 per 1,000 reviews on the Free plan (vs. $5/1K for competitors)
  • Sorting — 4 sort options (most recent, best quality, highest/lowest rating). No competitor offers this.
  • Topic filters — filter reviews by 19 AI-generated topics (cleanliness, location, hospitality, sleep, etc.). No competitor offers this.
  • Full-text search — search within reviews using keywords. No competitor offers this.
  • Flexible input — accepts listing URLs, plain numeric IDs, or both. Batch multiple listings in a single run.
  • No browser needed — pure HTTP API extraction, keeping costs low and speed high
  • AI analysis — optional sentiment scoring, topic detection, and English translation for non-English reviews. No API key needed, no extra cost.
  • Comprehensive data — 26 fields per review including reviewer and host profiles, media, superhost status, and more

What data can you extract?

Data pointExample
Review ID1598794192968517887
Listing ID & URL12937, https://www.airbnb.com/rooms/12937
Star rating5 (1-5 scale)
Review textFull original text with line breaks
Review dateISO timestamp (2026-01-14T21:58:39Z) + localized (3 weeks ago)
Reviewer name, ID, photoMarion, 232038, profile picture URL
Reviewer location15 years on Airbnb or geographic location
Host name, ID, photoOrestes, 50124, profile picture URL
Host responseFull host reply text (when available)
Response dateLocalized response date
Review highlightStayed a few nights, Stayed with kids
Highlight typeLENGTH_OF_STAY, TYPE_OF_TRIP
Languagede, en, fr, etc.
Superhost flagsBoth reviewer and host superhost status
Review mediaPhotos attached to reviews
Scraped timestampWhen the data was extracted
AI sentimentpositive, negative, neutral, or mixed (optional)
AI sentiment score0.0 to 1.0 (optional)
AI topics["location", "host", "cleanliness"] (optional)
AI translationEnglish translation of non-English reviews (optional)

25+ fields per review — the most comprehensive Airbnb review dataset on Apify Store.

How much does it cost to scrape Airbnb reviews?

This Actor uses pay-per-event pricing — you pay only for what you scrape. No monthly subscription. All platform costs are included.

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-tier Apify plans (Gold, Platinum, Diamond) get additional volume discounts down to $0.0005 per review.

Real-world cost examples:

ListingReviews scrapedDurationCost (Free tier)
NYC apartment (470 reviews)470~10 sec~$1.41
3 listings (10 reviews each)30~5 sec~$0.09
Large property (1,000 reviews)1,000~25 sec~$3.00

With the Apify Free plan, you get $5 of free usage per month — enough to scrape ~1,600 reviews for free.

How to scrape Airbnb reviews

  1. Go to the Airbnb Reviews Scraper on Apify Store
  2. Click Try for free to open the Actor in Apify Console
  3. Enter one or more Airbnb listing URLs (e.g., https://www.airbnb.com/rooms/12937)
  4. Optionally set max reviews, sort order, topic filter, or search query
  5. Click Start and wait for the run to complete
  6. Download your data in JSON, CSV, Excel, XML, or HTML table format

The simplest input just requires a listing URL:

{
"startUrls": [{ "url": "https://www.airbnb.com/rooms/12937" }]
}

Using plain listing IDs:

{
"listingIds": ["12937", "1029728", "54321"]
}

Get only the 50 most recent reviews sorted by date:

{
"startUrls": [{ "url": "https://www.airbnb.com/rooms/12937" }],
"maxReviewsPerListing": 50,
"sortBy": "MOST_RECENT"
}

Filter reviews about cleanliness:

{
"startUrls": [{ "url": "https://www.airbnb.com/rooms/12937" }],
"filterByTopic": "CLEANLINESS"
}

Search for reviews mentioning "wifi":

{
"startUrls": [{ "url": "https://www.airbnb.com/rooms/12937" }],
"searchQuery": "wifi"
}

Get 50 recent reviews with AI sentiment and translations:

{
"startUrls": [{ "url": "https://www.airbnb.com/rooms/12937" }],
"maxReviewsPerListing": 50,
"sortBy": "MOST_RECENT",
"enableAIAnalysis": true
}

Input parameters

ParameterTypeDefaultDescription
startUrlsURL[]Airbnb listing URLs to scrape reviews from
listingIdsstring[]Numeric Airbnb listing IDs (alternative to URLs)
maxReviewsPerListinginteger0 (all)Max reviews per listing. Set to 0 for all reviews.
sortBystringMOST_RECENTSort order: MOST_RECENT, BEST_QUALITY, RATING_DESC, RATING_ASC
filterByTopicstringFilter by topic: CLEANLINESS, LOCATION, HOSPITALITY, SLEEP, and 15 more
searchQuerystringFull-text search within reviews
localestringen-USLanguage for localized dates and labels
enableAIAnalysisbooleanfalseAdd AI sentiment, topics, and translations to each review. Increases run time (see note below).

Output example

{
"listingId": "12937",
"listingUrl": "https://www.airbnb.com/rooms/12937",
"reviewId": "1598794192968517887",
"language": "de",
"text": "Ich war zum dritten oder vierten Mal bei Orestes...",
"localizedDate": "3 weeks ago",
"reviewerLocation": "15 years on Airbnb",
"createdAt": "2026-01-14T21:58:39Z",
"rating": 5,
"reviewHighlight": "Stayed a few nights",
"highlightType": "LENGTH_OF_STAY",
"hostResponse": null,
"respondedDate": null,
"reviewMediaItems": [],
"reviewerId": "232038",
"reviewerName": "Marion",
"reviewerPictureUrl": "https://a0.muscache.com/im/users/232038/profile_pic/.../original.jpg",
"reviewerProfileUrl": "/users/profile/1472619951254589160",
"reviewerIsSuperhost": false,
"hostId": "50124",
"hostName": "Orestes",
"hostPictureUrl": "https://a0.muscache.com/im/pictures/user/.../original.jpg",
"hostProfileUrl": "/users/profile/1462507638639660367",
"hostIsSuperhost": false,
"isHostHighlighted": false,
"scrapedAt": "2026-02-10T00:52:54.470Z",
"sentiment": "positive",
"sentimentScore": 0.95,
"aiTopics": ["location", "host", "amenities"],
"translatedText": "I stayed at Orestes for the third or fourth time..."
}

The last four fields (sentiment, sentimentScore, aiTopics, translatedText) only appear when enableAIAnalysis is set to true. The translatedText field is only populated for non-English reviews.

Tips for best results

  • Set maxReviewsPerListing to a small number (e.g., 10) for testing before running a full scrape
  • Use sortBy: "MOST_RECENT" to get the latest reviews first — useful for monitoring
  • Use sortBy: "RATING_ASC" to find negative reviews quickly
  • Combine filterByTopic with searchQuery for laser-focused review extraction
  • Use listingIds if you already have listing IDs from our Airbnb Listing Scraper — no need to construct URLs
  • Batch multiple listings in a single run for efficiency — the actor processes them sequentially with a single start fee
  • AI analysis adds processing time — when enableAIAnalysis is enabled, each review is analyzed by an AI model. Expect roughly 1-2 minutes per 100 reviews on top of the normal scraping time. For large scrapes, consider running without AI first and enabling it for smaller, targeted batches.

Integrations

Airbnb Reviews Scraper connects with virtually any cloud service or web app through integrations on the Apify platform. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Use webhooks to trigger actions whenever a scraping run completes.

Using the Apify API

The Apify API gives you programmatic access to run this Actor, retrieve datasets, and automate scraping workflows.

Node.js:

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

Python:

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

Check out the Apify API reference for full documentation.

FAQ

How many reviews can this scraper extract per listing?

There is no limit. The scraper paginates through all reviews using Airbnb's API. A listing with 470 reviews takes about 10 seconds. Set maxReviewsPerListing to limit the count if you only need a sample.

What sorting options are available?

Four options: MOST_RECENT (newest first, the default), BEST_QUALITY (Airbnb's relevance ranking), RATING_DESC (5-star first), and RATING_ASC (1-star first). No other Airbnb review scraper on Apify Store offers sorting.

What topic filters are available?

19 AI-generated topics: Cleanliness, Location, Hospitality, Sleep, Bathroom, Kitchen, Amenities, Check-in, Communication, Decor, Outdoor space, Food & dining, Noise level, Getting around, Family friendly, Pet friendly, Work friendly, Safety, Accessibility. These are the same topic tags Airbnb shows on listing pages.

Can I search within reviews?

Yes. Use the searchQuery parameter to find reviews mentioning specific keywords (e.g., "wifi", "parking", "noise"). This uses Airbnb's built-in full-text search and is much faster than downloading all reviews and filtering locally.

How much does it cost?

You pay $3 per 1,000 reviews on the Apify Free plan. Higher Apify subscription tiers get volume discounts (down to $0.50 per 1,000 on Diamond). All platform costs are included — no surprise compute or proxy charges. With the Free plan's $5 monthly credit, you can scrape ~1,600 reviews at no cost.

What does AI analysis do?

When you enable enableAIAnalysis, each review is analyzed by an AI model that adds: sentiment (positive, negative, neutral, mixed), a sentiment score (0.0-1.0), topic labels (e.g. "location", "cleanliness", "host"), and an English translation for non-English reviews. This is included at no extra cost. Note that AI analysis adds processing time — roughly 1-2 minutes per 100 reviews — so it's best suited for smaller, targeted runs rather than bulk exports of thousands of reviews.

Is it legal to scrape Airbnb reviews?

Web scraping is legal when you extract publicly available data. Airbnb reviews are publicly visible on listing pages. However, you should only scrape data for legitimate business purposes and respect personal data regulations (GDPR, CCPA). See Apify's guide to ethical scraping.

Browse more in the Travel category on Apify Store.