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

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

Upload attachment

Request

Use this endpoint to upload a file to be used as a message attachment. The response includes an attachment ID to reference when sending messages.

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
conversationstring(conversation)required

The unique identifier of the conversation

accommodationstring(common_accommodation)required

The unique identifier of the property

file_sizeinteger(int64)<= 1048576required

The file size in bytes.

file_namestringrequired

The original file name including extension.

file_typestringrequired

The MIME type of the attachment (supported formats: PNG, JPEG, JPG).

file_contentstringbase64required

Base64-encoded content of the attachment.

curl -i -X POST \
  https://demandapi.booking.com/3.2/messages/attachments/upload \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "accommodation": 6819547,
    "conversation": "8586a789-44f4-5521-9f27-f5efd097cba6",
    "file_size": 17580,
    "file_name": "a3e062a0-3e6b-4592-9df2-64cf83688084.jpg",
    "file_type": "image/jpeg",
    "file_content": "/9j/4AAQSkZJRgABAQACWAJYAAD/2wCEAAgGBgc"
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataobject
Response
application/json
{ "request_id": "c249e7b6-be70-411b-bcb7-0c2d49313199", "data": { "attachment": "695b7f90-2c08-11f0-9cee-134ca9b067d1" } }

Download attachment

Request

Use this endpoint to retrieve a file that was attached to a message. The response includes the file in a base64-encoded format.

Security
BearerAuth
Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
conversationstring(conversation)

The unique identifier of the conversation

accommodationstring(common_accommodation)

The unique identifier of the property

attachmentstring(attachment)

The unique identifier of the attachment

curl -i -X POST \
  https://demandapi.booking.com/3.2/messages/attachments/download \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "conversation": "8586a789-44f4-5521-9f27-f5efd097cba6",
    "accommodation": 6819547,
    "attachment": "9635be40-1dc6-11f0-8893-0130f0cdef6d"
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataobject
Response
application/json
{ "request_id": "773e2c0d-1ab3-449b-b88a-3d6b5ce09ae7", "data": { "conversation": "8586a789-44f4-5521-9f27-f5efd097cba6", "file_content": "/9j/4AAQSkZJRgABAQACWAJYAAD/2wCEAAgGBgc", "attachment": "9635be40-1dc6-11f0-8893-0130f0cdef6d" } }