Crawling API / Booking.com

Booking.com Scraper.
Live rates, fully rendered.

Send any Booking.com URL and get the fully rendered HTML back, through residential proxies with anti-bot handling built in.
Or pull structured JSON with the booking-serp and booking-hotel scrapers.

99% success rate140M residential IPs30 geographies
Booking.com URLHTML or JSONwww.booking.com/searchresults.html?ss=ParisCrawlbaseRouteRenderExtractRendered HTMLStructured JSONcrawling-apigeneric-extractorbooking.com · JS challenge passed · 200
Live crawl feed · Booking.com1.24M req/minStreaming
200booking.com/reviews/nl/hotel/pulitzer-amsterdam.htmlDE102ms
200booking.com/searchresults.html?ss=New+YorkBR121ms
200booking.com/searchresults.html?ss=New+YorkIN152ms
200booking.com/searchresults.html?ss=LisbonES197ms
301booking.com/reviews/es/hotel/arts-barcelona.htmlSG136ms
200booking.com/city/de/berlin.htmlES131ms
200booking.com/city/gb/london.htmlNL79ms
200booking.com/city/de/berlin.htmlCA176ms
200booking.com/city/us/miami.htmlCA64ms
200booking.com/searchresults.html?ss=ParisCA52ms
200booking.com/country/it.htmlDE147ms
200booking.com/country/it.htmlAU199ms
200booking.com/country/jp.htmlJP187ms
200booking.com/hotel/fr/le-meurice.htmlAU183ms
301booking.com/country/it.htmlBR192ms
200booking.com/country/it.htmlBR197ms
200booking.com/country/jp.htmlJP106ms
200booking.com/city/de/berlin.htmlIN64ms
200booking.com/searchresults.html?ss=New+YorkFR171ms
200booking.com/hotel/fr/le-meurice.htmlUS43ms
200booking.com/hotel/fr/le-meurice.htmlIN215ms
200booking.com/hotel/fr/le-meurice.htmlJP153ms
200booking.com/country/it.htmlUS55ms
200booking.com/country/jp.htmlCA134ms
200booking.com/searchresults.html?ss=LisbonDE100ms
200booking.com/searchresults.html?ss=BaliES63ms
200booking.com/reviews/nl/hotel/pulitzer-amsterdam.htmlDE102ms
200booking.com/searchresults.html?ss=New+YorkBR121ms
200booking.com/searchresults.html?ss=New+YorkIN152ms
200booking.com/searchresults.html?ss=LisbonES197ms
301booking.com/reviews/es/hotel/arts-barcelona.htmlSG136ms
200booking.com/city/de/berlin.htmlES131ms
200booking.com/city/gb/london.htmlNL79ms
200booking.com/city/de/berlin.htmlCA176ms
200booking.com/city/us/miami.htmlCA64ms
200booking.com/searchresults.html?ss=ParisCA52ms
200booking.com/country/it.htmlDE147ms
200booking.com/country/it.htmlAU199ms
200booking.com/country/jp.htmlJP187ms
200booking.com/hotel/fr/le-meurice.htmlAU183ms
301booking.com/country/it.htmlBR192ms
200booking.com/country/it.htmlBR197ms
200booking.com/country/jp.htmlJP106ms
200booking.com/city/de/berlin.htmlIN64ms
200booking.com/searchresults.html?ss=New+YorkFR171ms
200booking.com/hotel/fr/le-meurice.htmlUS43ms
200booking.com/hotel/fr/le-meurice.htmlIN215ms
200booking.com/hotel/fr/le-meurice.htmlJP153ms
200booking.com/country/it.htmlUS55ms
200booking.com/country/jp.htmlCA134ms
200booking.com/searchresults.html?ss=LisbonDE100ms
200booking.com/searchresults.html?ss=BaliES63ms
01 Live demo

Two Booking.com scrapers, live.

The Crawling API, typed live. Watch the booking-serp and booking-hotel scrapers each return structured JSON. Hover to pause and read.

ready
keys 1-2 switch · click to pauserun your own URL
Run your first request in minutes. Up to 20,000 free requests, no credit card.Start free
02 Capabilities

One API, everything Booking.com throws at you.

Booking.com renders prices, availability and reviews in JavaScript, runs aggressive bot detection, and gates results by geography and currency. The Crawling API renders it in a real browser, reaches it through residential IPs, and hands you clean HTML or JSON.

render

Full JavaScript rendering

A real browser executes the page, so live room rates, availability calendars, reviews and lazy-loaded media are all captured, not just the initial HTML.

proxies

140M residential IPs

Every request rotates a residential IP across 30 geographies, so you reach Booking.com like a real local visitor and see the prices and currency for that country.

anti-bot

Blocks handled for you

CAPTCHAs, bot walls and rate limits are cleared automatically. Nothing to solve, nothing to maintain.

format

HTML or JSON

Get the full rendered HTML, or add scraper=booking-serp or booking-hotel to return search results and hotel pages as structured JSON.

extras

Screenshots and async

