Migration from Demand API V3 Guide
This page summarizes the main differences in architecture, design, and functionality between the Demand API V3 and the Connect API. Read this topic to help plan your migration.
Authentication
In Connect API, each call to endpoints must identify an API user that is authorised to access that endpoint (Identify the API user in a request)
To enable an API user to access the Connect API, you must do the following:
- Authenticate the API key to get an access token
- Include your access token and the appropriate account id in the header of every request.
The API key is an HTTP bearer token. Currently, the DemandAPI V3 uses the API key directly for requests. To use the Connect API, the client will need to switch to a 2-step authentication process.
For more information, see Authentication and authorization.
Endpoint structure
The following table compares the structure of Demand API V3 and Connect API endpoints.
Demand API V3 | Connect API Demand API V3 Compatible | |
---|---|---|
Protocol | https | https |
Base URL - production | demandapi.booking.com/3.1/ | metasearch-connect-api.booking.com/demand-api-v3-compatible/ |
Authentication | API Key as Bearer Token | Bearer Token |
An example mapping
Demand API V3
curl -i -X POST \
https://demandapi.booking.com/3.1/accommodations/search \
-H 'Authorization: Bearer <YOUR_string_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-Affiliate-Id: 0' \
-d '{
"checkin": "2025-08-24",
"checkout": "2025-08-24",
"booker": {
"country": "nl",
"platform": "desktop"
},
"city": -2140479,
"extras": [
"extra_charges",
"products"
],
"guests": {
"number_of_adults": 2,
"number_of_rooms": 1
}
}'
Connect API
curl -i -X POST \
https://metasearch-connect-api.booking.com/demand-api-v3-compatible/search \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YOUR_string_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"checkin": "2025-08-24",
"checkout": "2025-08-24",
"booker": {
"country": "nl",
"platform": "desktop"
},
"city": -2140479,
"extras": [
"extra_charges",
"products"
],
"guests": {
"number_of_adults": 2,
"number_of_rooms": 1
}
}'
Accept Header
Provide a valid Accept header value based on API documentation. See Demand API V3 compatible endpoints for more information.
Errors
The page Error handling describes what errors can occur when calling Connect API endpoints and what you should do to avoid or fix them. You should update your error handling code in line with the guidance and information given there.