Booking.com Demand API (3.2-Beta)

These endpoints are only available in Beta.
- Limited access: This API is currently offered to a limited number of pilot affiliate partners.
For inquiries regarding participation, please contact your dedicated Booking.com Account manager.
- Active development: These are under active development and subject to change.
- Frequent updates: These API specifications will be regularly updated throughout the pilot. We recommend checking the changelog periodically for the latest changes.


Note: Authentication is required 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

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

Post-booking car terms & conditions.

Request

Retrieve the full, structured terms and conditions for one or more car rental orders. The response includes chapters, sections, clauses, and clause options. Invalid order IDs return null. Language defaults to English if not specified or unsupported. This endpoint is useful for displaying contractual details to users.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/jsonrequired
bookerobjectrequired

Information about the booker

booker.​countrystring(countryId)^[a-z]{2}$required

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.

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

Optional. A ISO 639-1 language code (e.g. 'en-gb', 'es') indicating the preferred language for the terms and conditions.

ordersArray of stringsnon-emptyrequired

An array of car rental order IDs for which to retrieve terms and conditions. Must include at least one valid ID.

Example: ["765255700"]
curl -i -X POST \
  https://demandapi.booking.com/3.2/orders/details/cars/terms-and-conditions \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "booker": {
      "country": "gb"
    },
    "language": "en-gb",
    "orders": [
      "765255700",
      "invalid_order"
    ]
  }'

Responses

Successful response containing terms and conditions for requested orders. Invalid IDs return null.

Bodyapplication/json
request_idstring(requestId)

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

dataobject(Order Terms Map)

Map of order IDs to their terms and conditions. Invalid or missing orders return null.

Response
application/json
{ "request_id": "123456789", "data": { "765255700": {}, "invalid_order": {} } }

Retrieve Car rental FAQs

Request

Returns a list of frequently asked questions (FAQs) and their answers related to car rentals. You can request one or more preferred languages using the languages parameter. If content is not available in any of the requested languages, the response defaults to English.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json

Request parameters to retrieve FAQs

languagesArray of strings[ 1 .. 50 ] itemsrequired

Required. One or more preferred language codes expressed as IETF language tags (for example, en-gb, es). The API returns FAQs in each requested language where available. If content is not available for a requested language, the response defaults to English.

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

Responses

Successful response containing the list of FAQs and corresponding answers, returned in each requested language where available.

Bodyapplication/json
request_idstring(requestId)required

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

dataobjectrequired

Container for the FAQ results.

data.​faqsArray of objects(Faq)required

List of FAQ items, each containing a question and its corresponding answer.

data.​faqs[].​questionobjectrequired

Map of IETF language tags to the translated question strings. Each key is a language code (e.g., en-gb, fr), and the value is the corresponding translation of the question.

data.​faqs[].​question.​property name*stringadditional property
data.​faqs[].​answersobjectrequired

Map of IETF language tags to arrays of translated answer paragraphs. Each key is a language code (e.g., en-gb, fr), and the value is an array of strings representing the paragraphs of the answer.

data.​faqs[].​answers.​property name*Array of stringsadditional property
Response
application/json
{ "request_id": "123456789", "data": { "faqs": [] } }

Modify an order

Request

Use this endpoint to modify certain aspects of an accommodation order, such as credit card details, checkin/checkout dates, and room configurations (guest allocation, guest names, and smoking preferences). See the Orders modification guide for examples and best practices.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
One of:
orderstring(orderId)required

Order ID to be modified

modificationobjectrequired
modification.​accommodationobject(accommodationChange)required
modification.​accommodation.​reservationstringrequired

Reservation ID

modification.​accommodation.​changeDateChange (object) or RoomChange (object)required
One of:
modification.​accommodation.​change.​checkinstring(date)required

New checkin date

modification.​accommodation.​change.​checkoutstring(date)required

New checkout date

modification.​accommodation.​typestringrequired

Type of the accommodation change

Enum"dates""room"
curl -i -X POST \
  https://demandapi.booking.com/3.2/orders/modify \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "order": "string",
    "modification": {
      "accommodation": {
        "reservation": "string",
        "change": {
          "checkin": "2019-08-24",
          "checkout": "2019-08-24"
        },
        "type": "dates"
      }
    }
  }'

Responses

Successful modification

Bodyapplication/json
One of:
modificationobject
Response
application/json
{ "modification": { "accommodation": {} } }

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