Booking.com Scraper — Hotels, Prices, Reviews & Host Data
Pricing
from $0.70 / 1,000 properties
Booking.com Scraper — Hotels, Prices, Reviews & Host Data
Extract Booking.com hotel listings, live room prices & availability, guest reviews and ratings, full property details, and professional host contacts. Scrape by destination or URL with automatic pagination — no code, no login. Export to JSON, CSV, Excel or via API.
Pricing
from $0.70 / 1,000 properties
Rating
0.0
(0)
Developer
Raven
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
5
Monthly active users
18 days ago
Last modified
Categories
Share
Scrape Booking.com hotel data by destination or URL: live room prices, availability, guest reviews, ratings, full property details and professional host contacts. Point the scraper at a city (like Amsterdam) or paste Booking.com URLs, and export clean, structured data to JSON, CSV, Excel, XML or via API — for rate shopping, revenue management, market research or B2B lead lists.
One actor replaces a whole stack of single-purpose tools: a Booking hotels scraper, a Booking price scraper (room-level, with a price calendar up to 365 days ahead), a Booking reviews scraper, and a host / owner contact scraper.
✅ No login, no cookies, no API key, no browser setup. The scraper handles Booking.com's anti-bot protection (AWS WAF) and pagination automatically.
What does Booking.com Scraper do?
It extracts public data from Booking.com search results and hotel pages and returns it as clean dataset records (each tagged with dataType):
- 🏨 Hotel search results — every property for a destination: name, price, star rating, review score, address, GPS coordinates, photo, host type and sold-out status.
- 💶 Prices & availability — room-level offers by room type: current price, original (pre-discount) price, occupancy, meal plan, free-cancellation deadline and rooms left at this price (scarcity signal) for your dates — plus a multi-day price calendar (up to a full year ahead).
- ⭐ Guest reviews — every review with score, title, positive/negative text, reviewer name & country, stay dates, room type and the owner's reply — plus aggregate category scores (staff, cleanliness, comfort, value, location, Wi-Fi).
- 📋 Hotel details — description, stars, rating, address, coordinates, facilities & amenities, photos, check-in/out times, pet & child policies, languages spoken, room types, Q&A, chain & brand, sustainability — plus hotel surroundings ("what's nearby"): landmarks, top attractions, restaurants & cafes, public transport, closest airports and beaches with walking/driving distances.
- 🧑💼 Host / owner contacts — the legally published professional-host block: company name, registration number, email, phone and address. Ready for B2B outreach to property managers.
Why use this Booking.com Scraper?
- All Booking.com data in one actor — hotels, prices, reviews, details and host contacts in a single run, instead of juggling three or four separate scrapers.
- HTTP-only, no browser — it talks to Booking.com's pages and internal GraphQL API directly. Faster and cheaper than browser-based scrapers, with no JavaScript-rendering failures.
- Anti-bot handled for you — Booking.com gates non-browser clients behind an AWS WAF challenge; this actor solves it automatically. No tokens, no CAPTCHA solving, nothing to configure.
- Real pagination — search results and reviews are fetched through Booking's GraphQL API page after page, up to your limits (the plain
offset=URL trick other scrapers rely on silently returns page 1). - Sequential crawl — scrape a search, then auto-drill into each hotel for its details / reviews / prices / host contact, returned as one tidy record per hotel with nested data.
- No coding required — run it from the Apify Console, schedule it, or call it via API and MCP.
- Clean, structured output — flat fields ready for spreadsheets, BI tools and databases; export to JSON, CSV, Excel, XML, HTML.
Who is it for?
- Revenue managers & hoteliers — rate shopping: monitor competitor room prices, discounts and availability.
- Travel agencies & OTAs — power apps and price-comparison sites with fresh accommodation data.
- Market researchers & analysts — build datasets of hotel inventory, ratings and reviews by city or country.
- Data scientists — collect review text and category scores for sentiment analysis and NLP models.
- Sales & lead-gen teams — gather professional host / property-manager contacts (email, phone, company).
- Developers — a practical Booking.com API alternative: no partner agreement, no scraping infrastructure to maintain.
What data can you extract from Booking.com?
Data type (dataType) | Key fields you get |
|---|---|
| property (search result) | name, url, stars, rating, ratingLabel, reviewsCount, price, originalPrice, currency, taxesAndCharges, roomName, beds/bedrooms/bathrooms, address, city, countryCode, latitude, longitude, distanceFromCenter, hostType, image, isSustainable, isSoldOut |
| price (room offer) | hotelName, checkIn, checkOut, roomId, roomName, occupancy, mealPlanId, price, originalPrice, currency, roomsLeft, freeCancellationUntil |
| review | score, title, positiveText, negativeText, language, reviewDate, userName, userCountry, guestType, customerType, roomType, numNights, checkInDate, checkOutDate, stayStatus, ownerReply, photos, helpfulVotesCount |
| reviewScores | totalReviews, scores[] (name, label, value, lowerBound, higherBound) |
| hotel (details) | description, stars, rating, address, latitude, longitude, checkInFrom, checkOutUntil, petsAllowed, child & crib policy, languagesSpoken, highlights, popularFacilities, facilities, amenities, meals, finePrints, roomTypes, questionsAnswers, photos, chainId, brandName, sustainability & certifications, host profile, surroundings (whatsNearby, topAttractions, restaurants, cafesBars, publicTransport, closestAirports, beaches, naturalBeauty — each POI with distance, walking/driving time and GPS) |
| host / hostContact | companyName, personName, registrationNumber, tradeRegisterName, email, phone, addressLine1/2, city, postalCode, countryCode, subjectType |
How much does it cost to scrape Booking.com?
You pay per result — platform usage, proxies and compute are included. Prices per 1,000 results (plus a negligible actor-start fee of $0.00005 per run); higher Apify plans get a discount, up to the Gold rate:
Result (dataType) | Price / 1,000 | Gold discount |
|---|---|---|
| Property (search result) | $1.50 | $0.70 |
| Room price offer | $3.00 | $1.20 |
| Guest review | $2.00 | $0.40 |
| Review category scores (per hotel) | $3.00 | $1.00 |
| Hotel details | $4.00 | $2.00 |
| Host / owner contact | $5.00 | $2.50 |
Worked examples:
- List 1,000 hotels for a city → $1.50 (from $0.70 on paid plans)
- 1,000 guest reviews → $2.00 (from $0.40 on paid plans)
- 100 hotels with full details and host contacts → $0.90 (from $0.45)
- 1,000 room-price offers for rate monitoring → $3.00 (from $1.20)
Apify's free plan includes $5 of usage every month — enough to list roughly 3,300 hotels per month for free. Start free and scale as you go.
How to scrape Booking.com hotels (step by step)
Option A — by destination (no URLs needed):
- Click Try for free / Start.
- Leave What to scrape on Search results (or pick another mode).
- In Destinations, type one or more places, e.g.
Amsterdam,Paris, France. - (Optional) set check-in/check-out dates, guests, currency, language, star/price filters and Max properties.
- (Optional) tick Also scrape for each result (Hotel details, Prices, Reviews, Host) to drill into every hotel.
- Click Save & Start, then download your data as JSON, CSV or Excel.
Option B — by URL (specific hotels or a filtered search):
- Open the search or hotel page you want on booking.com and copy its URL.
- Paste it into Booking.com URLs (
startUrls). - Pick the mode — hotel URLs feed Reviews / Hotel details / Host / Prices; search URLs feed Search results / Prices.
- Click Save & Start.
How to scrape Booking.com hotel prices
Set What to scrape → Prices, enter destinations (or hotel/search URLs) and your dates. Each room offer is returned as its own record with room name, occupancy, meal plan, current and original price, the free-cancellation deadline and roomsLeft — how many rooms remain at that price when Booking shows its "We have X left" scarcity message. For a rate calendar, set Price calendar — days ahead (daysAhead, up to 365) to scrape one-night prices for consecutive dates — a full-year price calendar in one run.
How to scrape Booking.com reviews
Set What to scrape → Reviews and paste hotel URLs (or a destination, whose top hotels are used). You get every guest review with text, score, reviewer details, stay info and the owner's reply, plus one aggregate category-scores record per hotel. Control volume with Max reviews per hotel and order with Sort reviews by (newest, oldest, highest/lowest score).
How to scrape hotel surroundings ("what's nearby")
Whenever hotel details are scraped (Hotel details / All modes, or the Hotel details enrich option), the actor also collects the property's surroundings block: what's nearby, top attractions, restaurants & cafes, public transport stops, closest airports, beaches and natural-beauty spots — each with the localized distance, walking/driving distance and time, and GPS coordinates. Turn it off with Include surroundings (includeSurroundings: false) to save one request per hotel.
How to extract Booking.com host / owner contacts
Set What to scrape → Host / owner contact info and paste hotel URLs. For professional hosts, Booking.com is legally required (EU trader-transparency rules) to publish a business contact block — company name, registration number, email, phone and address — which the actor returns as one clean record per property. Ideal for property-manager and rental-agency lead lists.
Scrape modes
| Mode | What you get | Input |
|---|---|---|
search | List of properties for a destination | Destinations or Booking search URLs |
prices | Room-level offers (+ price calendar) | Destinations or Booking search URLs |
reviews | Every guest review + category scores | Hotel URLs or a destination |
hotelDetails | Full property profile | Hotel URLs |
hostInfo | Host / owner contact block | Hotel URLs |
all | Details + host + reviews per hotel (nested) | Hotel URLs |
Sequential crawl (search → details / reviews / prices / host)
In Search mode, use Also scrape for each result (enrichWith) to drill into every property automatically. The drilled-down data is returned nested inside one record per hotel — prices and reviews arrays, a reviewScores array and a hostContact object alongside the detail fields — so you get one row per property instead of scattered records. The all mode does the same starting from hotel URLs.
Input example
{"scrapeType": "search","searchQueries": ["Amsterdam"],"enrichWith": ["hotelDetails", "reviews"],"checkIn": "2026-07-15","checkOut": "2026-07-16","adults": 2,"rooms": 1,"currency": "USD","language": "en-us","maxItems": 100,"maxReviews": 50,"sortBy": "review_score_and_price"}
Other useful parameters: startUrls (hotel or search URLs), starRating, minScore, minPrice / maxPrice, sortReviewsBy, children + childrenAges, daysAhead (price calendar), includeSurroundings (what's-nearby POIs with hotel details, on by default), maxConcurrency, proxyConfiguration (Apify residential by default; your own HTTP or SOCKS5 proxies are supported).
Output example
{"dataType": "property","name": "Mercure Amsterdam Sloterdijk Station","url": "https://www.booking.com/hotel/nl/mercure-amsterdam-sloterdijk-station-opening-july-2015.en-us.html","stars": 4, "rating": 8.6, "ratingLabel": "Excellent", "reviewsCount": 4177,"price": 126.21, "priceRounded": "$126", "currency": "USD","city": "Amsterdam", "countryCode": "nl", "latitude": 52.387911, "longitude": 4.834296,"distanceFromCenter": "4.3 km from downtown","hostType": "PROFESSIONAL","isSoldOut": false,"image": "https://cf.bstatic.com/xdata/images/hotel/square600/873579185.webp"}
In the sequential / all modes one hotel record also carries nested prices[], reviews[], reviewScores[] and hostContact{}.
Understanding key fields
dataType— tags every record (property,price,review,reviewScores,hotel,host) so you can filter mixed exports in one click.pricevsoriginalPrice— the current (possibly discounted) price vs the strike-through price before the discount; the gap is the active promotion.isSoldOut— the property has no availability for your dates; useful as a demand/occupancy signal for revenue management.roomsLeft— the number from Booking's "We have X left at this price" urgency message on a room offer; present only when Booking shows the scarcity banner. Combined withisSoldOut, a practical occupancy proxy.surroundings— nested per-category POI lists on hotel-detail records (whatsNearby,topAttractions,restaurants,cafesBars,publicTransport,closestAirports,beaches,naturalBeauty); each POI carriesdistance(localized),distanceKm, walking/driving distance and time, and GPS coordinates.freeCancellationUntil— the exact timestamp until which a room offer is refundable.reviewScores.lowerBound/higherBound— Booking's benchmark range for that category in the destination, so you can see how a hotel compares to its market.hostType— whether the property is run by aPROFESSIONALtrader (these have legal contact blocks) or a private host.- Empty fields are omitted — Booking.com doesn't publish every field for every property (e.g. host contacts exist only for professional traders).
Tips for best results
- Keep the default residential proxies for the best reliability.
- Booking.com search returns at most ~1,000 properties per query — split big cities by district or star rating (
starRating,minPrice/maxPricefilters) to cover the full inventory. - Set
checkIn/checkOutto get realistic prices and availability; without dates Booking shows default rates. - For price monitoring, start with a short
daysAheadwindow to validate your setup, then scale to 365. - Use
maxItemsandmaxReviewsto cap costs on large runs.
Integrations & export
Download results as JSON, CSV, Excel, XML or HTML, or fetch them through the Apify API. Connect the scraper to Google Sheets, Make, Zapier, n8n, Slack, Discord, or your own backend with webhooks. Use Schedules to keep data fresh — e.g. a daily price-monitoring run that appends to a Google Sheet.
Use with AI agents (MCP)
The scraper works as a tool for AI assistants via the Apify MCP server — let Claude, Cursor or any LLM agent pull Booking.com data on demand:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=pro100chok/booking-all-in-one-scraper"
Then just ask your assistant:
"Scrape the top 20 hotels in Barcelona for next weekend with their prices and reviews from Booking.com."
How do I monitor Booking.com hotel prices over time?
Use Prices mode with your dates — or set Price calendar — days ahead for a multi-night calendar up to a full year — then schedule the run daily or hourly from the Apify Console. Pipe the output to Google Sheets or a database via integration/webhook to build a price-history dashboard, track competitor discounts and set up rate-shopping alerts.
Does Booking.com block scrapers?
Booking.com serves an AWS WAF anti-bot challenge to non-browser clients and hides pagination behind its internal GraphQL API. This actor handles both automatically — it solves the WAF challenge in about a second, re-solves it whenever it expires, and paginates through the GraphQL API — so you never deal with tokens, CAPTCHAs or empty page-2 results.
What are the best alternatives to the official Booking.com API?
Booking.com's official API is partner-only: you need a commercial agreement, and it exposes booking functionality rather than open data access. For public hotel, price and review data, a scraper like this one is the practical alternative — no partner contract, no rate-limit negotiations, pay only per result.
Is it legal to scrape Booking.com?
This scraper collects only publicly available information — the same data any visitor sees without logging in. Web scraping of public data is broadly legal, but you are responsible for how you use it: avoid collecting personal data without a lawful basis, respect GDPR/CCPA and Booking.com's Terms, and consult a lawyer for your specific use case. Host contact details are business information that Booking.com publishes under EU trader-transparency rules, i.e. data professional hosts are legally required to disclose.
FAQ
Do I need a Booking.com account, cookies, or a token? No. The scraper handles access and anti-bot protection automatically — no login, no API key, no setup.
Does it support pagination? Yes — search results and reviews are paginated through Booking's GraphQL API up to your maxItems / maxReviews.
Can I scrape all hotels in a city? Yes — enter the city in Destinations and raise Max properties. For markets with more than ~1,000 listings, split the search with star/price filters.
Can I scrape a specific hotel by name? Search the name as a destination, or paste the hotel's Booking.com URL into Booking.com URLs.
Can I get hotels, prices, reviews and host info together? Yes — use Search mode with Also scrape for each result, or all mode with hotel URLs. Everything for a hotel is nested in one record.
How many reviews can I scrape per hotel? All of them — set Max reviews per hotel as high as you need; the actor pages through the full review list.
Can I scrape reviews in a specific language or order? Use Sort reviews by (newest, oldest, best, worst); each review record includes its own language field.
Which export formats are supported? JSON, JSONL, CSV, Excel, XML and HTML, plus the Apify API and webhooks.
Which currencies and languages are supported? Any that Booking.com supports — set currency (USD, EUR, GBP, …) and language (en-us, en-gb, de, fr, es, it, ru, …).
Why are some fields empty? Booking.com doesn't publish every field for every property — e.g. host contacts exist only for professional traders, and star ratings are missing on some apartments. Empty values are omitted rather than returned as null.
Does it include hotel surroundings / "what's nearby"? Yes — hotel-detail records include the surroundings block: landmarks, top attractions, restaurants & cafes, public transport, closest airports, beaches and natural beauty, each with distances, walking/driving times and GPS coordinates. Disable with includeSurroundings: false.
Can I see how many rooms are left? Yes — room-price offers include roomsLeft whenever Booking shows its "We have X left at this price" message, and properties carry isSoldOut.
Can I use my own proxies? Yes — add HTTP or SOCKS5 proxy URLs in the proxy configuration. Apify residential proxies are the default and work out of the box.
How fast is it? It's HTTP-only (no browser), so runs are quick and memory-light; hotel-level modes process several hotels in parallel (maxConcurrency).
Related scrapers
Combine Booking.com data with other sources in one pipeline:
- TripAdvisor Hotels & Reviews Scraper — cross-reference ratings and reviews from TripAdvisor.
- Google Maps Scraper — enrich hotels with Google reviews, photos and contact details.
- Apartments.com Scraper — rentals, prices and reviews from Apartments.com.
- Website Contact Scraper — turn hotel websites into emails, phones and socials for outreach.
Support & feedback
The actor is actively maintained. Found a bug, missing a field, or need a new filter? Open an issue from the actor's Issues tab — most requests are handled quickly.
Changelog
- July 2026 — added hotel surroundings ("what's nearby": landmarks, attractions, restaurants, transport, airports, beaches with walking/driving distances) to hotel details, and
roomsLeft(rooms remaining at a price) to room offers. - June 2026 — initial public release: 6 scrape modes (search, prices, reviews, hotel details, host contacts, all), sequential crawl with nested one-record-per-hotel output, 365-day price calendar, automatic AWS WAF handling, custom HTTP/SOCKS5 proxy support.
Tags
booking · booking.com · booking-scraper · booking-com-scraper · booking-api · booking-com-api-alternative · hotel-scraper · hotels · hotel-data · hotel-prices · room-prices · price-scraper · price-calendar · price-monitoring · rate-shopping · revenue-management · availability · rooms-left · sold-out-detection · booking-reviews · reviews-scraper · hotel-reviews · ratings · review-scores · hotel-surroundings · whats-nearby · landmarks · host-scraper · hotel-contacts · property-manager-leads · lead-generation · b2b-leads · travel · travel-data · hospitality · accommodation · ota · web-scraping · data-extraction · crawler · api · no-code · mcp · ai-agents · json · csv · excel