Booking.com Demand API (3.2)

Demand API version 3.2 introduces several improvements and breaking changes from version 3.1, including updates to accommodation booking flows, inclusion of Attractions in orders/details for post-booking reporting and other structural enhancements.
- The API follows REST principles and returns data in JSON format.
- You can access endpoints via HTTPS POST requests.
Authentication: Use your Affiliate ID and token credentials to use these endpoints.
Try it out!

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

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

Orders with accommodation details

Request

Use this endpoint to retrieve detailed information for one or more accommodation orders. * You can request order details either by reservation ID or by order ID depending on your integration. * The response includes all key information for each order, such as booking and cancellation details, commission, pricing, and optional extras (for example, accommodation details, policies, or extra charges). Results are sorted by bookingDate in descending order, with the most recently booked orders listed first.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
One of:
ordersArray of strings(order)<= 100 itemsrequired

List of order IDs for which details should be returned.

currencystring(currencyId)^[A-Z]{3}$

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.

extrasArray of strings(accommodations-3_2_extras)

Input parameter to request for additional information about the accommodation order. It should be passed as a JSON array with one or more items.

Items Enum"accommodation_details""policies""extra_charges"
curl -i -X POST \
  https://demandapi.booking.com/3.2/orders/details/accommodations \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "currency": "USD",
    "extras": [
      "policies",
      "extra_charges"
    ],
    "reservations": [
      "2321873123",
      "4666773123"
    ]
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataArray of objects(OrdersDetailsAccommodationsOutput)
Response
application/json
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ {} ] }

Orders with car details

Request

Use this endpoint to retrieve detailed information for one or more car rental orders. - You can request car order details either by order ID or by reservation ID. - The response includes all relevant information for each order, such as booking and cancellation details, commission, pricing, and optional extras (for example, policies). Results are sorted by bookingDate in descending order, with the most recently booked orders listed first.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
One of:
Deprecated

DEPRECATED: Do not use the order ID in your request, use the reservation ID instead.

ordersArray of strings(order)<= 100 itemsrequired

List of order IDs for which details should be returned.

currencystring(currencyId)^[A-Z]{3}$

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.

extrasArray of strings(cars-3.2_extras)

Optional extra details to include in the response, passed as a JSON array.

Items Value"policies"
curl -i -X POST \
  https://demandapi.booking.com/3.2/orders/details/cars \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "currency": "USD",
    "extras": [
      "policies"
    ],
    "reservations": [
      "11223344"
    ]
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataArray of objects(OrdersDetailsCarsOutput)

List of car order objects containing full details for each requested reservation.

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

Orders with flight details

Request

Use this endpoint to retrieve detailed information for one or more flight orders. - You can request car order details either by order ID or by reservation ID. - The response includes all relevant information for each order, such as booking and cancellation details, commission, pricing, and optional extras (for example, policies). Results are sorted by bookingDate in descending order, with the most recently booked orders listed first. It returns structured order data, including pricing, itinerary segments with IATA airport codes, etc.

This endpoint is ideal for:

- Displaying flight booking details in traveller dashboards or confirmation pages.
- Generating post-booking communications and invoices.
- Performing reporting or reconciliation tasks that require accurate itinerary and pricing data.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
One of:
ordersArray of strings<= 100 itemsrequired

List of order IDs for which details should be returned. Mutually exclusive with 'reservations'.

Example: ["1234567890123456","9876543210987654"]
currencystring(currencyId)^[A-Z]{3}$

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"
curl -i -X POST \
  https://demandapi.booking.com/3.2/orders/details/flights \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "currency": "EUR",
    "orders": [
      "1234567890123456",
      "9876543210987654"
    ]
  }'

Responses

Successful response.

Bodyapplication/json
dataArray of objects(FlightsOutput)
request_idstring(requestId)

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

Response
application/json
{ "data": [ {} ] }