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

Accommodation Reviews

Request

This endpoint provides access to reviews for specified accommodations, allowing you to retrieve traveller feedback associated with a particular property.

The reviews returned can be filtered and sorted, with the option to limit the number of reviews per accommodation by specifying the rows parameter.

Please note that the ratings score is based on all traveller traffic across Booking.com, and may not necessarily reflect the experience of your own customers.

If you choose to display or use these ratings and reviews, you are responsible for ensuring that your travellers are properly informed about what these scores represent.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
accommodationsArray of integers(accommodationId)<= 100 itemsrequired
languagesArray of strings(languageId)

Limits reviews to those written in this language.

Example: ["en-us"]
last_changestring(date)

Limits the reviews to those changed after the given date. Format: YYYY-MM-DD.

pagestring(page)

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

reviewerobject(reviewer)
rowsinteger(maximumResults)multiple of 10[ 10 .. 100 ]

The maximum number of results to return.

scoreobject(AccommodationsReviewScoreInput)
curl -i -X POST \
  https://demandapi.booking.com/3.2/accommodations/reviews \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "accommodations": [
      10004
    ],
    "languages": [
      "en-gb"
    ]
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

dataArray of objects(AccommodationsReviewsDataOutput)
metadataobject(MetadataOutput)
Response
application/json
{ "request_id": "01fr9ez700exycb98w90w5r9sh", "data": [ {} ], "metadata": { "next_page": "..." } }

Accommodation review scores

Request

This endpoint returns score distribution and score breakdown for the specified accommodations. The scores information can be filtered by reviewer parameters and languages.

Headers
X-Affiliate-Idintegerrequired

Include here your Affiliate identifier number

Bodyapplication/json
accommodationsArray of integers(accommodationId)<= 100 itemsrequired
languagesArray of strings(languageId)

Limits reviews to those written in this language.

Example: ["en-us"]
reviewerobject(reviewer)
curl -i -X POST \
  https://demandapi.booking.com/3.2/accommodations/reviews/scores \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Affiliate-Id: 0' \
  -d '{
    "accommodations": [
      10004
    ],
    "languages": [
      "en-gb"
    ]
  }'

Responses

Successful response.

Bodyapplication/json
request_idstring(requestId)

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

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

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