Skip to content

Booking.com Demand API (3.2-Beta)

Beta version – experimental endpoints

This API version is currently in Beta and is offered to a limited set of pilot affiliate partners. Access is granted on request via your Booking.com account manager.

⚠️ Important: This API is under active development. Endpoints, request/response structures, and functionality may change without prior notice. Specifications are updated frequently during the pilot phase.

  • Consult the Changelog for the latest updates.
  • All requests require authentication using your Affiliate ID and token credentials.
Download OpenAPI description
Languages
Servers
Production environment – use for live integrations.
https://demandapi.booking.com/3.2
Sandbox environment – use for testing and validation.
https://demandapi-sandbox.booking.com/3.2

Accommodation

This collection includes endpoints related to stays within the connected trip experience.
Use these endpoints to:
- Search for hotels, apartments, and other accommodation types.
- Check real-time availability and pricing.
- Retrieve property details and guest reviews.

Operations

Attractions

Operations

Car rentals

This collection includes endpoints related to car rental services within the connected trip experience.
Use these endpoints to:
- Search and retrieve car details.
- Retrieve car specifications, depot locations, and supplier information.

Operations

Car availability

Request

Retrieve availability details for a specific car rental offer, including final pricing, insurance options, and optional extras.

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
offerinteger(offerId)>= 1required

This ID identifies the car rental offer and its associated policies. Include it when calling the /cars/availability endpoint.

search_tokenstringrequired

The encoded search token obtained from the search results. This token is car-specific and essential for maintaining state between search and availability checks.

currencystring(currencyId)^[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.

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

A IETF language tag code that uniquely identifies a supported human language or dialect. Note: Demand API only accepts lowercase for the language codes. Examples: "nl" for Dutch/Nederlands or "en-us" for English (US). To retrieve the full list of supported languages, call the /common/languages endpoint in the same Demand API version you are using.

curl -i -X POST \
  https://demandapi.booking.com/3.2/cars/availability \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "offer": 740171366,
    "search_token": "eyJhbGciOiJIUzI1NiJ9.eyJwIjp7InNlYXJjaF9rZXkiOiJleUprY21sMlpYSnpRV2RsSWpvek5pd2laSEp2Y0U5bVprUmhkR1ZVYVcxbElqb2lNakF5TlMwd09TMHlNRlF4TVRvd05Ub3dNQ0lzSW1SeWIzQlBabVpNYjJOaGRHbHZiaUk2SWsxQlRpSXNJbVJ5YjNCUFptWk1iMk5oZEdsdmJsUjVjR1VpT2lKSlFWUkJJaXdpY0dsamExVndSR0YwWlZScGJXVWlPaUl5TURJMUxUQTVMVEU0VkRFeE9qQTFPakF3SWl3aWNHbGphMVZ3VEc5allYUnBiMjRpT2lKTlFVNGlMQ0p3YVdOclZYQk1iMk5oZEdsdmJsUjVjR1VpT2lKSlFWUkJJaXdpY21WdWRHRnNSSFZ5WVhScGIyNUpia1JoZVhNaU9qSXNJbk5sY25acFkyVkdaV0YwZFhKbGN5STZXeUpUVlZCUVVrVlRVMTlFU1ZKRlExUmZVRUZaWDB4UFEwRk1YMVpGU0VsRFRFVlRJbDE5IiwiYm9va2VyIjp7ImNvdW50cnkiOiJnYiJ9fSwiYXVkIjoiL2NhcnMvYXZhaWxhYmlsaXR5IiwiZXhwIjoxNzUzMTA2MDg2fQ.t8VrrJhUAvbAwIK_bO5cNAIB5Z_UfcolMEsGzlq3-eo",
    "currency": "GBP",
    "language": "en-gb"
  }'

Responses

Availability details retrieved successfully.

Bodyapplication/json
request_idstring(requestId)

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

dataobject
Response
application/json
{ "request_id": "01k1deq3e5b41da80f28yybhz0", "data": { "offer": 740171366, "currency": "GBP", "policies": {}, "price": {}, "products": [], "deal": null, "special_offer": "upgrade", "supplier": 3486, "route": {}, "insurance": {} } }

