Airbnb Reviews Scraper — Ratings, Comments & Host Replies
Pricing
from $4.00 / 1,000 review scrapeds
Airbnb Reviews Scraper — Ratings, Comments & Host Replies
Scrape all reviews for any Airbnb listing — rating, comment, date, reviewer, host response, photos, and topic tags. HTTP-only, MCP-ready.
Pricing
from $4.00 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Airbnb Reviews Scraper
Scrape every review for any Airbnb listing — star rating, full comment text, review date, reviewer name + location, Superhost flag, the host's public reply, review photos, and topic tags. Give it a listing URL or a room ID and get back one clean JSON record per review. HTTP-only, fast, and built to be called by AI agents (MCP-ready).
What it does
For each Airbnb listing you provide, this actor pulls the complete public review history straight from Airbnb's own review API and returns it as structured data. No browser automation, no login, no cookies — just reliable, paginated JSON.
When to use it
- Sentiment & topic analysis — feed thousands of guest reviews into an LLM or sentiment model.
- Competitor & market research — compare review volume, ratings, and recurring complaints across listings.
- Property management QA — monitor what guests say about your portfolio and how hosts respond.
- Academic / data science — build datasets of hospitality reviews at scale.
- AI agents — a single listing URL in, structured reviews out, with predictable per-review pricing.
Not for: Airbnb search/result pages, Experiences, or host profile data. For listing prices, amenities, and host metadata use the companion Airbnb Scraper.
Output
One record per review:
| Field | Description |
|---|---|
listingId | Numeric Airbnb room ID |
listingUrl | Listing URL |
listingTitle | Listing/room title |
listingReviewsCount | Total public reviews on the listing |
reviewId | Unique review ID |
rating | Star rating 1–5 |
comments | Full original review text |
localizedReview | Airbnb auto-translated text (when available) |
language | Review language code |
createdAt | Review date (ISO 8601) |
localizedDate | Human date ("1 week ago") |
reviewerId | Reviewer's user ID |
reviewerName | Reviewer first name |
reviewerLocation | Reviewer geographic location (when Airbnb shows a place) |
reviewerTenure | Reviewer account tenure when shown instead of a location (e.g. "2 months on Airbnb") |
reviewerIsSuperhost | Whether the reviewer is a Superhost |
reviewerPictureUrl | Reviewer profile photo URL |
reviewerProfileUrl | Reviewer profile URL |
hostResponse | Host's public reply (null if none) |
hostResponseDate | When the host replied |
reviewPhotoUrls | Array of guest review photo URLs |
highlightType | Airbnb review highlight tag |
channel | Booking channel |
scrapedAt | Scrape timestamp (ISO 8601) |
Example record
{"listingId": "20669368","listingUrl": "https://www.airbnb.com/rooms/20669368","listingTitle": "Cosy Cotswold Cabin","listingReviewsCount": 308,"reviewId": "1701461540622642748","rating": 5,"comments": "Our stay here was superb. The cabin was lovely, very clean and stylish...","language": "en","createdAt": "2026-06-05T13:40:21Z","localizedDate": "1 week ago","reviewerName": "Gabriella","reviewerLocation": "London, United Kingdom","reviewerIsSuperhost": false,"hostResponse": null,"reviewPhotoUrls": [],"scrapedAt": "2026-06-18T09:00:00Z"}
Pricing
Pay-per-event:
- Actor start: $0.00005 per run
- Review scraped: $0.004 per review
A listing with 100 reviews costs about $0.40. Use Max reviews per listing to cap spend exactly — it also limits how many reviews are billed.
Input
| Field | Type | Description |
|---|---|---|
listingUrls | array | Airbnb listing URLs (e.g. https://www.airbnb.com/rooms/20669368) |
listingIds | array | Numeric room IDs (alternative to URLs) |
maxReviewsPerListing | integer | Cap per listing; 0 = all reviews. Default 100 |
sortBy | enum | MOST_RECENT, RATING_DESC (highest first), RATING_ASC (lowest first) |
language | string | Locale for dates/translations. Default en |
includeHostResponse | boolean | Include host replies. Default true |
proxyConfiguration | object | Defaults to Apify Datacenter (US) |
Example input
{"listingUrls": ["https://www.airbnb.com/rooms/20669368"],"maxReviewsPerListing": 100,"sortBy": "MOST_RECENT","includeHostResponse": true}
Usage
Apify API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('khadinakbar/airbnb-reviews-scraper').call({listingUrls: ['https://www.airbnb.com/rooms/20669368'],maxReviewsPerListing: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Apify API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("khadinakbar/airbnb-reviews-scraper").call(run_input={"listingUrls": ["https://www.airbnb.com/rooms/20669368"],"maxReviewsPerListing": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
MCP (AI agents)
Exposed in the Apify MCP server as khadinakbar/airbnb-reviews-scraper. An agent passes a listing URL and gets structured reviews back, billed per review.
FAQ
How many reviews can it get? All public reviews on a listing — listings with thousands of reviews are paginated automatically.
Do I need cookies or a login? No. It uses Airbnb's public review API. No account, no cookies.
Can I scrape multiple listings at once? Yes — pass many URLs/IDs. Reviews are de-duplicated by review ID.
What proxies does it use? Apify datacenter proxies (US) by default, which work reliably against Airbnb's public review API. You can switch to Residential in the proxy settings for very large jobs if needed.
What if a listing has no reviews? You get a clean, successful run with zero billed reviews for that listing.
Legal & compliance
This actor collects only publicly available review data. It does not access private data or bypass authentication. You are responsible for using the data in compliance with Airbnb's Terms of Service, applicable laws (including GDPR/CCPA where relevant), and for any further processing of personal data contained in reviews. Use for lawful purposes only.