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

demand-api-v2-compatible

Operations

List accommodation review scores

Request

Gives information about review scores for specified hotel_ids and filter. The information consists of score breakdown per reviewer_type and review questions, and overall score distribution per score value (1 - 10).

The available filter is input parameter reviewer_type=... . It allows generating review score information for just one reviewer type.

Language in which the response is rendered can be controlled with the input parameter language=... (default: 'en'). Setting the language will reflect on the output fields question and review_score_word.

One additional output field can be requested with input parameter extras=review_score_word.

Query
reviewScoresInputDtoobject(ReviewScoresInputDto)required
reviewScoresInputDto.hotel_idsArray of integers(int32)required

List of hotel ids for which review score information should be displayed.

reviewScoresInputDto.affiliate_idinteger(int32)

Can be used to specify the affiliate id that should be used instead of the default one.

reviewScoresInputDto.languagestring

Code of the language used to render response. Please check the "Possible Values" section of the documentation for the accepted language codes.

Enum"AR""BG""CA""CS""DA""DE""EL""EN""EN_GB""EN_US"
reviewScoresInputDto.reviewer_typestring

Limits reviews to those written by specific reviewer type.

Enum"SOLO_TRAVELLER""YOUNG_COUPLE""MATURE_COUPLE""FAMILY_WITH_YOUNG_CHILDREN""FAMILY_WITH_OLDER_CHILDREN""WITH_FRIENDS""GROUP""REVIEW_CATEGORY_COUPLES""REVIEW_CATEGORY_FAMILIES""REVIEW_CATEGORY_GROUP_OF_FRIENDS"
Headers
Acceptstring
Value"application/json, application/xml"
curl -i -X GET \
  'https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v2-compatible/reviewScores?affiliate_id=0&hotel_ids=0&language=AR&reviewer_type=SOLO_TRAVELLER' \
  -H 'Accept: application/json, application/xml' \
  -H 'Authorization: Bearer <YOUR_string_HERE>'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
metaobject(Meta)
resultArray of objects(ReviewScoresOutputDto)
Response
application/json
{ "meta": { "ruid": "string" }, "result": [ {} ] }

Get details of accommodations

Request

This call returns the hotel and room data. By default, only hotel_id is returned in the output.

One of the argument: hotel_ids, city_ids, country_ids, region_ids, district_ids, chain_ids is mandatory.

Additional data needs to be requested via extras parameter.

The data is returned in English by default.

Query
hotelsInputobject(HotelsInputDto)required
hotelsInput.hotel_idsArray of integers(int32)

A list of up to 1000 hotel ids.

hotelsInput.languagestring

The language code to return the results in. Please check the "Possible Values" section of the documentation for the accepted language codes.

Enum"AR""BG""CA""CS""DA""DE""EL""EN""EN_GB""EN_US"
hotelsInput.extrasArray of strings

Returns extra bits of information about hotels.

Items Enum"HOTEL_INFO""ROOM_INFO""KEY_COLLECTION_INFO""HOTEL_FACILITIES""HOTEL_PHOTOS""HOTEL_DESCRIPTION"
hotelsInput.offsetinteger(int32)

The number of rows to offset the results by. NOTE: this needs to be 0 or a multiple of 100.

hotelsInput.rowsinteger(int32)

The maximum number of rows to return. NOTE: this needs to be a multiple of 100.

Headers
Acceptstring
Value"application/json, application/xml"
curl -i -X GET \
  'https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v2-compatible/hotels?extras=HOTEL_INFO&hotel_ids=0&language=AR&offset=0&rows=0' \
  -H 'Accept: application/json, application/xml' \
  -H 'Authorization: Bearer <YOUR_string_HERE>'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
metaobject(Meta)
resultArray of objects(HotelsOutputDto)
Response
application/json
{ "meta": { "ruid": "string" }, "result": [ {} ] }

List hotel types

Request

This endpoint returns hotel types names and their translations. (EN is default)

Query
hotelTypeInputDTOobject(HotelTypeInputDTO)required
hotelTypeInputDTO.hotel_type_idsArray of integers(int32)

Limit the results to these hotel types.

hotelTypeInputDTO.languagesArray of strings

Limit the results to these languages. Please check the "Possible Values" section of the documentation for the accepted language codes.

