⚡ Airbnb Reviews Scraper avatar

⚡ Airbnb Reviews Scraper

Pricing

from $2.00 / 1,000 reviews

Go to Apify Store
⚡ Airbnb Reviews Scraper

⚡ Airbnb Reviews Scraper

Scrape every guest review from any Airbnb listing: ratings, comments, dates, reviewer profiles, host replies, and review photos. Paste listing URLs or IDs, pick a sort order, and export clean records as a clean JSON — no login or API key needed.

Pricing

from $2.00 / 1,000 reviews

Rating

0.0

(0)

Developer

Veronica

Veronica

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Airbnb Reviews Scraper

Airbnb Reviews Scraper extracts every guest review from any Airbnb listing — star rating, review text (original and translated), dates, reviewer profile, the host's public reply, and review photos — and downloads them as JSON, CSV, Excel, or XML. It runs in the cloud, needs no coding, and no login or API key.

Paste one or more listing links (or just their IDs), choose how to sort and how many reviews you want, click Start, and watch the dataset fill with one clean row per review.

What data does it extract?

Each result is one guest review:

DataDetails
Ratingthe star rating the guest gave (1–5)
📝 Review textthe original comments, plus localizedComments translated into your chosen language
📅 Datesexact createdAt timestamp and the human-readable localizedDate shown on Airbnb
👤 Reviewernested reviewer object: first name, ID, profile picture, and profile URL
📍 Locationthe reviewer's location/label as shown on Airbnb
💬 Host replythe host's public response, when they replied
🖼️ PhotosURLs of any photos the guest attached to the review
🏷️ Highlightthe short highlight label Airbnb attaches to some reviews

How do I scrape Airbnb reviews?

  1. Add listings — paste Airbnb listing links (e.g. https://www.airbnb.com/rooms/44370718) or just the numeric IDs into Listing URLs or IDs. Add as many as you like.
  2. Pick a sort orderMost recent, Most relevant, Highest rated, or Lowest rated.
  3. Set how many — choose Maximum reviews per listing, or use 0 to fetch them all.
  4. Choose a language (optional) — controls the translated localizedComments text.
  5. Click Start — then download the results from the Storage tab in any format, or send them anywhere with integrations.

Input example

{
"listingUrls": [
"https://www.airbnb.com/rooms/44370718",
"20669368"
],
"sortBy": "MOST_RECENT",
"maxReviews": 100,
"language": "en",
"currency": "USD"
}

Output example

{
"listingId": "44370718",
"listingUrl": "https://www.airbnb.com/rooms/44370718",
"id": "1645617261245597089",
"rating": 5,
"createdAt": "2026-03-20T12:27:44Z",
"localizedDate": "March 2026",
"comments": "Amazing stay! The view over Istanbul is unreal and the host was incredibly helpful.",
"localizedComments": "Amazing stay! The view over Istanbul is unreal and the host was incredibly helpful.",
"language": "en",
"reviewHighlight": "Stayed a few nights",
"reviewerLocation": "Baku, Azerbaijan",
"reviewer": {
"id": "205076788",
"firstName": "Nemat",
"pictureUrl": "https://a0.muscache.com/im/pictures/user/User/original/9bcec093-….jpeg",
"profilePath": "/users/profile/1475437034935008860",
"profileUrl": "https://www.airbnb.com/users/profile/1475437034935008860"
},
"response": "Thank you so much for the kind words — you're welcome back any time!",
"respondedDate": "May 2026",
"photos": []
}

Input reference

FieldTypeDescription
listingUrlsarrayAirbnb listing links or numeric IDs, one per entry.
startUrlsarrayOptional. The same listing links provided in bulk or from a file / Google Sheet.
sortBystringMOST_RECENT, BEST_QUALITY (most relevant), RATING_DESC (highest rated), or RATING_ASC (lowest rated). Default MOST_RECENT.
maxReviewsintegerReviews to fetch per listing. 0 = all available. Default 100.
languagestring2-letter language code for the API and the translated localizedComments. Default en.
currencystringCurrency code sent with the request. No effect on review content. Default USD.

Field reference

FieldDescription
listingId / listingUrlThe listing each review belongs to.
idUnique review ID.
ratingStar rating, 1–5.
createdAtISO 8601 timestamp of when the review was posted.
localizedDateHuman-readable date as shown on Airbnb.
commentsOriginal review text, in the language the guest wrote it.
localizedCommentsReview text translated into your chosen language (null if no translation).
languageLanguage the review was originally written in.
reviewHighlightShort highlight label Airbnb attaches to the review, when present.
reviewerLocationReviewer's location/label as shown on Airbnb.
reviewerNested object: id, firstName, pictureUrl, profilePath, profileUrl.
responseHost's public reply (null when the host did not respond).
respondedDateHuman-readable date of the host's reply, when present.
photosURLs of photos attached to the review.

Why scrape Airbnb reviews?

  • Reputation monitoring — track what guests say about your own or competing listings over time.
  • Market & location research — mine sentiment across many properties in an area.
  • Host benchmarking — compare ratings, response rates, and common praise or complaints.
  • Analysis & dashboards — feed clean review data into spreadsheets, BI tools, or your own models.

Pricing

This Actor uses pay-per-event pricing: a small fee when a run starts, plus a fee per review delivered. You only pay for the reviews you actually receive — set Maximum reviews per listing to control your spend.