Use this endpoint to search for accommodations using a natural language query combined with structured travel criteria such as dates, guests, location, and sorting preferences. The search_query field accepts free-text input describing the traveller’s intent, preferences, or desired accommodation features. Structured parameters such as checkin, checkout, guests, and location filters are used to refine and constrain the search results.
A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA). The full list can be obtained by calling common/locations/airports.
The checkin date. Must be within 500 days in the future and in the format yyyy-mm-dd.
The checkout date. Must be later than {checkin}. Must be between 1 and 90 days after {checkin}. Must be within 500 days in the future and in the format yyyy-mm-dd.
A signed integer number that uniquely identifies a city. The full list can be obtained by calling common/locations/cities.
Limit the result list to the specified coordinates.
A two-letter code that uniquely identifies a country. This code is defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. The full list can be obtained by calling the /common/locations/countries endpoint.
A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard. The full list can be obtained by calling common/payments/currencies.
A signed integer number that uniquely identifies a district. Typically, districts define known areas within a city. The full list can be obtained by calling common/locations/districts.
Input parameter to request for additional information about the products.
A signed integer number that uniquely identifies a relevant geographical landmark, like a monument or a natural attraction. The full list can be obtained by calling common/locations/landmarks.
Pagination token used to retrieve the next page of results. Obtained from next_page.
A signed integer number that uniquely identifies a geographical region. Regions usually define official administrative areas within a country, but may also include multiple countries and in some cases un-official but popular designations for geographical areas. An example of a region that crosses multiple countries is the Alps in Europe. The full list can be obtained by calling common/locations/regions.
The maximum number of results to return.
Natural language query describing the traveller’s accommodation preferences, intent, or desired experience. The query is interpreted semantically and may match accommodation features, amenities, location context, property types, traveller intent, or ranking signals.
- Production environment.https://demandapi.booking.com/beta/accommodations/smart-search
- Sandbox environment.https://demandapi-sandbox.booking.com/beta/accommodations/smart-search
curl -i -X POST \
https://demandapi.booking.com/beta/accommodations/smart-search \
-H 'Authorization: Bearer <YOUR_string_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-Affiliate-Id: 0' \
-d '{
"booker": {
"country": "nl",
"platform": "desktop"
},
"checkin": "!START_DATE!",
"checkout": "!END_DATE!",
"city": -2140479,
"guests": {
"number_of_adults": 2,
"number_of_rooms": 1
},
"search_query": "hotel with pool near the beach"
}'{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ { … } ], "metadata": { "next_page": "123456789569" } }