Booking.com API
Live nightly rates for any destination and stay, rooms and rate plans with their individual offers, and guest reviews split into what people liked and what they did not — each a single POST returning structured JSON.
50 free credits on signup. No card, no affiliate account.
{ "data": { "destination": "Austin, Texas", "url": "https://www.booking.com/searchresults.html?ss=Austin%2C+Texas&...", "page": 1, "checkin": "2026-09-08", "checkout": "2026-09-10", "nights": 2, "adults": 2, "children_ages": [], "rooms": 1, "currency": "USD", "dest_id": "20126394", "dest_type": "CITY", "destination_name": "Austin", "destination_country": "us", "total_results": 955 }, "response_time": 2380, "credits_used": 1, "credits_remaining": 4716}Live call against the real endpoint — 3 free runs, then it's your own key.
What is the Scavio Booking.com API?
The Scavio Booking.com API is a REST API that returns public Booking.com data as structured JSON. You send a destination with check-in, check-out and occupancy to one of 3 POST endpoints with your API key, and get back properties with live nightly prices and review scores, full rooms and rate plans, or guest reviews split into positive and negative text.
- 3
- endpoints, all live in production
- 1
- credit per call, every endpoint
- ±
- reviews split positive / negative
Three endpoints, priced for a real stay
Search prices the dates, detail explains the rate, reviews judge the property.
Property search
POST /api/v1/booking/searchLive nightly prices for a destination and a specific stay, with review scores — the response echoes checkin, checkout, nights and occupancy so the price is interpretable.
Property detail
POST /api/v1/booking/hotelRooms and rate plans with their individual offers, facilities and meal options — the level where a refundable rate and a non-refundable one stop looking alike.
Guest reviews
POST /api/v1/booking/reviewsBooking splits reviews into positive and negative text with a score, stay date and guest type. That structure is far better input for analysis than one free-text blob.
All 3 Booking.com endpoints
Every route is a POST, returns JSON, and takes the same API key. 1 credit per successful call.
| Endpoint | Returns | Credits |
|---|---|---|
Property search/api/v1/booking/search | Live nightly price, review score and availability for a stay | 1 |
Property detail/api/v1/booking/hotel | Rooms and rate plans with offers, facilities, meal options | 1 |
Guest reviews/api/v1/booking/reviews | Positive and negative text, score, stay date, guest type | 1 |
50 free credits on signup covers 50 calls of any kind. See plans
A destination priced for real dates
Dates and occupancy are inputs, not filters — the response echoes them all. This is a real capture, field names and all.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.booking.search(
destination="Austin, Texas",
checkin="2026-09-08",
checkout="2026-09-10",
adults=2,
)
print(res["data"]["nights"], "nights,", res["data"]["total_results"], "properties"){
"data": {
"destination": "Austin, Texas",
"url": "https://www.booking.com/searchresults.html?ss=Austin%2C+Texas&...",
"page": 1,
"checkin": "2026-09-08",
"checkout": "2026-09-10",
"nights": 2,
"adults": 2,
"children_ages": [],
"rooms": 1,
"currency": "USD",
"dest_id": "20126394",
"dest_type": "CITY",
"destination_name": "Austin",
"destination_country": "us",
"total_results": 955
},
"response_time": 2380,
"credits_used": 1,
"credits_remaining": 4716
}Why not Booking's Demand API?
It exists to distribute inventory for partners, not to let you read the market.
Booking.com Demand API
- Requires an approved commercial partnership before access
- Scoped to distribution and booking flows rather than research
- Onboarding is contractual, measured in weeks
- No self-serve path for a developer evaluating rate data
Scavio Booking.com API
- One API key, issued at signup — no partnership, no contract
- Any public property, rate plan or guest review
- Stay parameters echoed in every response, so stored rates stay interpretable
- Same key and JSON envelope as 30 other Scavio platforms
Read-only search. Scavio does not book rooms or process payments.
What developers build with it
Rate shopping and comp-set pricing
Price your comp set for the same stay dates and watch how rates move into a weekend or an event. Because every response echoes the stay, a stored series is comparable rather than ambiguous.
search + hotelRate parity checks
Compare what Booking shows against Google Hotels and the property's own site for identical dates. Parity breaches surface as a diff rather than a complaint from a channel manager.
search + Google HotelsGuest sentiment analysis
Positive and negative text arrive as separate fields with a score and stay date, so an LLM can attribute complaints to a period without first splitting a mixed review.
reviewsTravel budgeting
Price accommodation across candidate cities and date windows to build a real travel budget, with review scores attached so cheap does not silently mean bad.
searchAgent tools for travel
Point an agent at the MCP server and Booking becomes a callable tool — find something under this budget for these dates, is it any good — with one key.
MCP + RESTHow to get Booking.com data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Booking affiliate or partner account.
- 2
POST a destination and stay dates
Send {"destination": "Austin, Texas", "checkin": "2026-09-08", "checkout": "2026-09-10", "adults": 2} to https://api.scavio.dev/api/v1/booking/search. Dates and occupancy are not optional — they determine the price.
- 3
Read the echoed stay
The response wraps the payload under data and echoes checkin, checkout, nights, adults, rooms, currency and the resolved dest_id, so a stored result records exactly what was priced.
Booking.com API FAQ
What is the Scavio Booking.com API?
+
It is a REST API that returns public Booking.com data as structured JSON. Three POST endpoints cover property search for a destination and stay with live nightly prices, full property detail with rooms and rate plans, and guest reviews split into positive and negative text. You authenticate with a Scavio API key.
Who are these endpoints for?
+
Revenue managers rate-shopping a comp set; hotels checking parity across channels; developers building travel features; AI agent builders wiring Booking in as an MCP or SDK tool; automation engineers running rate checks inside n8n, Zapier or Make; and analysts tracking accommodation markets. Same API for all of them.
Does Booking.com have a public API?
+
Not an open one. Booking's Demand API and affiliate programmes require a commercial partnership and approval, and are scoped to distribution rather than market research. There is no self-serve first-party route to read public rates.
Why do I have to pass dates?
+
Because a hotel price is a price for a stay, not an attribute of the building. Rates change by date, length of stay and occupancy, so checkin, checkout and adults are required inputs and are echoed back in every response.
How much does a Booking request cost?
+
Every Booking endpoint costs 1 credit. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
Can I book a room through it?
+
No. These are read-only search endpoints returning what Booking.com displays. Booking requires a distribution relationship with Booking or the property, which is a different kind of integration.
What does the response look like?
+
The API wraps the payload under a data key and adds credits_used and credits_remaining. A search echoes destination, checkin, checkout, nights, adults, children_ages, rooms, currency, the resolved dest_id and dest_type, plus page and total_results.
How are reviews structured?
+
Booking asks guests for what they liked and what they did not separately, so reviews come back with positive and negative text as distinct fields alongside a score, stay date and guest type. That is more useful for analysis than a single blended paragraph.
Which languages and tools are supported?
+
Official Python (pip install scavio) and JavaScript/TypeScript (npm i scavio) SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node. Any language can call the REST endpoints directly with an HTTP client.
Is scraping Booking.com data legal?
+
Scavio returns publicly available listing and review data and does not authenticate as a user or make bookings. You remain responsible for how you use the data, including compliance with Booking's terms. Talk to your own counsel for your specific use case.
Explore more of Scavio
Airbnb API
Stays, the price ledger and review bodies.
Google Hotels API
Properties and vendor rates.
Tripadvisor API
Places, ratings and full reviews.
Google Flights API
Fares, airlines, legs and insights.
MCP server
Every platform as a callable tool for agents.
Pricing
Credit packs and plans, no per-platform surcharge.
Start pulling Booking.com rates today
50 free credits on signup, no card. Your first request is a POST with a city and dates.