Unfortunately, this feature is not supported on mobile devices. For the best experience, please use a computer.

Connect API (1.0)

Partner Connect API Service

Download OpenAPI description
Languages
Servers
Mock server
https://developers.booking.com/_mock/metasearch/connect-api/open-api/
Production URL
https://metasearch-connect-api.booking.com/

demand-api-v3-compatible

Operations

List available accommodation

Request

This endpoint returns the cheapest available product for each hotel matching the search criteria.

Headers
Acceptstring
Value"application/json"
Bodyapplication/jsonrequired
checkinstring(date)required

The checkin date. Must be within 500 days in the future and in the format yyyy-mm-dd.

checkoutstring(date)required

The checkout date. Must be later than {checkin}. Must be between 1 and 90 days after {checkin}. Must be within 500 days in the future and in the format yyyy-mm-dd.

bookerobject(BookerInputDto)required

The booker's information.

booker.countrystring^[a-z]{2}$required

The booker country for showing the best price for that user and obeying laws regarding the display of taxes and fees.

booker.platformstringrequired

The booker platform for showing the platform based deals and prices.

Enum"ANDROID""DESKTOP""IOS""MOBILE""TABLET"
booker.travel_purposestring

The travel purpose of the booker.

Enum"BUSINESS""LEISURE"
booker.user_groupsArray of strings

The user groups that the booker is a member of.

Items Enum"AUTHENTICATED""GENIUS""GENIUS2""GENIUS3"
currencystring^[A-Z]{3}$

A three-letter code that uniquely identifies a monetary currency as defined by the ISO 4217 standard.

Example:

"EUR"

cityinteger(int32)

A signed integer number that uniquely identifies a city.

countrystring^[a-z]{2}$

A two-letter code that uniquely identifies a country. This code is defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.

Example:

"nl"

guestsobject(GuestsInputDto)required

The guest details for the request.

guests.number_of_adultsinteger(int32)required

The number of adults for the search.

guests.number_of_roomsinteger(int32)required

The number of rooms needed.

guests.allocationArray of objects(AllocationInputDto)

The exact allocation of guests to rooms.

guests.childrenArray of integers(int32)

Array with the children ages.

extrasArray of strings

Input parameter to request for additional information about the products.

Items Enum"EXTRA_CHARGES""PRODUCTS"
accommodationsArray of integers(int32)[ 0 .. 100 ] items

A signed integer number that uniquely identifies an accommodation property.

accommodation_facilitiesArray of integers(int32)

A signed integer number that uniquely identifies an accommodation facility.

room_facilitiesArray of integers(int32)

A signed integer number that uniquely identifies a room facility.

accommodation_typesArray of integers(int32)

A signed integer number that uniquely identifies an accommodation type.

brandsArray of integers(int32)

A signed integer number that uniquely identifies a brand.

airportstring^[A-Z]{3}$

A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA).

Example:

"AMS"

districtinteger(int32)

A signed integer number that uniquely identifies a district. Typically, districts define known areas within a city.

landmarkinteger(int32)

A signed integer number that uniquely identifies a relevant geographical landmark, like a monument or a natural attraction.

coordinatesobject(Coordinates)

Limit the result list to the specified coordinates.

regioninteger(int32)

A signed integer number that uniquely identifies a geographical region. Regions usually define official administrative areas within a country, but may also include multiple countries and in some cases un-official but popular designations for geographical areas. An example of a region that crosses multiple countries is the Alps in Europe.

rowsinteger(int32)<= 1000

The maximum number of results to return.

pagestring

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

curl -i -X POST \
  https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v3-compatible/search \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "checkin": "2019-08-24",
    "checkout": "2019-08-24",
    "booker": {
      "country": "string",
      "platform": "ANDROID",
      "travel_purpose": "BUSINESS",
      "user_groups": [
        "AUTHENTICATED"
      ]
    },
    "currency": "EUR",
    "city": 0,
    "country": "nl",
    "guests": {
      "number_of_adults": 0,
      "number_of_rooms": 0,
      "allocation": [
        {
          "children": [
            17
          ],
          "number_of_adults": 1
        }
      ],
      "children": [
        17
      ]
    },
    "extras": [
      "EXTRA_CHARGES"
    ],
    "accommodations": [
      0
    ],
    "accommodation_facilities": [
      0
    ],
    "room_facilities": [
      0
    ],
    "accommodation_types": [
      0
    ],
    "brands": [
      0
    ],
    "airport": "AMS",
    "district": 0,
    "landmark": 0,
    "coordinates": {
      "latitude": 0.1,
      "longitude": 0.1,
      "radius": 0.1
    },
    "region": 0,
    "rows": 1000,
    "page": "string"
  }'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
dataArray of objects(SearchOutputDto)
request_idstring

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

