Airbnb Reviews Scraper avatar

Airbnb Reviews Scraper

Pricing

from $1.40 / 1,000 reviews

Go to Apify Store
Airbnb Reviews Scraper

Airbnb Reviews Scraper

[$2/1K reviews] Scrape Airbnb reviews for any listing: star rating, full text, date, reviewer name and location, host reply, photos, listing name and overall rating. Newest, lowest or highest first, up to 2,000 reviews per listing, hundreds of listings per run. No fee per run, no browser, no login.

Pricing

from $1.40 / 1,000 reviews

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Guest reviews of any Airbnb listing, one row per review: star rating, full text, date, reviewer name and location, the host's reply, photos, and the listing's name and overall rating on every row. Paste listing URLs, choose newest, lowest or highest first, press Start. $2 per 1,000 reviews, no fee per run, no fee per listing, error rows free.

What is Airbnb Reviews Scraper?

Airbnb Reviews Scraper reads the review feed a listing page loads — the same reviews, in the same order, through the same data endpoint the page itself uses — and writes them as a flat table you can download as JSON, CSV or Excel or pull through the API. No browser, no login, nothing to configure. One listing or five hundred in a run; every listing is billed only for the reviews it returns.

It is built for people who need reviews in bulk rather than one at a time: property managers watching their portfolio, hosts benchmarking neighbours, investors sizing a market, and anyone training or evaluating a model on what guests actually wrote.

What data can Airbnb Reviews Scraper extract?

FieldWhat it holds
listingId, listingUrlThe listing the review belongs to
listingName, listingRating, listingReviewCount, listingCity, hostNameListing context on every row (name, rating and city need the listing page — one extra request, on by default)
reviewIdStable review id for deduplication
ratingStars, 1–5
date, createdAtThe date as Airbnb shows it ("April 2026", "4 days ago") and the ISO timestamp
text, languageFull review text in its original language
reviewerName, reviewerLocation, reviewerPhotoReviewer as shown on the page (first name, city)
hostResponse, hostRespondedAtThe host's public reply, if any
roomTypeTitleWhich room the guest stayed in, for listings with several
photosPhotos attached to the review
highlightThe sentence Airbnb highlights from the review
scrapedAtWhen the row was taken

Every row carries type: "review". A listing that cannot be read — wrong URL, removed listing, no reviews yet — produces one type: "error" row that says what happened; error rows cost nothing.

How much does it cost to scrape Airbnb reviews?

One event, one price: $0.002 per review on the free plan, down to $0.0012 on the highest plans. No fee per run, no fee per listing, no fee per page, no proxy charge — Airbnb is read over plain HTTP through Apify's datacenter proxies, which are included; if Airbnb pushes back, the run switches itself to residential addresses and carries on.

PlanPrice per reviewReviews per $1
Free$0.002500
Bronze$0.0018555
Silver$0.0016625
Gold$0.0014714
Platinum, Diamond$0.0012833

The $5 of free monthly credit on Apify's free plan buys 2,500 reviews. A listing with 400 reviews costs $0.80 to export in full.

Bulk export: what 50,000 reviews actually cost

This Actor is built for volume — put hundreds of listing URLs into one run, or call it from the API on a schedule. Because there is no fee per run and no fee per listing, the bill is the number of reviews you keep and nothing else.

JobThis ActorMost-used Actor in this category
50,000 reviews across 100 runs$100$250

Checked on the Apify Store on 23 September 2026 against the Actor with the most monthly users for "airbnb reviews"; its per-run fee is counted in, as ours would be if we charged one. Some Actors here ask less per row — this table compares against the one buyers actually use most.

How to scrape Airbnb reviews

  1. Open the listing on Airbnb and copy the address from the browser: https://www.airbnb.com/rooms/1369235628901673242. Anything after ? is ignored.
  2. Paste one or more URLs into Airbnb listing URLs. The numeric id alone works too.
  3. Set Reviews per listing (24 is one page; 2,000 is the ceiling per listing per run) and the order — newest first for monitoring, lowest ratings first for complaints.
  4. Press Start. Download the table, or read it through the API.

⬇️ Input

