Booking.com Demand API (3.1)

v3.1 Stable

The Booking.com Demand API enables Affiliate Partners to access Booking.com's travel inventory, including accommodations, car rentals, and flights.

Use Demand API to search, retrieve details, check availability, manage bookings and run reports using orders details.

  • RESTful API with JSON responses.
  • Make HTTPS POST requests to interact with endpoints.
  • Requires authentication using your Affiliate ID and token credentials.

Try it out!

Download OpenAPI description
Languages
Servers
Production environment
https://demandapi.booking.com/3.1/
Sandbox environment
https://demandapi-sandbox.booking.com/3.1/

Accommodation

This API collection is specific for the stay part of the connected trip.

Use these endpoints to search for stays such as hotels and apartments, check availability, retrieve reviews, and get detailed property information.

Operations

Car rentals

This API collection is specific to the car rentals part of the connected trip.

Use these endpoints to search for car rentals, check car details and look for depots and suppliers.

Operations

Locations

Provides identifiers for a wide range of geographical locations, including airports, countries, cities, and regions.

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

Payments

Provides generic payment-related endpoints, including supported currencies and payment types.

Operations

Languages

Provides a list of supported language codes for use in API requests.

Operations

Orders

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 car details

Request

This endpoint returns car order details, sorted by bookingDate in descending order

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.

currencystring^[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"
extrasArray of strings

Optional extra information groups that the user can request. It should be passed as a JSON array with one or more items.

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

Responses

Successful response.

Bodyapplication/json
request_idstring

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

dataArray of objects(OrdersDetailsCarsOutput)
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^[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.1/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

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

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

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).

Bodyapplication/json
One of:
orderstringrequired

Order ID to be modified

modificationobjectrequired
modification.​accommodationobjectrequired
modification.​accommodation.​reservationintegerrequired

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.1/orders/modify \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "order": "string",
    "modification": {
      "accommodation": {
        "reservation": 0,
        "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

Provides endpoints for two-way post-booking communication between guests and properties.

Use these endpoints to send and retrieve messages, exchange images, and check conversation details.

Operations

Conversations

Provides endpoints to retrieve and manage messaging conversations.

Use these endpoints to list conversations, fetch conversation details, and track updates.

Operations

Attachments

Provides endpoints for handling message attachments.

Use these endpoints to upload and download images shared within conversations.

Operations