Items Enum"AR""BG""CA""CS""DA""DE""EL""EN""EN_GB""EN_US"
hotelTypeInputDTO.offsetinteger(int32)

The number of rows to offset the results by. NOTE: this needs to be 0 or a multiple of 100.

hotelTypeInputDTO.rowinteger(int32)

The maximum number of rows to return. NOTE: this needs to be a multiple of 100.

Headers
Acceptstring
Value"application/json"
curl -i -X GET \
  'https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v2-compatible/hotelTypes?hotel_type_ids=0&languages=AR&offset=0&row=0' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <YOUR_string_HERE>'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
metaobject(Meta)
resultArray of objects(HotelTypesOutputDto)
Response
application/json
{ "meta": { "ruid": "string" }, "result": [ {} ] }

List hotel theme types

Request

This endpoint returns a list of hotel theme types (in English).

Query
hotelThemeTypeInputDTOobject(HotelThemeTypeInputDTO)required
hotelThemeTypeInputDTO.theme_idsArray of integers(int32)

Limit the results to these themes.

hotelThemeTypeInputDTO.offsetinteger(int32)

The number of rows to offset the results by. NOTE: this needs to be 0 or a multiple of 100.

hotelThemeTypeInputDTO.rowinteger(int32)

The maximum number of rows to return. NOTE: this needs to be a multiple of 100.

Headers
Acceptstring
Value"application/json"
curl -i -X GET \
  'https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v2-compatible/hotelThemeTypes?offset=0&row=0&theme_ids=0' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <YOUR_string_HERE>'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
metaobject(Meta)
resultArray of objects(HotelThemeTypesOutputDto)
Response
application/json
{ "meta": { "ruid": "string" }, "result": [ {} ] }

List facility room types

Request

This endpoint returns room facility types names and their translations (EN is default).

Query
hotelFacilityInputDtoobject(HotelFacilityInputDto)required
hotelFacilityInputDto.facility_type_idsArray of integers(int32)

Limit the results to these facility types.

hotelFacilityInputDto.hotel_facility_type_idsArray of integers(int32)

Limit the results to these hotel facility types.

hotelFacilityInputDto.languagesArray of strings

Limit the results to these languages. Please check the "Possible Values" section of the documentation for the accepted language codes.

Items Enum"AR""BG""CA""CS""DA""DE""EL""EN""EN_GB""EN_US"
Headers
Acceptstring
Value"application/json"
curl -i -X GET \
  'https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v2-compatible/hotelFacilityTypes?facility_type_ids=0&hotel_facility_type_ids=0&languages=AR' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <YOUR_string_HERE>'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
metaobject(Meta)
resultArray of objects(HotelFacilityTypeOutputDto)
Response
application/json
{ "meta": { "ruid": "string" }, "result": [ {} ] }

List available hotel rooms

Request

This endpoint returns the cheapest available room for each hotel matching your check-in and check-out dates. You can search for hotels in a city, or for a specific list of (upto 300) hotels by hotel_ids. Here you will find whether the price included breakfast or other meals, as well as whether it is possible to cancel for free. It is possible to have a breakdown of the price returned by this endpoint and to filter by property types and/or hotel facilities.

Query
hotelAvailabilityInputDtoobject(HotelAvailabilityInputDto)required
hotelAvailabilityInputDto.checkinstring(date)required

The arrival date.

hotelAvailabilityInputDto.checkoutstring(date)required

The departure date. Must be later than {checkin}. Must be between 1 and 30 days after {checkin}.

hotelAvailabilityInputDto.hotel_idsArray of integers(int32)[ 0 .. 100 ] items

Limit the result list to up to 1000 specified hotels where they have availability for the specified guests and dates.

hotelAvailabilityInputDto.currencystring

Returns the price in this currency

hotelAvailabilityInputDto.guest_countrystringrequired

Guest country code. Used to accurately display the best prices and price details for people from that country.

hotelAvailabilityInputDto.no_roomsinteger(int32)required

The only group will be split in the given number of rooms automatically

hotelAvailabilityInputDto.user_platformstring

The user's platform.

Enum"ANDROID""DESKTOP""IOS""MOBILE""TABLET"
hotelAvailabilityInputDto.rowsinteger(int32)<= 1000

The maximum number of results to return.

hotelAvailabilityInputDto.pagestring

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