The newest 24 reviews of two Bali villas (the form's default — runs in about 30 seconds)

{
"startUrls": [
"https://www.airbnb.com/rooms/1369235628901673242",
"https://www.airbnb.com/rooms/1444770032031301233"
],
"maxReviewsPerListing": 24,
"sortBy": "MOST_RECENT"
}

Every complaint about a listing: lowest ratings first, all of them

{
"startUrls": ["https://www.airbnb.com/rooms/1369235628901673242"],
"maxReviewsPerListing": 2000,
"sortBy": "LOWEST_RATED"
}

Fastest bulk run: reviews only, no listing page

{
"startUrls": ["1369235628901673242", "1444770032031301233", "1737705214482888416"],
"maxReviewsPerListing": 500,
"includeListingInfo": false
}

⬆️ Output

{
"type": "review",
"listingId": "1369235628901673242",
"listingUrl": "https://www.airbnb.com/rooms/1369235628901673242",
"listingName": "Private pool villa 5 min from Seminyak beach",
"listingRating": 4.92,
"listingReviewCount": 413,
"listingCity": "Kuta Utara, Bali, Indonesia",
"hostName": "Made",
"reviewId": "1517303182213421512",
"rating": 5,
"date": "4 days ago",
"createdAt": "2026-09-19T03:12:44Z",
"text": "We had an amazing stay! The accommodation was beautiful, very clean and the staff went out of their way…",
"language": "en",
"reviewerName": "Emma",
"reviewerLocation": "Melbourne, Australia",
"hostResponse": "Thank you Emma, it was a pleasure hosting you.",
"hostRespondedAt": "3 days ago",
"roomTypeTitle": null,
"photos": [],
"highlight": null,
"scrapedAt": "2026-09-23T05:40:12.000Z"
}

Export as JSON, CSV, Excel, XML or RSS from the Dataset tab, or fetch the same rows with one API call.

Use cases for Airbnb review data

Property management

Pull the newest reviews across the whole portfolio every morning; anything under 4 stars goes to the operations channel before the next guest checks in.

Competitive benchmarking

Export the reviews of the twenty listings around yours, tag by topic (cleanliness, Wi-Fi, noise, host communication) and see exactly where you lose bookings.

Market research and investment

Review volume per month is the closest public proxy for occupancy. Track it for a neighbourhood and you have a demand curve nobody sells.

Guest sentiment and AI

Clean review text with a numeric rating attached, in the original language — ready for sentiment models, RAG over "what guests say about X", and chat assistants for hosts.

Integrations and Airbnb reviews API

Run the Actor from your own code with the Apify API or the Python and JavaScript clients, from n8n, Make and Zapier through the Apify nodes, straight into Google Sheets, or on a schedule with a webhook when the run finishes. The dataset endpoint returns JSON, CSV or Excel:

https://api.apify.com/v2/acts/lergassy~airbnb-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN

Use it from Claude, Cursor or any MCP agent

Every Apify Actor is available as a tool through the Apify MCP server. Add the server and an agent can ask for "the lowest-rated reviews of this listing" and get the rows back.

🤖 For AI Agents & LLM Apps

  • One row type, flat fields; only photos is an array.
  • rating is an integer 1–5, createdAt is ISO, language is a two-letter code.
  • listingReviewCount on every row tells the agent how much of the listing it has seen.
  • Error rows carry type: "error" with a plain-English error string and cost nothing.

Troubleshooting

  • Error row "Not a listing URL" — only airbnb.com/rooms/<id> pages are accepted; search and wishlist pages are not listings.
  • Error row "no reviews for this listing" — brand-new listings and removed listings have none. Open the URL in a browser to check.
  • Listing name empty but reviews present — Airbnb refused the listing page for that request; reviews were still fetched. Run again, or turn Add listing name… off for bulk jobs where it does not matter.
  • HTTP 429 in the log — Airbnb's rate limiter; the run switches to residential proxy by itself and continues.

❓ FAQ

The Actor reads only what any visitor sees on a public listing page, without logging in, and shows reviewer names exactly as Airbnb publishes them (first name and city). How you store and use the data is subject to the laws of your country and Airbnb's terms; consult a lawyer for commercial projects involving personal data.

Does Airbnb have a public reviews API?

No. Airbnb's API is only for approved software partners and does not expose reviews of arbitrary listings. This Actor is the practical alternative.

How many reviews can I get per listing?

Up to 2,000 per listing per run — enough for all but a handful of listings on the platform. For those, run twice with different orders (newest and lowest rated).

Do I need proxies?

No. Apify datacenter proxies are included; residential is a fallback the run applies itself when Airbnb pushes back.

Can I run it on a schedule?

Yes — save a Task with your listing list, schedule it daily, and deduplicate by reviewId to keep only new rows.

What happens on an error?

You get an error row that explains the problem in plain words. Error rows are never billed.

Your feedback

If a field is missing or a listing does not parse, open an issue on the Actor page with the URL — it is usually fixed within a day. If the Actor saved you time, a review on the Store helps other buyers find it.

You might also like

ActorWhat it does
Airbnb ScraperListings for any place and dates with prices, ratings, amenities, calendar and host
Airbnb Availability CalendarDay-by-day availability and minimum stay for any listing
Booking Reviews ScraperGuest reviews from Booking.com property pages
Agoda Reviews ScraperHotel reviews from Agoda, including the Booking.com reviews shown on Agoda
Google Hotels ScraperHotel prices across booking sites from Google Hotels