Airbnb Reviews Scraper avatar

Airbnb Reviews Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Airbnb Reviews Scraper

Airbnb Reviews Scraper

Scrape guest reviews from any Airbnb listing — including ratings, reviewer profiles, host responses, review media, and highlights. Collect up to 200 reviews per URL with flexible sorting and offset options. Perfect for hosts, analysts, and researchers.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Stealth mode

Stealth mode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Airbnb Reviews Scraper: Extract Guest Reviews & Ratings at Scale


What Is Airbnb.com?

Airbnb is the world's leading short-term rental marketplace, hosting millions of property listings across 220+ countries. Guest reviews are among the most valuable data points on the platform — they directly influence booking decisions, host reputation, and pricing strategies. Manually collecting this review data is impractical at scale. The Airbnb Reviews Scraper automates extraction, delivering structured review records ready for analysis.


Overview

The Airbnb.com Reviews Scraper targets individual listing pages and extracts all publicly visible guest reviews, including text content, ratings, reviewer metadata, host responses, review highlights, and attached media. It supports sorting, pagination via offset, and bulk URL runs.

Designed for:

  • Hosts & property managers monitoring guest sentiment and competitor reputation
  • Market researchers analyzing review trends across regions or property types
  • Data scientists building sentiment analysis or NLP datasets from real hospitality reviews
  • Travel platforms aggregating review content for comparison tools

Input Format

{
"urls": [
"https://www.airbnb.com/rooms/12937?source_impression_id=p3_1779704219_P30eqXRfLO5jT57C&review_page_entrypoint=show_all"
],
"sort_by": "BEST_QUALITY",
"offset": 20,
"max_items_per_url": 200,
"ignore_url_failures": true
}
FieldTypeDefaultDescription
urlsarrayAirbnb room detail page URLs to scrape. Paste one per line or use Bulk Edit. The URL should point to a listing's room page (e.g., /rooms/12937).
sort_bystringBEST_QUALITYSort order for reviews. Options: BEST_QUALITY (Relevance), MOST_RECENT (Date: New to Old), RATING_DESC (Rating: High to Low), RATING_ASC (Rating: Low to High).
offsetinteger0Number of reviews to skip before starting collection. Useful for paginating large listings or resuming interrupted runs.
max_items_per_urlinteger20Maximum reviews to collect per URL. Can be set up to 200 or more depending on listing size.
ignore_url_failuresbooleantrueIf true, failed URLs are skipped and the run continues. Recommended for bulk jobs.

Tip: Use offset + max_items_per_url together to paginate across a listing with thousands of reviews (e.g., offset 0, 200, 400…).


Output Format

Sample output

{
"collection_tag": null,
"comments": "Lovely house and so close to the subway and easy to get around. Great bathroom and fantastic shower. Orestes's was always on hand to ask questions and support us if we needed anything.<br/>After a day of exploring it was a welcoming place to come back to. Thank you.",
"id": "1443616429473678676",
"language": "en",
"created_at": "2025-06-14T19:28:08Z",
"responder": null,
"reviewee": {
"__typename": "ReviewUser",
"deleted": false,
"first_name": "Orestes",
"host_name": "Orestes",
"id": "50124",
"contextual_user_id": "1462507638639660367",
"picture_url": "https://a0.muscache.com/im/pictures/user/ebac33aa-6e5a-4279-8a92-0968ddf66ae2.jpg",
"profile_path": "/users/profile/1462507638639660367",
"is_superhost": false,
"user_profile_picture": {
"__typename": "Image",
"base_url": "https://a0.muscache.com/im/pictures/user/ebac33aa-6e5a-4279-8a92-0968ddf66ae2.jpg",
"on_press_action": {
"__typename": "NavigateToUserProfile",
"url": "/users/profile/1462507638639660367"
}
}
},
"reviewer": {
"__typename": "ReviewUser",
"deleted": false,
"first_name": "Leanne",
"host_name": "Leanne",
"id": "180231216",
"contextual_user_id": "1474048125995756281",
"picture_url": "https://a0.muscache.com/im/pictures/user/5b20353d-2f55-42d7-ba64-76e2bb44e4ac.jpg",
"profile_path": "/users/profile/1474048125995756281",
"is_superhost": false,
"user_profile_picture": {
"__typename": "Image",
"base_url": "https://a0.muscache.com/im/pictures/user/5b20353d-2f55-42d7-ba64-76e2bb44e4ac.jpg",
"on_press_action": {
"__typename": "NavigateToUserProfile",
"url": "/users/profile/1474048125995756281"
}
}
},
"review_highlight": null,
"highlight_type": "LENGTH_OF_STAY",
"localized_date": "June 2025",
"localized_responded_date": null,
"localized_reviewer_location": "8 years on Airbnb",
"localized_review": null,
"rating": 5,
"rating_accessibility_label": "Rating, 5 stars",
"recommended_number_of_lines": null,
"response": null,
"room_type_listing_title": null,
"room_type_listing_id": null,
"highlighted_review_sentence": [],
"highlight_review_mentioned": null,
"show_more_button": {
"__typename": "BasicListItem",
"title": "Show more",
"logging_event_data": {
"__typename": "LoggingEventData",
"logging_id": "pdp.reviews.readMore",
"experiments": [],
"event_data": null,
"event_data_schema_name": null,
"section": null,
"component": null
}
},
"subtitle_items": [],
"channel": null,
"review_media_items": [],
"is_host_highlighted_review": null,
"review_photo_urls": [],
"comment_v2": "Lovely house and so close to the subway and easy to get around. Great bathroom and fantastic shower. Orestes's was always on hand to ask questions and support us if we needed anything.<br/>After a day of exploring it was a welcoming place to come back to. Thank you.",
"localized_comment_v2": {
"__typename": "LocalizedReview",
"comments": "Lovely house and so close to the subway and easy to get around. Great bathroom and fantastic shower. Orestes's was always on hand to ask questions and support us if we needed anything.<br/>After a day of exploring it was a welcoming place to come back to. Thank you.",
"comments_language": "en",
"disclaimer": null,
"needs_translation": false,
"response": null,
"response_disclaimer": null
},
"localized_paid_promotion_disclaimer": null,
"from_url": "https://www.airbnb.com/rooms/12937/reviews?source_impression_id=p3_1779704219_P30eqXRfLO5jT57C&review_page_entrypoint=show_all"
}

