Unfortunately, this feature is not supported on mobile devices. For the best experience, please use a computer.

Booking.com Demand API (3.1)

Download OpenAPI description
Languages
Servers
https://demandapi.booking.com/3.1/

Accommodations

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.

Operations

Common/locations

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.

Operations

Common/payments

Generic endpoints related to payments and finance: currencies, payment types, etc.

Operations

Common

Operations

Orders

Operations

Cars

Operations

Car rental depots

Request

Use this endpoint to retrieve the list of all available car rental depots.

Bodyapplication/json
last_modifiedstring(date-time)

The last modified date-time, only returns depots newer than this timestamp.

Example:

"2023-11-01T11:05:00+00:00"

maximum_resultsintegermultiple of 10[ 10 .. 100 ]

The maximum number of results to return.

Default 100
languagesArray of strings
Default ["en-gb"]
Example:

["en-us"]

pagestring

Pagination token used to retrieve the next page of results. Obtained from next_page.

curl -i -X POST \
  https://demandapi.booking.com/3.1/cars/depots \
  -H 'Content-Type: application/json' \
  -d '{
    "last_modified": "2023-11-01T11:05:00+00:00",
    "maximum_results": 100,
    "languages": [
      "en-gb",
      "nl"
    ]
  }'
Experience it firsthand in the API Explorer!

Responses

Successful response.

Bodyapplication/json
request_idstring

Uniquely identifies the request. Please provide this identifier when contacting support.

dataArray of objects
metadataobject

Metadata about the request.

Response
application/json
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ {} ], "metadata": { "next_page": null } }

Depot scores

Request

Use this endpoint to return the score breakdown for the specified depots together with the overall number of reviews and score.

Bodyapplication/json
maximum_resultsintegermultiple of 10[ 10 .. 100 ]

The maximum number of results to return.

Default 100
pagestring

Pagination token used to retrieve the next page of results. Obtained from next_page.

curl -i -X POST \
  https://demandapi.booking.com/3.1/cars/depots/reviews/scores \
  -H 'Content-Type: application/json' \
  -d '{
    "maximum_results": 10
  }'
Experience it firsthand in the API Explorer!

Responses

Successful response.

Bodyapplication/json
request_idstring

Uniquely identifies the request. Please provide this identifier when contacting support.

dataArray of objects
metadataobject

Metadata about the request.

Response
application/json
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ {} ], "metadata": { "next_page": null } }

Car details

Request

Use this endpoint to fetch car details like bag capacity, number of doors, brand and model, etc.

Bodyapplication/json
last_modifiedstring(date-time)

The last modified date-time, only returns depots newer than this timestamp. The value should be within last 7 days

Example:

"2023-11-01T11:05:00+00:00"

maximum_resultsintegermultiple of 10[ 10 .. 100 ]

The maximum number of results to return.

Default 100
pagestring

Pagination token used to retrieve the next page of results. Obtained from next_page.

curl -i -X POST \
  https://demandapi.booking.com/3.1/cars/details \
  -H 'Content-Type: application/json' \
  -d '{
    "last_modified": "2023-11-01T11:05:00+00:00",
    "maximum_results": 100
  }'
Experience it firsthand in the API Explorer!

Responses

Successful response.

Bodyapplication/json
request_idstring

Uniquely identifies the request. Please provide this identifier when contacting support.

dataArray of objects
metadataobject

Metadata about the request.

Response
application/json
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ {} ], "metadata": { "next_page": null } }

Available car rentals

Request

Use this endpoint to retrieve the available car rentals matching the search criteria.

Bodyapplication/json
bookerobjectrequired

Defines the booker context.

booker.countrystring^[a-z]{2}$required

The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.

Example:

"nl"

currencystring^[A-Z]{3}$required

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.

Example:

"EUR"

driverobjectrequired

Defines the driver context.

driver.ageinteger[ 18 .. 99 ]required

Driver age. Affect the availability and price of the products.

maximum_resultsintegermultiple of 10[ 10 .. 100 ]

The maximum number of results to return.

Default 20
languagestring^[a-z]{2}(-[a-z]{2})?$

Effects on the selected language of the target website after redirection by provided url.

Example:

"en-us"

pagestring

Pagination token used to retrieve the next page of results. Obtained from next_page.

routeobjectrequired

Defines the route context.

route.dropoffobjectrequired

Drop off location and time.

route.dropoff.datetimestring(date-time)required

Pick up / drop off datetime.

Example:

"2023-11-01T11:05:00"

route.dropoff.locationobject or object or objectrequired

Pick up / drop off location.

One of:

Pick up / drop off location.

route.dropoff.location.airportstring^[A-Z]{3}$

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.

Example:

"AMS"

route.pickupobjectrequired

Pick up location and time.

route.pickup.datetimestring(date-time)required

Pick up / drop off datetime.

Example:

"2023-11-01T11:05:00"

route.pickup.locationobject or object or objectrequired

Pick up / drop off location.

One of:

Pick up / drop off location.

route.pickup.location.airportstring^[A-Z]{3}$

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.

Example:

"AMS"

sortobject

The sorting parameters for the response.

curl -i -X POST \
  https://demandapi.booking.com/3.1/cars/search \
  -H 'Content-Type: application/json' \
  -d '{
    "booker": {
      "country": "nl"
    },
    "currency": "EUR",
    "driver": {
      "age": 36
    },
    "route": {
      "dropoff": {
        "datetime": "2024-05-03T11:05:00",
        "location": {
          "airport": "AMS"
        }
      },
      "pickup": {
        "datetime": "2024-05-05T11:05:00",
        "location": {
          "airport": "AMS"
        }
      }
    }
  }'
Experience it firsthand in the API Explorer!

Responses

Successful response.

Bodyapplication/json
request_idstring

Uniquely identifies the request. Please provide this identifier when contacting support.

dataArray of objects
metadataobject(MetadataOutput)

Metadata about the request.

Response
application/json
{ "request_id": "01h00fr9y7qkbxtc6kyv97j49z", "data": [ {} ], "metadata": { "next_page": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7Im1heGltdW1fcmVzdWx0cyI6MTAsIm9mZnNldCI6MTB9LCJhdWQiOiJDQVJTX1NVUFBMSUVSUyIsImV4cCI6MTY4MzY0NzMwNX0.y7NmH48mm7lImd2WxsHdotj6n-dVQAzJCGCnIJCKy3A", "total_results": 122 } }

Car rental suppliers

Request

Use this endpoint to fetch a list of car rental suppliers.
You can use a supplier ID (or an array of them), to retrieve specific details.
Alternatively, if you do not add any ID in the request, the response will include all suppliers.

Bodyapplication/json
maximum_resultsintegermultiple of 10[ 10 .. 100 ]

The maximum number of results to return.

Default 100
pagestring

Pagination token used to retrieve the next page of results. Obtained from next_page.

suppliersArray of integers<= 100 items

Defines the suppliers that should be returned. Without it all suppliers will be returned

curl -i -X POST \
  https://demandapi.booking.com/3.1/cars/suppliers \
  -H 'Content-Type: application/json' \
  -d '{
    "suppliers": [
      62
    ]
  }'
Experience it firsthand in the API Explorer!

Responses

Successful response.

Bodyapplication/json
request_idstring

Uniquely identifies the request. Please provide this identifier when contacting support.

dataArray of objects
metadataobject(MetadataOutput)

Metadata about the request.

Response
application/json
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ {} ], "metadata": { "next_page": null, "total_results": 1 } }