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 details

Request

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

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

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_resultsinteger(maximumResults)multiple of 10[ 10 .. 100 ]

The maximum number of results to return.

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/details \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "last_modified": "2026-04-01T11:05:00+00:00",
    "maximum_results": 100
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataArray of objects(details)
metadataobject

Metadata about the request.

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

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.

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
maximum_resultsinteger(maximumResults)multiple of 10[ 10 .. 100 ]

The maximum number of results to return.

pagestring(page)

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

suppliersArray of integers(vehicleSupplierId)<= 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.2/cars/suppliers \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "suppliers": [
      62
    ]
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataArray of objects(supplier)
metadataobject(metadata)

Metadata about the request.

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

Retrieve terms and conditions.

Request

Use this endpoint to retrieve the terms and conditions for a specific car during the pre-booking process. The response includes structured content in the requested language.

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/jsonrequired
offerinteger(offerId)>= 1required

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

currencystringrequired

The currency in ISO 4217 format (e.g., USD, EUR, GBP)

Example: "USD"
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.

search_tokenstringrequired

The pre-booking search_token used to fetch terms and conditions for a specific car rental offer. The search_token is returned by the search endpoint.

curl -i -X POST \
  https://demandapi.booking.com/3.2/cars/terms-and-conditions \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "offer": 123456789,
    "currency": "USD",
    "language": "en-us",
    "search_token": "eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjo"
  }'

Responses

Successful response.

Bodyapplication/json
dataobject

Terms and conditions content translated in the requested language, if specified.

request_idstring(requestId)

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

Response
application/json
{ "data": { "key_info": {}, "terms": [] }, "request_id": "01fr9ez700exycb98w90w5r9sh" }

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