These are the endpoints and sections specific for the stay part of the connected trip.
Use them to look for accommodation such as hotels, apartments, etc, check their availability, reviews, accommodation details, etc.
Use this endpoint to return detailed product availability, price and charges of the accommodation matching a given search criteria.
By default, only product availability and price is returned. To receive extended information use the extras
parameter.
Note: It is mandatory to pass the input parameters: accommodation, booker, checkin, checkout and guest.
A signed integer number that uniquely identifies an accommodation property. The full list can be obtained by calling accommodations/details.
The booker's information.
The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.
The booker platform for showing the platform based deals and prices.
The booker state for showing the best price for that user and obeying laws regarding the display of taxes and fees. Currently applicable only for country US.
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 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.
"EUR"
Input parameter to request for additional information about this product.
The guest details for the request.
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/availability \ -H 'Content-Type: application/json' \ -d '{ "accommodation": 10004, "booker": { "country": "nl", "platform": "desktop" }, "checkin": "!START_DATE!", "checkout": "!END_DATE!", "extras": [ "extra_charges" ], "guests": { "number_of_adults": 2, "number_of_rooms": 1 } }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": { "id": 10004, "currency": "EUR", "deep_link_url": "booking://hotel/10004?affiliate_id=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!", "products": [ … ], "recommendation": { … }, "url": "https://www.booking.com/hotel/nl/toren.html?aid=!AFFILIATE_ID!&checkin=!START_DATE!&checkout=!END_DATE!&no_rooms=1&group_adults=2" } }
Use this endpoint to retrieve detailed product availability, price and charges of a list of accommodations. By default, only product availability and price is returned.
To receive extended information use the extras
parameter.
Note: It is mandatory to pass the input parameters: accommodations, booker, checkin, checkout and guests.
The booker's information.
The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.
The booker platform for showing the platform based deals and prices.
The booker state for showing the best price for that user and obeying laws regarding the display of taxes and fees. Currently applicable only for country US.
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 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.
"EUR"
Input parameter to request for additional information about this product.
The filters to apply in this availability request.
The guest details for the request.
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/bulk-availability \ -H 'Content-Type: application/json' \ -d '{ "accommodations": [ 10004 ], "booker": { "country": "nl", "platform": "desktop" }, "checkin": "!START_DATE!", "checkout": "!END_DATE!", "extras": [ "extra_charges" ], "filters": { "meal_plan": "breakfast_included", "cancellation_type": "free_cancellation" }, "guests": { "number_of_adults": 2, "number_of_rooms": 1 } }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ { … } ] }
A chain-branded accommodation is one that is associated with a larger corporation group, and as such, operates under a recognized brand. The information returned can be used to filter accommodation searches based on particular chains or brands. An example of a chain is "Radisson Hotel Group". To get the full list call the endpoint passing an empty body. The codes returned are what is used as input and output for other endpoints.
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/chains
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ { … }, "..." ] }
This endpoint enumerates the internal codes and names, in the selected languages, for relevant accommodation specific types. These accommodation specific types include the list of facilities that may be available at a property like "Elevator" or "Swimming pool outdoor". For example, the following parameters will return the full list in English (US) and French: {"languages":"en-us","fr"}
. To get the full list call the endpoint passing an empty body. The codes returned are what is used as input and output for other endpoints in the accommodations namespace.
Allows to filter the results only for specific sections.
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/constants \ -H 'Content-Type: application/json' \ -d '{ "languages": [ "en-gb", "zh-cn" ] }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": { "accommodation_facilities": [ … ], "accommodation_themes": [ … ], "accommodation_types": [ … ], "bed_types": [ … ], "charge_types": [ … ], "facility_types": [ … ], "review_scores": [ … ], "room_facilities": [ … ], "room_types": [ … ] } }
Use this endpoint to return detailed information on all accommodation properties matching a given search criteria. By default, only basic information is returned.
It is mandatory to pass one of the input parameters: accommodations, airport, city, country or region.
To receive extended information use the extras
parameter.
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.
"AMS"
A signed integer number that uniquely identifies a city. The full list can be obtained by calling common/locations/cities.
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 common/locations/countries.
"nl"
Input parameter to request for additional information about the accommodation property. It should be passed as a JSON array with one or more items.
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.
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/details \ -H 'Content-Type: application/json' \ -d '{ "accommodations": [ 10004 ], "extras": [ "description", "facilities", "payment", "photos", "policies", "rooms" ], "languages": [ "en-gb", "zh-cn" ] }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ { … } ] }
This endpoint returns all accommodations that have closed, opened or changed relevant content since the given timestamp up to a limit of around 5000 ids.
Cache: It is recommended to cache accommodation information locally in order to speed up responses. Use this endpoint in combination with accommodations/details to maintain the local cache up-to-date.
The number of accommodation ids returned may vary since some may be removed due to blacklisting, while all changes from the last second will be included even if already beyond the 5000 ids threshold.
Multiple changes to the same accommodation are grouped by intervals of 30 minutes in order to reduce the number of records.
The timestamp in ISO-8601 format from which changes to accommodations are returned (inclusive). Only UTC time zone is supported. We support changes for last 24 hours. Format: YYYY-MM-DDTHH:mm:ss+00:00
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/details/changes \ -H 'Content-Type: application/json' \ -d '{ "last_change": "!START_DATE!T12:00:00+00:00", "filters": { "countries": [ "nl", "es", "in" ] } }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": { "changes": { … }, "from": "!START_DATE!T12:00:00+00:00", "next": "!START_DATE!T12:24:42+00:00", "total_changes": 5125 } }
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/reviews \ -H 'Content-Type: application/json' \ -d '{ "accommodations": [ 10004 ], "languages": [ "en-gb" ] }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ { … } ], "next_page": "..." }
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/reviews/scores \ -H 'Content-Type: application/json' \ -d '{ "accommodations": [ 10004 ], "languages": [ "en-gb" ] }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ { … } ] }
This endpoint returns by default the cheapest available product for each accommodation matching the search criteria.
However if you look for accommodation located in a specific country or region (using our filters), then the retrieved results are sorted based on "Booking.com popularity" (Top picks) ranking.
This means that any accommodation meeting the search criteria and with higher popularity levels will appear on top of the search results page (in descending order).
This does not apply when searching for accommodation in specific cities or districts. Refer to the Filtering and pagination guide for more details.
Filter the result based if the front desk reception is available 24/7. When specified true, the result will filter the products where front desk is available 24/7.
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.
"AMS"
The booker's information.
The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.
The booker platform for showing the platform based deals and prices.
The booker state for showing the best price for that user and obeying laws regarding the display of taxes and fees. Currently applicable only for country US.
Filters the result for the cancellation type specified. Possible values are free_cancellation & non_refundable. If cancellation_type is free_cancellation, the result will contain all the products with free_cancellation.
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 common/locations/countries.
"nl"
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.
"EUR"
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.
This parameter specifies if the results should include dormitory beds or rooms. The default behaviour will include the dormitory beds or rooms with other results. When this flag is set to 'only', the response will only include dormitory beds or rooms. When this flag is set to 'exclude', the response will exclude dormitory beds or rooms. When this flag is set to 'include', the response will include dormitory beds or rooms with other results.
Input parameter to request for additional information about the products.
The guest details for the request.
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.
Filter the result based on the selected meal plan. Example: When specified breakfast_included, it will show the product with free breakfast.
If specified, will return only results where the price per night falls in the specified range (inclusive). This filter requires that a currency is passed
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.
curl -i -X POST \ https://demandapi.booking.com/3.1/accommodations/search \ -H 'Content-Type: application/json' \ -d '{ "booker": { "country": "nl", "platform": "desktop" }, "checkin": "!START_DATE!", "checkout": "!END_DATE!", "city": -2140479, "extras": [ "extra_charges", "products" ], "guests": { "number_of_adults": 2, "number_of_rooms": 1 } }'
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ { … }, "..." ], "next_page": "..." }
These are the endpoints you can use to retrieve the identifiers of a wide range of geographical locations: airports, countries, cities, regions, etc.
Use these identifiers to construct your requests.
Note: These identifiers are available across all travel services and you can use them for both accommodotation and car rentals requests.