Airbnb Reviews Scraper — Ratings, Comments & Host Replies avatar

Airbnb Reviews Scraper — Ratings, Comments & Host Replies

Pricing

from $4.00 / 1,000 review scrapeds

Go to Apify Store
Airbnb Reviews Scraper — Ratings, Comments & Host Replies

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

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:

FieldDescription
listingIdNumeric Airbnb room ID
listingUrlListing URL
listingTitleListing/room title
listingReviewsCountTotal public reviews on the listing
reviewIdUnique review ID
ratingStar rating 1–5
commentsFull original review text
localizedReviewAirbnb auto-translated text (when available)
languageReview language code
createdAtReview date (ISO 8601)
localizedDateHuman date ("1 week ago")
reviewerIdReviewer's user ID
reviewerNameReviewer first name
reviewerLocationReviewer geographic location (when Airbnb shows a place)
reviewerTenureReviewer account tenure when shown instead of a location (e.g. "2 months on Airbnb")
reviewerIsSuperhostWhether the reviewer is a Superhost
reviewerPictureUrlReviewer profile photo URL
reviewerProfileUrlReviewer profile URL
hostResponseHost's public reply (null if none)
hostResponseDateWhen the host replied
reviewPhotoUrlsArray of guest review photo URLs
highlightTypeAirbnb review highlight tag
channelBooking channel
scrapedAtScrape 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

FieldTypeDescription
listingUrlsarrayAirbnb listing URLs (e.g. https://www.airbnb.com/rooms/20669368)
listingIdsarrayNumeric room IDs (alternative to URLs)
maxReviewsPerListingintegerCap per listing; 0 = all reviews. Default 100
sortByenumMOST_RECENT, RATING_DESC (highest first), RATING_ASC (lowest first)
languagestringLocale for dates/translations. Default en
includeHostResponsebooleanInclude host replies. Default true
proxyConfigurationobjectDefaults 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 ApifyClient
client = 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.

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.