Car constants

Request

This endpoint returns localised car rental constants used across the Cars API collection, such as extras, fuel policies, payment timings, and transmission types.

It also returns customer service contact email addresses per requested language for partner support scenarios where Booking.com handles travellers' communication directly. To retrieve all constants, send an empty request body.

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
constantsArray of strings

Use this field to limit the response to specific categories, such as fuel_policies, depot_services, customer_services, etc. If omitted, all constants are returned.

Items Enum ValueDescription
car_categories

Vehicle categories used to group rental cars by size and type, such as economy, SUV, or premium.

customer_services

Customer support contact details per language.

depot_services

Services available at the car pick-up location.

depot_types

Types of car rental locations, such as airport, downtown, or train station.

extras

Optional add-ons such as child seats, GPS, or winter equipment.

special_offers

Included benefits or promotions bundled with the rental.

fuel_policies

Fuel handling policies for the rental.

fuel_types

Types of fuel supported by the vehicle.

general

General attributes and labels used across the Cars API.

payment_timings

When the traveller is charged for the booking.

languagesArray of strings(languageId)

List of language codes used to localise constant names. Each constant name is returned as a translated object keyed by language. If not provided, en-gb is used by default.

Default ["en-gb"]
Example: ["en-us"]
curl -i -X POST \
  https://demandapi.booking.com/3.2/cars/constants \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "languages": [
      "de",
      "en-gb"
    ]
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataobject(ConstantsDataOutput)

Contains constant groups keyed by constant type. Each group includes a list of constant identifiers and their translated names.

Response
application/json
{ "request_id": "01jpvx9va93ghgwxq7zypagvdr", "data": { "car_categories": [], "customer_services": [], "depot_services": [], "depot_types": [], "extras": [], "special_offers": [], "fuel_policies": [], "fuel_types": [], "general": [], "payment_timings": [], "protection_levels": [], "review_scores": [], "transmission": [] } }

Depots

Request

Retrieve a paginated list of car rental depots. Supports incremental updates via the last_modified filter.

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
last_modifiedstring(date-time)

Returns depots modified after the specified timestamp (exclusive).

Example: "2026-03-01T11:05:00+00:00"
maximum_resultsinteger(maximumResults)multiple of 10[ 10 .. 100 ]

The maximum number of results to return.

languagesArray of strings(languageId)

List of language codes to return translated fields. If a translation is unavailable, the default language (en-gb) is returned.

Default ["en-gb"]
Example: ["en-us"]
pagestring(page)

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

curl -i -X POST \
  https://demandapi.booking.com/3.2/cars/depots \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "last_modified": "2026-03-01T11:05:00+00:00",
    "maximum_results": 100,
    "languages": [
      "en-gb",
      "nl"
    ]
  }'

Responses

Depots retrieved successfully.

Bodyapplication/json
request_idstring(requestId)

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

dataArray of objects(depot)
metadataobject

Metadata about the request.

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

Autocomplete

Use this endpoint to retrieve ranked suggestions based on a free-text query. Designed for real-time "as-you-type" autocomplete experiences.

Operations

Locations

This collection provides standardised location identifiers for geographical entities such as airports, countries, cities, and regions.
Use the returned identifiers when constructing requests across all travel services API collections, including both accommodation and car rental endpoints.

Operations

Payments

Provides generic payment-related identifiers, including supported currency codes, payment cards, and relevant metadata for booking flows.
- Use the returned identifiers when constructing requests across all travel services API collections, including both accommodation and car rental endpoints.

Operations

Languages

Use this endpoint to retrieve a list of supported IETF language tag codes.
- You can use these codes when constructing requests across all travel services API collections, including both accommodation and car rental endpoints.

Operations

Orders

This API collection enables management of booking orders within the Demand API.
Use these endpoints to:
- Preview and create new orders.
- Check order details.
- Cancel or modify existing orders.
This collection is required to integrate booking and order management functionality.

Operations

Messages

This API collection enables two-way communication between guests and properties. Use these endpoints to send and receive messages, include attachments, follow conversations, and more.

Operations

Conversations

Operations

Attachments

Operations