Extract structured data from Booking.com — Booking.com guest reviews by hotel URL or destination. Each record carries the full review text and star rating. Incremental mode returns only new and changed reviews since the last run, and owner replies plus guest photos are included when present.
Booking Reviews Scraper on Apify →
No credit card required. No commitment. Cancel anytime.
- Click sign up — pick GitHub, Google, or email; takes ~30 seconds
- Open this actor — input is pre-filled with a working example
- Click Start — export results as JSON, CSV, or Excel
Your $5 monthly platform credit is enough to run this actor right away — and again every month — scraping typically several hundred to several thousand results per run, depending on your input.
Incremental mode — Only get new or changed listings since your last run. Content hash per listing — no duplicates, no re-processing.
Change classification — Track unchanged across runs. Build audit trails of how listings evolve over time.
Compact output — Emit core fields only (AI-agent / MCP-friendly). Keeps response size small for LLM workflows.
Export anywhere — Download as JSON, CSV, or Excel. Stream via Apify API, webhooks, or integrations with Make, Zapier, Airbyte, Keboola.
Structured data — Every listing returns the same schema with consistent field naming. All fields always present — null when unavailable, never omitted.
Data pipeline automation Integrate with your ETL pipeline to collect structured listings from Booking.com on a schedule. Export to CSV, JSON, or directly to your database. Use compact mode to control output size.
Market research Monitor listings, track trends, and analyze market dynamics with structured, deduplicated data from Booking.com.
Change monitoring Run daily or hourly in incremental mode to capture only new, updated, or expired listings. Perfect for price-tracking, churn analysis, and alerting pipelines.
AI / LLM training data Structured JSON per listing is ready for RAG pipelines, embeddings, and agent workflows. Compact mode trims tokens for LLM context windows.
{
"destination": "Amsterdam",
"maxHotels": 5,
"sorter": "MOST_RELEVANT",
"maxReviewsPerHotel": 100
}| Parameter | Type | Default | Description |
|---|---|---|---|
hotelUrls |
array | [] |
Booking.com hotel page URLs (e.g. https://www.booking.com/hotel/nl/estherea.html). Each hotel's reviews are scraped. Use this OR Destination. |
destination |
string | — | City or area name (e.g. "Amsterdam"). Scrapes reviews for its top hotels. Use this OR Hotel URLs. |
maxHotels |
integer | 10 |
In Destination mode: maximum number of hotels to scrape (0 = unlimited). Ignored in Hotel-URL mode. |
sorter |
enum | "MOST_RELEVANT" |
How to order reviews before scraping. |
maxReviewsPerHotel |
integer | 0 |
Maximum reviews to scrape per hotel (0 = all). |
reviewLanguage |
string | — | Optional. Keep only reviews written in this language (ISO code, e.g. "en"). Leave empty for all languages. |
incrementalMode |
boolean | false |
Only emit reviews that are new or changed since the previous run for the same inputs. stateKey is optional — it is derived automatically from the hotels/destination, sort order, and language. |
stateKey |
string | — | Optional. Stable identifier for the tracked review universe. Leave empty to auto-generate from inputs. |
emitUnchanged |
boolean | false |
When incremental, also emit reviews already seen and unchanged. Off by default. |
compact |
boolean | false |
Core fields only (for AI-agent/MCP workflows). |
excludeEmptyFields |
boolean | false |
Drop null, empty-string, and empty-array fields from each record. Smaller payloads for AI agents and dashboards. |
appConnector |
string | — | Optional. Pick a connected app under Settings → API & Integrations to receive your results. Best-effort across MCP connectors as Apify expands its catalog. |
Every listing returns the same 28-field schema. Missing values are null — never omitted.
reviewIdhotelIdhotelNamehotelUrlhotelCountryCodereviewScoretitlepositiveTextnegativeTextreviewLanguagereviewedDateguestNameguestCountryCodeguestCountryNameguestTypeguestReviewCountroomTypecheckinDatecheckoutDatenumNightsstayStatushelpfulVotesCountownerReplyTextphotoUrlsisAnonymoussourcescrapedAtchangeType
One object per listing. Here is a real example from a production run:
{
"reviewId": "4f4cb5f2a4b8f650",
"hotelId": 10427,
"hotelName": "The Highlander Amsterdam",
"hotelUrl": "https://www.booking.com/hotel/nl/citadel.html",
"hotelCountryCode": "nl",
"reviewScore": 7,
"title": null,
"positiveText": "I have many positive things to say about the hotel, and overall we enjoyed our stay. The staff were welcoming, friendly, and always willing to help. We also really appreciated the …",
"negativeText": "There were, however, a few issues that affected our comfort:\n\n* The shower soap was very watery.\n* One of the towels was very old and torn.\n* The biggest issue was the stairs, whic…",
"reviewLanguage": "en",
"reviewedDate": "2026-07-18T06:49:44.000Z",
"guestName": "Mashael"
}Truncated — full records contain 28 fields. See Output fields for the complete schema.
Try Booking Reviews Scraper now — $5 free credit, no credit card →
Pay only for what you extract. No subscription required — Apify's free $5 credit covers thousands of results.
| Event | Price (USD) |
|---|---|
| Run start | $0.005 |
| Review | $0.001 |
See the actor on Apify for current pricing.
How do I scrape Booking.com? Use this actor on Apify to extract structured data from Booking.com. Configure your search query and filters in the input, then click Start — no coding required.
How do I get Booking.com data as JSON, CSV, or Excel? The actor writes each listing to Apify's dataset. Download as JSON, CSV, or Excel from the Console, stream via the API, or push to Make, Zapier, Airbyte, or Keboola.
Is it legal to scrape Booking.com? Web scraping of publicly available data is generally legal. This actor only accesses publicly visible information. Always check Booking.com's terms of service for your specific use case.
How much does it cost? Pay-per-event pricing — you only pay for listings extracted. Apify's free $5 credit is enough to run thousands of results before you pay anything.
How does incremental mode work? Each listing gets a content hash. On subsequent runs, only new or changed listings are emitted — saving time, compute, and storage. Expired listings can be tracked separately.
Do I need an API key or credentials? No. Just sign up for Apify, paste your input, and click Start. No credit card required.
Browse all Black Falcon Data actors →
New to Apify? Create a free account with $5 credit — no credit card required.
- Sign up — $5 platform credit included
- Open Booking Reviews Scraper and configure your input
- Click Start — export results as JSON, CSV, or Excel
Need more later? See Apify pricing.
Black Falcon Data builds production-grade web scrapers for job boards and marketplace data. Browse our full actor catalog at www.blackfalcondata.com.
Last updated: 2026 07