Booking.com Hotels Scraper - Worldwide Search & Categories
Pricing
from $2.20 / 1,000 results
Booking.com Hotels Scraper - Worldwide Search & Categories
Scrape Booking.com hotel search results for any destination worldwide. Extract names, prices, ratings, locations, room types, and listing links. Filter by property category or leave empty for all types.
Pricing
from $2.20 / 1,000 results
Rating
0.0
(0)
Developer
kane liu
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Booking.com Hotels Scraper
Scrape Booking.com search results for any destination worldwide — prices, ratings, locations, and listing links in structured JSON. Filter by property category, stars, review score, and free cancellation. No Booking partner API required.
Architecture: this Apify Actor is a thin client. Scraping runs on the booking-com Cloud Run worker (Patchright headed Chrome + Xvfb) over HTTPS + API key. Input/output fields and Store pricing are unchanged.
Worker URL is config, not code: the Actor reads
WORKER_BASE_URLfrom Actor environment variables (plus optional per-runworkerBaseUrl). If you migrate the worker to a new host, updateWORKER_BASE_URL(andWORKER_AUTHif the API key changes) in Apify Console — no Actor code change required. SetWORKER_PROVIDES_PROXY=1when the worker supplies its ownPROXY_URLinstead of Apify RESIDENTIAL.
What does this Actor do?
- Search Booking.com stays for cities, regions, countries, or landmarks worldwide
- Resolve destinations via Booking autocomplete (
dest_id/dest_type) when possible; falls back to free-textss=search if autocomplete is unavailable - Filter by property types (empty = all), stars, min review score, and free cancellation
- Support children / child ages in the search URL
- Sort by popularity, price, reviews, stars, or distance
- Extract hotelId, name, price, total price (when shown), rating, review count, location, room type, and image
- Paginate up to your
maxResultslimit via a Cloud Run scrape worker (headed Chrome + sticky Apify RESIDENTIAL proxies; never unproxied)
Output fields
| Field | Description |
|---|---|
source | Always booking |
hotelId | Stable id from URL/card when available (e.g. sg/marina-bay-sands) |
name | Property name |
url | Booking.com listing URL |
price | Nightly / primary displayed price (when available) |
totalPrice | Total stay price when visible on the search card |
currency | ISO currency code |
rating | Numeric review score (typically 1–10) |
ratingText | Raw rating text from the card |
reviewCount | Number of reviews |
propertyType | Inferred type (Hotel, Apartment, Hostel, …) |
location | Neighborhood / area text |
distanceFromCenter | Distance-from-center text |
imageUrl | Primary card image |
roomType | Recommended unit / room text |
amenities | Amenity labels when present on SERP (often empty) |
destination / checkin / checkout | Echoed from the search input when set |
scrapedAt | ISO timestamp |
More Actors like this
Looking for another travel / stays scraper, or a specialized Actor outside Booking.com hotels? Use a dedicated Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for Booking.com hotel / accommodation search results.
Similar travel & stays Actors
- Booking.com & Airbnb Scraper
- Airbnb Listings Scraper
- Agoda Scraper
- Expedia Scraper
- Trip.com Scraper
- Traveloka Scraper
- TripAdvisor Scraper
- Despegar Scraper
- Travelstart Flights Scraper
Prefer another specialized scraper?
Jobs & Freelance
- LinkedIn Jobs Scraper
- Indeed Jobs Scraper
- Upwork Jobs Scraper
- Glassdoor Scraper
- Fiverr Gigs Scraper
- Bayt Jobs Scraper
E-commerce
- Walmart Product Scraper
- Amazon Search Scraper
- Costco Product Scraper
- Shopee Search Scraper
- Etsy Scraper
- SHEIN Product Scraper
- Temu Product Scraper
- Target Product Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- Apartments.com Rental Scraper
- Rightmove Scraper
- Idealista Scraper
- realestate.com.au Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.
How to use
- Enter a destination (city, region, country, or landmark — e.g.
Tokyo,France,near Times Square) - Set check-in / check-out (
YYYY-MM-DD) for accurate prices - Optionally choose property types, stars, review score, sort, language, currency, and proxy country
- Click Start — results appear in the Dataset tab
Example: worldwide city search
{"destination": "Tokyo","checkin": "2026-08-01","checkout": "2026-08-03","adults": 2,"maxResults": 20,"currency": "USD","lang": "en-us","proxyCountry": "JP"}
Example: apartments only in Paris
{"destination": "Paris","checkin": "2026-08-01","checkout": "2026-08-05","adults": 2,"propertyTypes": ["apartment"],"sort": "price","maxResults": 30,"currency": "EUR","lang": "en-us","proxyCountry": "FR"}
Example: family stay with filters
{"destination": "Singapore","checkin": "2026-08-01","checkout": "2026-08-03","adults": 2,"children": 1,"childAges": [8],"stars": [4, 5],"minReviewScore": 8.0,"freeCancellation": true,"propertyTypes": ["hotel"],"maxResults": 20,"currency": "SGD","proxyCountry": "SG"}
Leaving propertyTypes empty means all accommodation categories.
Example output
{"source": "booking","hotelId": "fr/negresco","name": "Hotel Negresco Nice","url": "https://www.booking.com/hotel/fr/negresco.html","price": 312.0,"totalPrice": 1248.0,"currency": "USD","rating": 8.7,"ratingText": "Fabulous","reviewCount": 4521,"propertyType": "Hotel","location": "Promenade des Anglais, Nice","distanceFromCenter": "1.2 km from center","imageUrl": "https://cf.bstatic.com/xdata/images/hotel/square200/12345.webp","roomType": "Superior Double Room","amenities": [],"destination": "Nice","checkin": "2026-08-01","checkout": "2026-08-05","scrapedAt": "2026-07-20T05:00:00Z"}
Input
| Field | Type | Default | Notes |
|---|---|---|---|
destination | string | Singapore | City / region / country / landmark |
checkin / checkout | string | (empty) | YYYY-MM-DD |
adults | integer | 2 | 1–10 |
children | integer | 0 | 0–10 |
childAges | integer[] | [] | Ages 0–17; padded to children |
rooms | integer | 1 | 1–10 |
maxResults | integer | 50 | 1–500 |
currency | string | USD | ISO code + cur_curr cookie |
lang | string | en-us | UI language tag |
sort | enum | popularity | popularity, price, review_score, … |
propertyTypes | string[] | [] | Empty = all categories |
stars | integer[] | [] | 1–5 → class= filters |
minReviewScore | number | (null) | 0–10 → review_score= tenths |
freeCancellation | boolean | false | → oos=1 |
destId / destType | string | (empty) | Skip autocomplete when both set |
customNfltFilters | string[] | [] | Raw nflt fragments |
proxyCountry | string | (empty) | RESIDENTIAL country (default US) |
proxy | object | (none) | Optional Apify proxy editor |
Supported property types
hotel, apartment, hostel, motel, resort, bed_and_breakfast, villa, guesthouse, holiday_home, aparthotel, lodge, homestay, country_house, capsule_hotel, campground, inn, ryokan, riad, chalet, holiday_park, tent, love_hotel, pension
Limits & notes
- SERP only — no detail-page enrichment; amenities/
totalPriceare often empty on cards - Autocomplete — tries API + UI suggestion fallback; if both fail, search continues with free-text
ss=(destSource:query_onlyin warnings) - Proxy required — sticky RESIDENTIAL is mandatory; the Actor does not fall back to direct/unproxied browsing
- Anti-bot — headed Chrome + Xvfb; Cloudflare challenges are waited on and fail the page/attempt if unresolved (no CapSolver)
Diagnostics
Each run writes:
INPUT_ECHO— sanitized input including resolveddestId/destTypeandnfltRUN_SUMMARY— status, counters, field completeness, warnings (destSource:…, proxy mode, etc.)ERROR_SUMMARY— written only on hard failures
Statuses: ok | partial | blocked.
Pricing
This Actor uses Pay per event pricing. Platform usage costs are paid by the Actor developer (not passed to the user).
| Event | Price |
|---|---|
apify-actor-start (Actor Start) | $0.005 per start (memory-scaled) |
apify-default-dataset-item (Result) | $3.00 / 1,000 listings ($0.003 each) |
Free Apify plan limits (set by this Actor's developer)
| Limit | Free Apify plan | Paid Apify plan |
|---|---|---|
| Runs of this Actor | 10 runs total | Unlimited |
Results per run (maxResults) | Up to 500 | Up to 500 |
When the run cap is hit, the run finishes with a clear status message — not an Apify platform error. Paying Apify users are not subject to the run cap.
FAQ
Can I search any country?
Yes. Enter a city, region, or country name. The Actor tries Booking autocomplete for dest_id; if that fails it still searches with the destination text. Inventory is global on www.booking.com.
What does empty propertyTypes mean?
All categories — hotels, apartments, hostels, and other accommodation types shown on the SERP.
Do I need a Booking.com account?
No.
Are amenities always filled?
No. This Actor scrapes search results only; amenities are often absent on SERP cards.
Why did my free-plan run stop after 10 runs?
Free Apify plan users get 10 runs of this Actor and up to 500 results per run. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.
Related Actors
All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.
Jobs & Freelance
- LinkedIn Jobs Scraper
- Bayt Jobs Scraper
- Fiverr Gigs Scraper
- Freelancer.com Scraper
- Glassdoor Scraper
- Himalayas Jobs Scraper
- Indeed Jobs Scraper
- Jobicy Remote Jobs Scraper
- RemoteOK Jobs Scraper
- SEEK Jobs Scraper
- Upwork Jobs Scraper
Real Estate
- Zillow & Zumper Scraper
- Realtor.com Scraper
- 99.co Scraper
- Realtor.com Agents Scraper
- Apartments.com Rental Scraper
- Bayut Scraper
- Craigslist Housing Scraper
- Daft.ie Scraper
- Dot Property Scraper
- FINN.no Scraper
- Funda Scraper
- Hepsiemlak Scraper
- Idealista Scraper
- Immobiliare.it Scraper
- ImmoScout24 Scraper
- Naver Land Scraper
- OpenSooq Scraper
- Otodom Scraper
- Property Finder Scraper
- PropertyGuru Scraper
- realestate.com.au Scraper
- Realtor.ca Scraper
- Rightmove Scraper
- SeLoger Scraper
- SUUMO Scraper
- Zillow Group Scraper
E-commerce
- Shopee Search Scraper
- E-commerce Scraper
- 1688 Global Product Search Scraper
- Allegro Scraper
- Amazon Search Scraper
- ASOS Product Scraper
- Cdiscount Product Scraper
- Costco Product Scraper
- Coupang Product Scraper
- Etsy Scraper
- Lazada Scraper
- MercadoLibre Scraper
- Mercari Japan Scraper
- Rakuten Japan Scraper
- SHEIN Product Scraper
- Target Product Scraper
- Temu Product Scraper
- Walmart Product Scraper
Travel & Stays
- Booking.com & Airbnb Scraper
- Agoda Scraper
- Airbnb Listings Scraper
- Booking.com Hotels Scraper
- Despegar Scraper
- Expedia Scraper
- Traveloka Scraper
- Travelstart Flights Scraper
- Trip.com Scraper
- TripAdvisor Scraper
Social & Content
Ads Intelligence
Local & Maps
General Tools
→ Browse the full profile: apify.com/lentic_clockss