next_pagestring

Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter page).

Response
application/json
{ "data": [ {} ], "request_id": "string", "next_page": "string" }

List accommodation details

Request

This endpoint returns detailed information on all accommodation properties matching a given search criteria. By default, only basic information is returned. To receive extended information use the extras parameter. Is is mandatory to pass one of the input parameters: accommodations, airport, city, country or region.

Headers
Acceptstring
Value"application/json"
Bodyapplication/jsonrequired
accommodationsArray of integers(int32)[ 1 .. 100 ] items

A signed integer number that uniquely identifies an accommodation property.

accommodation_facilitiesArray of integers(int32)

A signed integer number that uniquely identifies an accommodation property facility. Examples of facilities are: Parking, Restaurant, Room service etc.

accommodation_typesArray of integers(int32)

A signed integer number that uniquely identifies an accommodation property type. Examples of accommodation types are: Apartment, Hostel, Hotel etc.

airportstring^[A-Z]{3}$

A three-letter code that uniquely identifies an airport as defined by the International Air Transport Association (IATA).

Example:

"AMS"

brandsArray of integers(int32)

A signed integer number that uniquely identifies an accommodation brand. Examples of brands are: Radisson Blu, WestCord Hotels, Westin etc.

cityinteger(int32)

A signed integer number that uniquely identifies a city.

countrystring^[a-z]{2}$

A two-letter code that uniquely identifies a country. This code is defined by the ISO 3166-1 alpha-2 standard (ISO2) as described here: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.

Example:

"nl"

regioninteger(int32)

A signed integer number that uniquely identifies a geographical region. Regions usually define official administrative areas within a country, but may also include multiple countries and in some cases un-official but popular designations for geographical areas. An example of a region that crosses multiple countries is the Alps in Europe.

extrasArray of strings

Input parameter to request for additional information about the accommodation property. It should be passed as a JSON array with one or more items.

Items Enum"DESCRIPTION""FACILITIES""PAYMENT""PHOTOS""POLICIES""ROOMS"
languagesArray of strings^[a-z]{2}(-[a-z]{2})?$

An IETF language tag code that uniquely identifies a supported human language or dialect as described here: https://en.wikipedia.org/wiki/IETF_language_tag.

Note that in in demand-api-v3-compatible the whole tag is always lowercase. Examples: "nl" for Dutch/Nederlands or "en-us" for English (US).

Items Enum"AR""BG""CA""CS""DA""DE""EL""EN""EN_GB""EN_US"
Example:

"en-us"

rowsinteger(int32)<= 1000

The maximum number of results to return.

pagestring

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

curl -i -X POST \
  https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v3-compatible/details \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "accommodations": [
      0
    ],
    "accommodation_facilities": [
      0
    ],
    "accommodation_types": [
      0
    ],
    "airport": "AMS",
    "brands": [
      0
    ],
    "city": 0,
    "country": "nl",
    "region": 0,
    "extras": [
      "DESCRIPTION"
    ],
    "languages": "en-us",
    "rows": 1000,
    "page": "string"
  }'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
dataArray of objects(DetailsOutputDto)
request_idstring

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

next_pagestring

Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter page).

Response
application/json
{ "data": [ {} ], "request_id": "string", "next_page": "string" }

List accommodation constants

Request

This endpoint enumerates the internal codes and names, in the selected languages, for relevant accommodation specific types.

These accommodation specific types include the list of facilities that may be available at a property like "Elevator" or "Swimmingpool Outdoor".

For example, the following parameters will return the full list in English (US) and French: {"languages":"en-us","fr"}.

To get the full list call the endpoint passing an empty body. The codes returned are what is used as input and output for other endpoints in the accommodations namespace.

Headers
Acceptstring
Value"application/json"
Bodyapplication/json
constantsArray of strings

Allows to filter the results only for specific sections.

Items Enum"ACCOMMODATION_TYPES""ACCOMMODATION_FACILITIES""ACCOMMODATION_THEMES""BED_TYPES""FACILITY_TYPES""CHARGE_TYPES""ROOM_TYPES""ROOM_FACILITIES""REVIEW_SCORES"
languagesArray of strings
Default "en-gb"
Items Enum"AR""BG""CA""CS""DA""DE""EL""EN""EN_GB""EN_US"
Example:

"en-us"

curl -i -X POST \
  https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v3-compatible/constants \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <YOUR_string_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "constants": [
      "ACCOMMODATION_TYPES"
    ],
    "languages": "en-us"
  }'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
dataobject(ConstantsOutputDto)
request_idstring

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

next_pagestring

Indicates that more results are available. Use this pagination token to retrieve the next page of results (via parameter page).

Response
application/json
{ "data": {}, "request_id": "string", "next_page": "string" }

demand-api-v2-compatible

Operations