Each review yields a record with 30+ fields:

Review Content

FieldMeaning
IDUnique Airbnb identifier for this review
CommentsRaw guest review text
Comment V2Alternative/updated version of the comment text
Localized ReviewReview text localized to the scraper's target language
Localized Comment V2Localized version of the Comment V2 field
ResponseHost's written response to the review, if any
RatingNumeric star rating given by the guest (typically 1–5)
Rating Accessibility LabelScreen-reader-friendly label for the rating (e.g., "5 out of 5 stars")
Highlighted Review SentenceA key sentence extracted or flagged as a highlight
Review HighlightCategory or tag of the highlight (e.g., cleanliness, location)
Highlight TypeType classification of the review highlight
Highlight Review MentionedWhether the highlight topic was explicitly mentioned in the text
Is Host Highlighted Reviewtrue if the host has featured this review
Show More ButtonIndicates if the full review requires expansion (truncated content)
Recommended Number Of LinesDisplay hint for UI rendering of review length
Localized Paid Promotion DisclaimerDisclaimer text if the review is associated with a promotion

Dates & Localization

FieldMeaning
Created AtISO timestamp of when the review was submitted
Localized DateHuman-readable review date in the listing's locale (e.g., "May 2025")
Localized Responded DateHuman-readable date of the host's response
Localized Reviewer LocationReviewer's displayed home location (e.g., "Paris, France")
LanguageLanguage code of the review content (e.g., en, fr, de)

People & Parties

FieldMeaning
ReviewerGuest who wrote the review — may include name, avatar, and profile metadata
RevieweeThe host or listing being reviewed
ResponderThe person (usually host) who wrote the response

Listing Context

FieldMeaning
Room Type Listing TitleTitle of the Airbnb listing the review belongs to
Room Type Listing IDAirbnb listing ID for cross-referencing
ChannelPlatform channel the booking originated from (e.g., Airbnb, partner)
Collection TagInternal tag grouping the review within a collection
Subtitle ItemsSupplementary metadata shown under the reviewer name

Media

FieldMeaning
Review Media ItemsStructured media objects attached to the review
Review Photo URLsDirect URLs to guest-uploaded review photos

How to Use

  1. Get listing URLs — Open any Airbnb listing, scroll to the reviews section, and copy the page URL (format: airbnb.com/rooms/{ID}).
  2. Configure input — Paste URLs into urls. Set sort_by to your preferred order and max_items_per_url based on how many reviews you need.
  3. Use offset for pagination — For listings with many reviews, run multiple jobs with incrementing offset values (0, 200, 400…).
  4. Run and export — Start the scraper, then download results as JSON, CSV, or Excel.

Best practices:

  • Set ignore_url_failures: true for multi-URL batch runs.
  • Use MOST_RECENT sort to track new reviews over time with a small max_items_per_url.
  • Cross-reference Room Type Listing ID when scraping multiple listings to keep data organized.

Common issues:

  • Ensure the URL is a room detail page (/rooms/), not a search results page.
  • Some listings may have geo-restricted visibility — use a proxy matching the listing's country if available.

Use Cases & Business Value

  • Reputation monitoring: Track sentiment shifts over time for your own or competitor listings
  • NLP & sentiment datasets: Build labeled training data from real-world hospitality reviews
  • Competitive benchmarking: Compare ratings, response rates, and review volume across similar properties
  • Travel platforms: Enrich aggregator listings with authentic guest feedback
  • Market research: Analyze review language patterns by property type, region, or price tier

Conclusion

The Airbnb Reviews Scraper transforms publicly available guest feedback into structured, analysis-ready data. With flexible sorting, pagination support, and rich 30+ field output per review, it covers everything from raw text to reviewer metadata and host responses. Whether you're tracking reputation, building datasets, or benchmarking competitors, this scraper delivers the review intelligence you need — efficiently and at scale.