The same call can capture a full-page screenshot, or run asynchronously with webhooks and cloud storage.

one token

One API for every site

The Crawling API works on any URL, so the same token covers Booking.com and everything else you crawl.See the live demo.

03 Output

Every search field, as clean JSON.

Send a search URL with scraper=booking-serp and the results come back as typed JSON. Swap in booking-hotel to do the same for a single property page.

{ "destination": "Amsterdam", "url": "https://www.booking.com/searchresults.html?ss=Amsterdam", "checkIn": "2026-08-14", "propertyCount": 1240, "properties": [ { "position": 1, "name": "Canal House Amsterdam", "reviewScore": 8.9, "reviewCount": 1863, "price": "EUR 214", "currency": "EUR", "stars": 4, "isFreeCancellation": true } ] }

Search

destination · string  url · string  checkIn · string  propertyCount · number

Properties

properties · array  properties[].name · string  properties[].position · number

Rating

properties[].reviewScore · number  properties[].reviewCount · number  properties[].stars · number

Price

properties[].price · string  properties[].currency · string

Meta

properties[].isFreeCancellation · boolean

04 How it works

From URL to data in one call.

Every Booking.com request moves through the same path. You send a URL, we operate everything in between.

01

Send the URL

Pass any public Booking.com URL with your token: search results, a property, a city page or a reviews page.

02

Rotate a proxy

A residential IP and geography that reach Booking.com cleanly with the right country and currency, drawn from 140M IPs across 30 regions.

03

Render the page

A real browser loads the page so live room rates, availability and reviews render before capture.

04

Clear anti-bot

Booking.com's aggressive bot detection and rate limits are handled automatically. Nothing to solve, nothing to maintain.

05

Return HTML or JSON

The fully rendered HTML comes back, or typed JSON when you add a scraper like booking-serp or booking-hotel.

05 Use cases

What teams build on Booking.com data.

USE / 01Rates

Hotel rate monitoring

Track room rates across search results and property pages to watch how prices move by date and destination.

USE / 02OTA

OTA aggregation

Pull property listings, prices and availability to feed a metasearch or travel aggregator across markets.

USE / 03Parity

Rate-parity checks

Compare your own rates against Booking.com by country and currency to catch parity gaps quickly.

USE / 04Reviews

Review monitoring

Collect guest reviews and ratings to track property reputation and surface recurring complaints.

USE / 05Research

Market research

Mine availability, occupancy signals and pricing trends to inform revenue and competitive strategy.

USE / 06Coverage

Any URL, one API

Crawl search results, properties, city pages and reviews, plus any other site you need.

06 Notes

Good to know when scraping Booking.com.

Live rates need rendering

Booking.com loads prices, availability and reviews in JavaScript; the Crawling API runs a real browser so they are present before capture.

HTML by default, JSON on request

You get the full rendered HTML. Add scraper=booking-serp or booking-hotel for parsed JSON, or parse the HTML yourself.

Geo and currency aware

Prices and availability vary by country and currency. Geotarget a request to the market you care about to get the matching local results.

Public pages only

The Crawling API reads publicly visible pages, with no login, so you get what a logged-out visitor sees.

07 Why Crawlbase

Built to crawl Booking.com at scale.

The Crawling API runs on the same network that serves 46,000+ paying customers and 70,000+ developers. No proxies to buy, no browsers to run, nothing to patch when Booking.com changes.

99%
Average request success rate
140M
Residential IPs, plus 98M datacenter
30
Geographies for accurate local results
20/s
Requests per second by default, more on request

One token, official SDKs for Python, Node and Ruby, and a 99.99% uptime network underneath.

08 FAQ

Booking.com scraping questions.

Send the Booking.com URL to the Crawlbase Crawling API with your token. Crawlbase rotates a residential proxy, renders the page in a real browser, clears bot checks, and returns the fully rendered HTML. Add a dedicated scraper (scraper=booking-serp for search results, booking-hotel for a property page) to get structured JSON instead.
Yes. By default the Crawling API returns rendered HTML; add a dedicated Booking.com scraper (scraper=booking-serp for search results, booking-hotel for property pages) to receive structured JSON, or parse the HTML yourself.
Yes. A real browser executes the page, so JavaScript-rendered room rates, availability and reviews load before capture, not just the initial HTML.
Crawlbase routes each request through rotating residential IPs across 30 geographies and clears bot checks automatically. You do not manage proxies or solve CAPTCHAs, and there is nothing to maintain when Booking.com changes its setup.
Yes. Booking.com is geo and currency gated, so geotargeting a request to a specific country returns the local prices and availability a visitor there would see.
Any public URL: search results, individual property pages, city and country pages, and review pages. The same API works on any other site too.
Start free with up to 20,000 requests and no credit card. Paid plans scale with usage, and the same token works across the Crawling API and every Crawlbase scraper.

Start scraping Booking.com.
Skip the geo blocks and bot walls.

Free to begin with up to 20,000 requests. One token for the Crawling API and every scraper.