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

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

Send a message

Request

Use this endpoint to send a message to a conversation. You can include plain text and optionally attach a file using an attachment ID from a previous upload.

Bodyapplication/json
conversationstring(conversation)required

The unique identifier of the conversation

accommodationstring(common_accommodation)required

The unique identifier of the property

contentstringrequired

The body of the message.

attachmentsArray of strings(attachment)
curl -i -X POST \
  https://demandapi.booking.com/3.2/messages/send \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "conversation": "8586a789-44f4-5521-9f27-f5efd097cba6",
    "accommodation": 6819547,
    "content": "Hello! This is my first message",
    "attachments": [
      "c325f460-1dc6-11f0-80f0-8d0908786f77"
    ]
  }'

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": "cdb0b154-2eae-481b-8fee-fb2725296e1f", "data": { "message": "3164e570-19e0-11f0-baca-e5019c8df435" } }

Retrieve latest messages

Request

Use this endpoint to fetch the most recent messages in a specific conversation, including messages sent by both the property and the guest. By default, up to 100 messages are returned in reverse chronological order (newest first).

This endpoint is ideal for:
- Synchronising message threads between your system and the Booking.com platform.
- Polling for updates to detect new messages since your last request.

Best practice:
Use the timestamp or message IDs from previous responses to avoid fetching duplicate messages when syncing conversations. Use this to sync message threads or poll for updates.

Bodyapplication/json
any(latest_input)
curl -i -X POST \
  https://demandapi.booking.com/3.2/messages/latest \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{}'

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": "0248d85a-17e0-44b3-a37c-7d4b5c03f58b", "data": { "messages": [] } }

Confirm message receipt

Request

Use this endpoint to confirm receipt of messages. Confirmation is required in order to receive new messages from POST /messages/latest.

Bodyapplication/jsonrequired
messagesArray of strings(message)
curl -i -X POST \
  https://demandapi.booking.com/3.2/messages/latest/confirm \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "messages": [
      "8586a789-44f4-5521-9f27-f5efd097cba"
    ]
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

confirmedMessagesArray of strings(message)
Response
application/json
{ "request_id": "cdb0b154-2eae-481b-8fee-fb2725296e1f", "confirmedMessages": [ "8586a789-44f4-5521-9f27-f5efd097cba" ] }

Conversations

Operations

Attachments

Operations