Booking Scraper
Pricing
from $2.00 / 1,000 results
Booking Scraper
Scrape hotels from Booking.com by destination, search URL, or hotel page URL — prices, ratings, location, rooms, amenities & photos. Optional full-detail mode adds live room offers, facilities, and surroundings. 45 languages, any currency. $2 per 1,000 hotels — half the usual price, no start fee.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Chetan Jain
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Booking Scraper — Extract Booking.com Hotel Prices, Ratings & Room Data
Scrape Booking.com hotels by destination — prices, guest ratings, stars, location, and availability. No coding required.
Type a destination (or paste any Booking.com URL), click Start, and get one clean JSON record per hotel: total price for your stay, review score and count, star rating, address with coordinates, distance from center, and the direct Booking.com link.
Need everything? Turn on Scrape Full Hotel Details and every hotel also comes with its room types and live room offers (price, cancellation terms, meal plan), all facilities, photos with captions, policies, rating subscores, featured guest reviews, Q&A, and surroundings — restaurants, landmarks, transport, and airports with distances.
It scrapes Booking.com search URLs too — paste a search results URL straight from your browser and the destination, dates, party size, sort order, and filters (stars, score, price range) embedded in the URL are applied automatically. Hotel page URLs work as well and always return the fully-detailed record.
Covers every Booking.com market: 45 languages and any display currency, up to 1,000 hotels per destination, at $2 per 1,000 hotels — half the price of comparable scrapers, with no start fee.
Rated Excellent — 4.6 based on 25 reviews on Trustpilot.
Output example: Booking.com hotel data in JSON
Each hotel becomes one dataset item. Here is a search result row:
{"query": "New York","checkin": "2026-09-24","checkout": "2026-09-26","id": 5218600,"name": "Hyatt Place New York City - Times Square","link": "https://www.booking.com/hotel/us/hyatt-place-new-york-city-times-square.html","page_name": "hyatt-place-new-york-city-times-square","accommodation_type": "hotel","image": "https://cf.bstatic.com/xdata/images/hotel/square600/881864417.webp","location": {"address": "350 West 39th St","city": "New York (New York)","country_code": "us","latitude": 40.755967,"longitude": -73.993703,"distance_from_center": "1.7 km from downtown","nearest_public_transport": "42nd Street-Port Authority Bus Terminal station is within 400 meters","is_centrally_located": true},"rating": { "score": 7.8, "count": 17162, "word": "Good", "stars": 4 },"unit": { "name": null, "beds": 1, "bedrooms": 0 },"price": {"currency": "USD","total": 872.1,"charges_info": "+US$136 taxes"},"is_preferred": true,"is_sponsored": false,"is_new": false,"is_sold_out": false,"is_sustainable": false}
With Scrape Full Hotel Details on (and always for hotel page URLs), the same record grows into the full property profile:
{"description": "Hyatt Place New York City/Times Square features air-conditioned rooms...","policies": {"checkin": { "from": "3:00 PM", "until": null },"checkout": { "from": null, "until": "11:00 AM" },"pets": "YES","accepted_payments": ["American Express", "Mastercard", "Visa"]},"rating": {"score": 7.8,"count": 17163,"stars": 4,"subscores": [{ "name": "hotel_staff", "score": 8.5, "count": 16917 },{ "name": "hotel_clean", "score": 8.1, "count": 16935 }]},"facilities": [{ "id": 7, "slug": "bar", "name": "Bar" },{ "id": 6, "slug": "safe_deposit_box", "name": "Safety deposit box" }],"photos": [{ "id": 881864417, "link": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/881864417.jpg", "caption": "the entrance to Hyatt Place New York City - Times Square" }],"rooms": [{"name": "Standard King Room","size_m2": 19.51,"max_occupancy": 2,"beds": [{ "type": "extra_large_double_bed", "count": 1 }],"is_available": true,"offers": [{"price": 872.1,"currency": "USD","cancellation_type": "free_cancellation","mealplan": "breakfast","max_persons": 2}]}],"featured_reviews": [{"score": 10,"title": "Good price for the rooms but parking expensive","positive": "Great location. Rooms were cleaned and comfortable beds.","negative": "Parking was expensive","guest": { "name": "Karen", "country_code": "us" }}],"surroundings": {"landmarks": [{ "name": "Bryant Park", "distance": "900 m" }],"public_transport": [{ "name": "Penn Station", "distance": "550 m", "walk_time": "8 min" }],"airports": [{ "name": "LaGuardia Airport", "distance": "9 km", "drive_time": "14 min" }]}}
Trimmed for readability. You can download the dataset as JSON, CSV, Excel, XML, or an HTML table.
What data does the Booking Scraper extract?
| Data group | Fields |
|---|---|
| Hotel | Name, direct Booking.com link, accommodation type, image, preferred/sponsored/new/sold-out/sustainable flags |
| Location | Address, city, coordinates, distance from center, nearest public transport |
| Ratings | Guest score, review count, rating word, star class |
| Price | Total price for the stay in your currency, taxes/charges info, per-night and pre-discount prices when shown |
| Stay context | Check-in/check-out dates, adults, children ages, rooms — every price is tied to a concrete stay |
| Full details (detailed mode) | Description, fine print, brands, policies (check-in/out times, pets, children, accepted payments), all facilities, meal plans, photos with captions, languages spoken |
| Rooms & live offers (detailed mode) | Room types with size, occupancy, beds, and photos — each with live offers: price, cancellation type, meal plan, Genius flag |
| Reputation (detailed mode) | Rating subscores (staff, cleanliness, comfort, …), featured guest reviews, questions & answers |
| Surroundings (detailed mode) | Landmarks, restaurants, public transport, airports, beaches — with distances and walk/drive times |
How to scrape Booking.com hotel data
- Click Try for free.
- Type one or more destinations — cities, districts, regions, landmarks, or airports. Or paste Booking.com URLs: search results URLs are scraped as listings, hotel page URLs return one detailed record each.
- Optionally set check-in / check-out dates and party size — every price then reflects that exact stay. Add filters: stars, minimum guest score, price range, sort order.
- Click Start and wait for the run to finish.
- Open the Dataset tab to preview your data, then download it as JSON, CSV, Excel, XML, or an HTML table.
No proxies, no browser setup, no CAPTCHA solving — you type a destination and get structured data back.
Input
{"searchQueries": ["New York", "Bali"],"startUrls": ["https://www.booking.com/searchresults.html?ss=Paris&nflt=class%3D5","https://www.booking.com/hotel/us/hyatt-place-new-york-city-times-square.html"],"maxResultsPerSearch": 100,"scrapeHotelDetails": false,"checkIn": "2026-09-24","checkOut": "2026-09-26","adults": 2,"rooms": 1,"sortBy": "popularity","stars": ["4", "5"],"minReviewScore": "8","locale": "en-us","currency": "USD"}
| Field | Type | Description |
|---|---|---|
searchQueries | array | Destinations to search — city, district, region, country, landmark, or airport. Each returns up to 1,000 hotels. |
startUrls | array | Booking.com URLs — search results URLs (their embedded destination, dates, filters, and sort override the fields below) and/or hotel page URLs (always scraped with full details). |
maxResultsPerSearch | integer | Max hotels per destination or search URL (default 100, up to 1,000). Controls your cost. |
scrapeHotelDetails | boolean | Off by default. When enabled, every search result also gets the full property profile — rooms with live offers, facilities, photos, policies, reviews, surroundings. |
checkIn / checkOut | string | Stay dates in YYYY-MM-DD. Empty = tomorrow, 1 night. |
adults, childrenAges, rooms | — | Party: adults (default 2), comma-separated children ages like 5,12, rooms (default 1). |
sortBy | string | popularity (default), price, price_high_to_low, review_score, review_score_and_price, class, class_asc, class_and_price, distance, homes_first. |
priceMin / priceMax | integer | Total stay price range in your currency. |
stars | array | Star classes to include, e.g. ["4", "5"]. |
minReviewScore | string | 6 Pleasant, 7 Good, 8 Very good, 9 Superb. |
locale | string | One of 45 Booking.com languages (default en-us). |
currency | string | Display currency code — USD, EUR, GBP, INR, … |
How much does it cost to scrape Booking.com?
Scraping Booking.com costs $2 per 1,000 hotels ($0.002 per hotel) — about half of what comparable scrapers charge, with no Actor start fee.
With Scrape Full Hotel Details on (and for hotel page URLs), each hotel — live room offers, facilities, photos, reviews, surroundings — is billed at $5 per 1,000 detailed hotels in total. Every row is billed at exactly one rate — standard or detailed — and the detailed rate applies only when the full details are actually returned.
Apify gives you $5 in free credits every month, so you can scrape your first 2,500 hotels (or 1,000 fully-detailed hotels) free and test the Booking Scraper before paying anything.
FAQs
Why scrape Booking.com?
- Price monitoring & revenue management — track competitor prices for exact stays, by room type in detailed mode, in any of 45 markets and currencies.
- Travel products — feed hotel search, comparison, or recommendation apps with structured hotel data including live prices, photos, and facilities.
- Market research — map supply, star distribution, ratings, and price levels across destinations (up to 1,000 hotels per search).
- Data science — clean JSON with coordinates, scores, and prices tied to concrete stay dates, ready for analysis.
Can I scrape hotels from a Booking.com search URL?
Yes. Paste any booking.com/searchresults.html URL from your browser and the Actor reads everything embedded in it — destination, dates, party size, sort order, star/score/price filters, currency, and language — and applies it automatically. URL parameters take priority over the form fields, so the results match what you saw in your browser.
What does "Scrape Full Hotel Details" add?
Room types with live offers (price, cancellation terms, meal plan, Genius rate flag), all facilities, photo gallery with captions, check-in/check-out policies, accepted payment methods, rating subscores (staff, cleanliness, location, …), featured guest reviews, questions & answers, and surroundings (landmarks, restaurants, transport, airports with distances). Hotel page URLs pasted into startUrls always include these details.
How do I get live room prices for specific dates?
Set both check-in and check-out. Every search price then reflects that exact stay, and in detailed mode each room offer carries the live price for those dates. Without dates, Booking's default stay (tomorrow, 1 night) is used.
Can I scrape multiple destinations in one run?
Yes — add as many destinations and URLs as you like. Every row carries a query field (or input_url for hotel pages) so you can tell them apart in one dataset.
Will I be charged twice if the same hotel appears in two searches?
No. Hotels are deduplicated per run — a hotel ranking under several destinations or pasted twice is scraped and billed only once. Every row is billed at exactly one rate: $2/1,000 standard or $5/1,000 detailed. And if a full-details fetch fails, you keep the search result row and pay only the standard rate for it.
How accurate is the scraped Booking.com data?
It comes straight from live Booking.com pages — real prices for your stay, real review scores, real availability, in the same structure you see on the site.
Is it legal to scrape Booking.com?
The Actor extracts publicly available data only — hotel listings, prices, and ratings visible to any visitor. It collects no personal data behind logins. You are responsible for how you use the data; consult a lawyer if unsure about your use case.
Need guest reviews too?
Use our Booking Reviews Scraper — feed it the link values from this Actor's output and get full guest reviews with scores, review text, traveler type, and country, at $1 per 1,000 reviews.
Support
Built by developers, for developers — when you reach out, you talk to the engineers who built the Actor, not a support script. Message us anytime and we'll resolve your query within 1 working day.
Email: happy.to.help@omkar.cloud
Love It? Star It! ⭐
From one business owner to another: if this Actor saved you hours of copying hotel prices off Booking.com, please rate the Booking Scraper on Apify.
Here's why it matters: most people judge an Actor by its reviews before trying it. Your rating helps the next person — someone deciding whether this Actor really delivers clean Booking.com data — hit "Try for free" with confidence, and it helps the Actor rank higher in the Apify Store.
It takes only 1 second, and means the world to me.