Headers
Acceptstring
Value"application/json"
curl -i -X GET \
  'https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v2-compatible/hotelAvailability?checkin=2019-08-24&checkout=2019-08-24&currency=string&guest_country=string&hotel_ids=0&no_rooms=0&page=string&rows=1000&user_platform=ANDROID' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <YOUR_string_HERE>'
Experience it firsthand in the API Explorer!

Responses

OK

Bodyapplication/json
metaobject(Meta)
resultArray of objects(HotelAvailabilityOutputDto)
Response
application/json
{ "meta": { "ruid": "string" }, "result": [ {} ] }

List all bookable rooms at a property

Request

This endpoint is where you find a list of all bookable or available rooms at a property. A room can have multiple blocks, as a block is a combination of the meal, cancellation policy, occupancy and other things. You can find detailed information about one hotel per search (detail_level) which will return most of the information needed to replicate the booking.com property page.

If you want to search multiple hotels, you can, but you get less detail. For searching multiple hotels, it is recommended to use hotelAvailability.

Query
blockInputobject(BlockAvailabilityInputDto)required
blockInput.hotel_idsArray of integers(int32)required

Hotel ID(s) to check availability for.

blockInput.checkinstring(date)required

The arrival date.

blockInput.checkoutstring(date)required

The departure date. Must be later than {checkin}.

blockInput.guest_ccstringrequired

Guest country code. Used to accurately display the best prices and price details for people from that country.

blockInput.currencystring

Returns the prices in this currency, in addition to the hotel currency.

blockInput.extrasArray of strings

The extra items for this request. See the documentation for more details about each extra.

Items Enum"ADDON_TYPE""NET_PRICE""RACK_RATES""MAX_ROOMS_IN_RESERVATION""SMOKING_STATUS""IMPORTANT_INFORMATION""ALL_EXTRA_CHARGES""ADDITIONAL_ROOM_INFO""GROUP_RECOMMENDATIONS""ROOM_TYPE_ID"
blockInput.affiliate_idstring

Application affiliate id

blockInput.block_idsArray of strings

Return only availability hits with these particular block IDs

Example:

"5555555_55555555_5_5_5,6666666_66666666_6_6_6"

blockInput.guest_ipstring

Guest IP address for determining guest country and showing the best price for that user and obeying laws regarding the display of taxes and fees.

blockInput.guest_qtyArray of integers(int32)

Number of guests for which blocks will be found. The total number of guests is used for calculating city tax charges. It is specified as an array of guest numbers.

If you use this parameter and make bookings through the API, you should also set the exact same value in the guest_quantities parameter for the processBooking call, otherwise per-person included charges may result in pricing problems, causing the booking to fail.

NOTE: After version 2.6 either this or room1 needs to be provided.

blockInput.languagestring

Specify the language for: block_id, policies, room texts and hotel descriptions.

Note: not all text is translated in all languages. Please check the "Possible Values" section of the documentation for the accepted language codes.

Enum"AR""BG""CA""CS""DA""DE""EL""EN""EN_GB""EN_US"
blockInput.num_roomsinteger(int32)

Takes a number of rooms to put guests into

blockInput.room1Array of strings

Which guests to put in which rooms. Syntax: comma-separated list, A for each adult, a number in the range 0..17 for each child.

blockInput.user_platformstring

The user's platform.

Enum"ANDROID""DESKTOP""IOS""MOBILE""TABLET"
Headers
Acceptstring
Value"application/json, application/xml"
curl -i -X GET \
  'https://developers.booking.com/_mock/metasearch/connect-api/open-api/demand-api-v2-compatible/blockAvailability?affiliate_id=string&block_ids=5555555_55555555_5_5_5%2C6666666_66666666_6_6_6&checkin=2019-08-24&checkout=2019-08-24&currency=string&extras=ADDON_TYPE&guest_cc=string&guest_ip=string&guest_qty=0&hotel_ids=0&language=AR&num_rooms=0&room1=string&user_platform=ANDROID' \
  -H 'Accept: application/json, application/xml' \
  -H 'Authorization: Bearer <YOUR_string_HERE>'
Experience it firsthand in the API Explorer!

Responses

OK

Body
metaobject(Meta)
resultArray of objects(BlockAvailabilityOutputDto)
Response
{ "meta": { "ruid": "string" }, "result": [ {} ] }