X
Our new Developer Portal is here!
The latest version of our Demand API (V3.1) is now available.
Update now for improved functionality and access to newly added endpoints.
Take me there
Usage Information
This page explains how to use our API. See our [technical documentation](https://developers.booking.com/api/technical.html) for more detailed information on all endpoints.
Note: API users will only be able to see the documentation for endpoints they have permission to call. See the [support section](https://developers.booking.com/api/help/index.html) for questions about endpoint permissions.
## Caching and Endpoint Types
The API consists of three general endpoint classes:
**Availability**: Real-time pricing and availability, both of which are constantly changing. This should not be cached, you must request the data each time it is needed.
**Static Data**: Property descriptions, facility information, city names, hotel types, and other items that change much less frequently than availability. We recommend caching this data.
**Booking Endpoints**: Endpoints related to processing bookings via the API.
## Using Destination Endpoints
Destination information can be obtained from the following endpoints:
- **/countries**
- **/cities**
- **/districts**
- **/regions**
UK English is our default language, and translations are not available for all languages in every instance. If no translated value is returned, the English value is employed. For example, the translation of "Amsterdam" in Dutch is the same as the English translation, therefore, no Dutch translation will be returned.
## Using Reference Endpoints
Reference endpoints such as **/hotelFacilityTypes**, **/hotelTypes**, **/chainTypes**, and **/paymentTypes** allow you to obtain supporting data for use in conjunction with other endpoints.
## Using /changedHotels and /hotels Endpoints
To build a cache of property data for the first time, request all desired static content from the **/hotels **endpoint. For example, a website focused on properties in the Netherlands could first employ the **/cities** endpoint and then pair it with the **/hotels** endpoint. This will return the relevant hotel data for all cities in the Netherlands.
After the initial load into your database is complete, use the **/changedHotels** endpoint to obtain a list of properties that have closed or changed key characteristics since a given date. Newly opened properties will also appear in the **/changedHotels** list.
*Important:* If a property is marked as closed, you must remove all related data from your websites, apps, and databases. Note that closed properties may reopen and reappear in the **/changedHotels** list..
## Availability Endpoints
The **/hotelAvailability** endpoint should generally be used to return the least expensive rooms available that match the provided guest configuration and search parameters. This is comparable to the initial property search on Booking.com.
After a property is selected, **/blockAvailability** can be used to return all available rooms for a specific property. This is comparable to the property page on Booking.com.
## Recommended Update Frequency
All availability endpoints should be used in real-time and never cached. The other endpoints can be used less frequently.
Once per day:
- **/changedHotels** to receive a list of properties with changed data
- **/hotels** to update the changed hotels
Once per week:
- Types endpoints such as **/hotelFacilityTypes** and **/hotelTypes**
- Destination endpoints such as **/countries** and **/cities**