Booking.com Search API
Search Booking.com stays by destination and dates with optional guest and room occupancy and get hotel results (name, price, review score, location) as normalized JSON.
$4.86/1k results, pay per request, no subscription.
{"id": "68472","name": "The Ludlow Hotel","url": "https://www.booking.com/hotel/us/the-ludlow.html","stars": 4,"price": 638,"pricePerNight": 319,"currency": "USD","rating": 8.9,... 19 more fields}
Pricing
Booking.com Search API pricing
Try it
Get Booking.com search in one request
This sample shows 30 of 31 fields. See every field
{
"found": true,
"data": {
"items": [
{
"id": "68472",
"name": "The Ludlow Hotel",
"url": "https://www.booking.com/hotel/us/the-ludlow.html",
"stars": 4,
"price": 638,
"pricePerNight": 319,
"currency": "USD",
"rating": 8.9,
"reviewScore": 8.9,
"reviewsCount": 2140,
"address": "180 Ludlow Street, Lower East Side, New York",
"city": "New York",
"country": "US",
"location": "Lower East Side",
"latitude": 40.7215,
"longitude": -73.9877,
"image": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/ludlow-exterior.jpg",
"thumbnail": "https://cf.bstatic.com/xdata/images/hotel/square200/ludlow-exterior.jpg",
"originalPrice": 718,
"discountBadge": "Getaway Deal",
"distanceFromCenter": "2.1 miles from center",
"freeCancellation": true,
"noPrepayment": true,
"isClosed": false,
"isSoldOut": false,
"roomId": "rm-queen-101",
"reviewScoreLabel": "Fabulous"
},
{
"id": "51239",
"name": "citizenM New York Times Square",
"url": "https://www.booking.com/hotel/us/citizenm-new-york-times-square.html",
"stars": 4,
"price": 512,
"pricePerNight": 256,
"currency": "USD",
"rating": 8.6,
"reviewScore": 8.6,
"reviewsCount": 5980,
"address": "218 West 50th Street, Midtown, New York",
"city": "New York",
"country": "US",
"location": "Midtown",
"latitude": 40.7622,
"longitude": -73.984,
"image": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/citizenm-lobby.jpg",
"thumbnail": "https://cf.bstatic.com/xdata/images/hotel/square200/citizenm-lobby.jpg",
"freeCancellation": true,
"noPrepayment": false,
"isClosed": false,
"isSoldOut": false,
"roomId": "rm-king-204",
"reviewScoreLabel": "Fabulous"
},
{
"id": "30217",
"name": "Pod 51 Hotel",
"url": "https://www.booking.com/hotel/us/pod-51.html",
"stars": 3,
"price": 298,
"pricePerNight": 149,
"currency": "USD",
"rating": 7.9,
"reviewScore": 7.9,
"reviewsCount": 4310,
"address": "230 East 51st Street, Midtown East, New York",
"city": "New York",
"country": "US",
"location": "Midtown East",
"latitude": 40.7548,
"longitude": -73.9689,
"image": "https://cf.bstatic.com/xdata/images/hotel/max1024x768/pod51-room.jpg",
"thumbnail": "https://cf.bstatic.com/xdata/images/hotel/square200/pod51-room.jpg",
"freeCancellation": false,
"noPrepayment": false,
"isClosed": false,
"isSoldOut": false,
"roomId": "rm-pod-single",
"reviewScoreLabel": "Good"
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-31 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- querystring
New York
Destination city to search for stays in (e.g. Paris).
- adultsinteger
2
Number of adult guests (e.g. 2).
- checkInstring
2026-09-01
Check-in date in YYYY-MM-DD format (e.g. 2026-07-01). Defaults to tomorrow.
- checkOutstring
2026-09-03
Check-out date in YYYY-MM-DD format (e.g. 2026-07-05). Defaults to the day after check-in.
- childreninteger
Number of child guests (e.g. 1).
- currencystring
Currency code for prices (e.g. EUR).
- limitinteger
3
Maximum number of hotels to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.
- roomsinteger
Number of rooms to book (e.g. 1).
Response
JSON, one example value per field.
Hotel result records: name, price, review score, star rating, address, and location. Populated whenever the provider has data for the entity.
- addressstring
180 Ludlow Street, Lower East Side, New York
- citystring
New York
- countrystring
US
ISO country code.
- currencystring
USD
- discountBadgestring
Getaway Deal
Promotion label Booking.com shows on the offer (e.g. Getaway Deal).
- distanceFromCenterstring
2.1 miles from center
Distance from the city center as Booking.com phrases it.
- freeCancellationboolean
true
Whether the offer can be cancelled free of charge.
- idstring
68472
Booking.com hotel identifier. Populated whenever the provider has data for the entity.
- imagestring
https://cf.bstatic.com/xdata/images/hotel/max1024x768/ludlow-exterior.jpg
Primary hotel photo URL. Populated whenever the provider has data for the entity.
- isClosedboolean
false
Whether the property is closed.
- isSoldOutboolean
false
Whether the property is sold out for the requested dates.
- latitudenumber
40.7215
- locationstring
Lower East Side
Neighborhood or area label.
- longitudenumber
-73.9877
- namestring
The Ludlow Hotel
Populated whenever the provider has data for the entity.
- noPrepaymentboolean
true
Whether the offer needs no payment up front.
- originalPricenumber
718
Pre-discount total stay price in the requested currency.
- pricenumber
638
Total stay price in the requested currency.
- pricePerNightnumber
319
- ratingnumber
8.9
Guest review score (0-10).
- reviewScorenumber
8.9
Guest review score (0-10).
- reviewScoreLabelstring
Fabulous
Word Booking.com uses for the review score (e.g. Fabulous).
- reviewsCountinteger
2140
- roomIdstring
rm-queen-101
Identifier of the room the quoted price is for.
- starsinteger
4
Star rating class (1-5).
- thumbnailstring
https://cf.bstatic.com/xdata/images/hotel/square200/ludlow-exterior.jpg
Small hotel photo URL.
- urlstring
https://www.booking.com/hotel/us/the-ludlow.html
Populated whenever the provider has data for the entity.
- foundboolean
true
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Booking.com Search API
The AnyAPI Booking.com Search API returns Booking.com search data as normalized JSON from one POST call to /v1/run/booking.search. Search Booking.com stays by destination and dates with optional guest and room occupancy and get hotel results (name, price, review score, location) as normalized JSON. AnyAPI returns one normalized schema whichever source serves it. It costs $4.86 per 1,000 results, and never more than $0.102 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 89.0% of Booking.com search calls through AnyAPI succeeded, with a median response time of 3.8 seconds across 1,002 measured calls.