Booking.com Demand API (3.1)

The Demand API allows Affiliate Partners to access Booking.com’s inventory, including accommodation, car rental, and flight information.

- The API follows REST principles and returns JSON responses.
- You can consume them directly through HTTPS calls, using the POST method.
- Note: Authentication is required 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

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.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
maximum_resultsintegermultiple of 10[ 10 .. 100 ]

The maximum number of results to return.

Default 100
pagestring

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

suppliersArray of integers<= 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.1/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

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

dataArray of objects
metadataobject(MetadataOutput)

Metadata about the request.

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

Car constants

Request

This endpoint returns a list of relevant car constants names in the specified languages. For example, calling with the parameters {"languages":"en-us","fr"} will return the list in English (US) and French. To retrieve the full list, make the request with an empty body.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
constantsArray of strings

A list of car rental constant types to filter the results by. This allows you to narrow down the result based on particular criteria, such as fuel_policy, payment_timings etc.

Items Enum"depot_services""fuel_policies""fuel_types""general""payment_timings""transmission"
languagesArray of strings
Default ["en-gb"]
Example: ["en-us"]
curl -i -X POST \
  https://demandapi.booking.com/3.1/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

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

dataobject(ConstantsDataOutput)
Example: {"request_id":"01jpvx9va93ghgwxq7zypagvdr","data":{"depot_services":[{"id":"meet_greet","name":{"de":"Meet & Greet","en-gb":"Meet & Greet"}},{"id":"shuttle","name":{"de":"Shuttlebus","en-gb":"Shuttle Bus"}}],"fuel_policies":[{"id":"free_tank","name":{"de":"Kostenlose Tankfüllung","en-gb":"Free Tank"}},{"id":"prepay_no_refunds","name":{"de":"Vorab-Einkauf","en-gb":"Pre-Purchase"}},{"id":"prepay_part_refunds","name":{"de":"Vorab-Einkauf (Teilerstattung)","en-gb":"Pre-purchase (partial refund)"}},{"id":"prepay_refunds","name":{"de":"Vorab-Einkauf","en-gb":"Pre-Purchase"}},{"id":"return_same","name":{"de":"Gleiche Tankfüllung","en-gb":"Like for like"}}],"fuel_types":[{"id":"electric","name":{"de":"Rein elektrisch","en-gb":"Fully electric"}},{"id":"hybrid","name":{"de":"Hybrid","en-gb":"Hybrid"}},{"id":"petrol","name":{"de":"Benzin","en-gb":"Petrol"}},{"id":"plug_in_hybrid","name":{"de":"Plug-in-Hybrid","en-gb":"Plug-in hybrid"}}],"general":[{"id":"air_conditioning","name":{"de":"Flughafen (im Terminal)","en-gb":"Airport (in terminal)"}},{"id":"airport","name":{"de":"Klimaanlage","en-gb":"Air Conditioning"}},{"id":"free_cancellation","name":{"de":"Kostenlose Stornierung","en-gb":"Free cancellation"}},{"id":"kilometers","name":{"de":"km","en-gb":"km"}},{"id":"limited","name":{"de":"Begrenzt","en-gb":"Limited"}},{"id":"miles","name":{"de":"Meilen","en-gb":"miles"}},{"id":"n_large_bags","name":{"fallback":null,"de":"N große Koffer","en-gb":"N Large bags"}},{"id":"n_small_bags","name":{"fallback":null,"de":"N kleine Koffer","en-gb":"N Small bags"}}],"payment_timings":[{"id":"part_pay","name":{"de":"Teils jetzt zahlen, teils später","en-gb":"Pay part now, part later"}},{"id":"pay_now","name":{"de":"Jetzt zahlbar","en-gb":"Pay now"}}],"transmission":[{"id":"automatic","name":{"de":"Automatik","en-gb":"Automatic"}},{"id":"manual","name":{"de":"Schaltgetriebe","en-gb":"Manual"}}]}}
Response
application/json
{ "request_id": "string", "data": { "request_id": "01jpvx9va93ghgwxq7zypagvdr", "data": {} } }

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

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