---
title: "Booking.com Property"
method: GET
path: "/search"
---

# Booking.com Property

`GET /search`

## Request

- Base URL: `https://www.searchapi.io/api/v1`
- URL: `https://www.searchapi.io/api/v1/search`
- Auth: one of:
  - API key in header `Authorization`
  - API key in query parameter `api_key`

## Query parameters

- `engine` 'booking_property', required
- `url` string, required
- `check_in_date` string
- `check_out_date` string
- `adults` integer
- `children_ages` string
- `rooms` integer
- `currency` 'AED' | 'ARS' | 'AUD' | 'AZN' | 'BHD' | 'BRL' | 'BGN' | 'CAD' | 'XOF' | 'CLP' | 'CNY' | 'COP' | 'CZK' | 'DKK' | 'EGP' | 'EUR' | 'FJD' | 'GEL' | 'HKD' | 'HUF' | 'INR' | 'IDR' | 'ILS' | 'JPY' | 'JOD' | 'KZT' | 'KRW' | 'KWD' | 'KGS' | 'LAK' | 'MYR' | 'MXN' | 'MDL' | 'NAD' | 'TWD' | 'NZD' | 'NOK' | 'OMR' | 'PLN' | 'GBP' | 'QAR' | 'RON' | 'RUB' | 'SAR' | 'RSD' | 'SGD' | 'ZAR' | 'SEK' | 'CHF' | 'THB' | 'TRY' | 'UAH' | 'USD' | 'UZS' | 'VND'
- `language` 'en-gb' | 'en-us' | 'de' | 'nl' | 'fr' | 'es' | 'es-ar' | 'ca' | 'it' | 'pt-pt' | 'pt-br' | 'no' | 'fi' | 'sv' | 'da' | 'cs' | 'hu' | 'ro' | 'ja' | 'zh-cn' | 'zh-tw' | 'pl' | 'el' | 'ru' | 'tr' | 'bg' | 'ar' | 'ko' | 'he' | 'lv' | 'uk' | 'id' | 'ms' | 'th' | 'et' | 'hr' | 'sk' | 'sr' | 'sl' | 'vi' | 'tl' | 'is' | 'lt' | 'en'
- `api_key` string

## Response `200`

Successful response

- SearchResponse
  - `search_metadata` SearchMetadata
    - `id` string, required: Unique identifier for the search request
    - `status` string, required: Status of the search request
    - `created_at` string, date-time, required: Timestamp when the search was created
    - `request_time_taken` number: Time taken to make the request in seconds
    - `parsing_time_taken` number: Time taken to parse the results in seconds
    - `total_time_taken` number: Total time taken for the search in seconds
    - `request_url` string: Booking.com URL for this search
    - `html_url` string: URL to view HTML results
    - `json_url` string: URL to view JSON results
  - `search_parameters` SearchParameters
    - `engine` string
    - `url` string
    - `check_in_date` string
    - `check_out_date` string
    - `adults` integer
    - `children_ages` string
    - `rooms` integer
    - `currency` string
    - `language` string
  - `property_information` PropertyInformation
    - `property_id` string: Booking's own numeric id for the property.
    - `city_id` string: The destination id of the property's city, in the same id space as the booking_autocomplete engine's dest_id.
    - `page_name` string: The property's slug in its Booking URL.
    - `property_type` string: The kind of place, e.g. HOTEL, APARTMENT, HOSTEL.
    - `rating_word` string: The label Booking prints beside the score, e.g. "Fabulous". Matches the search engine's field of the same name.
    - `hotel_class` number: The property's rating out of 5, same source and semantics as the booking engine's field, so it is not lost when drilling from a search result into the property.
    - `is_self_rated` boolean: Present and true when hotel_class is the property's own claim rather than an official star rating.
    - `brand` string: The brand the property trades under, where it belongs to one.
    - `chain_id` string: Booking's id for the operating chain, for grouping inventory by operator.
    - `is_preferred` boolean: Present and true when the property is a Booking preferred partner.
    - `currency` string: The ISO code the prices on this page are displayed in — the same code the room rates carry. Omitted when the page states no currency and the request asked for none: a bare "$" is 29 currencies and names none of them.
    - `base_currency` string: The property's own base currency. It does not follow the `currency` parameter, so it disagrees with the prices whenever another one is requested.
    - `languages_spoken` string[]: ISO codes of the languages the property's staff speak.
    - `is_sustainable` boolean: Present and true when the property holds a recognised sustainability certification.
    - `sustainability_certifications` string[]: The certification names behind is_sustainable.
    - `name` string: The property name.
    - `description` string: The property description.
    - `address` string: The property address, as a single pre-joined line.
    - `street` string: The street line of the address. Same key the search engine publishes.
    - `city` string
    - `region` string
    - `postal_code` string
    - `country_code` string: Two-letter country code. Same key the search engine publishes.
    - `country` string: The country's display name, as Booking prints it (e.g. "Croatia", "UK").
    - `rating` number: The overall guest review score, on Booking's 0-10 scale.
    - `max_rating` integer: The top of the rating scale, read from the page itself. Always 10 on Booking.
    - `reviews` integer: The total number of guest reviews.
    - `review_breakdown` object: Per-category guest scores, keyed by Booking's own category id (staff, clean, comfort, location, services, value, free_wifi). The ids are stable across languages, so the keys do not change with language. Each value carries the score, the translated label, and the city-average band Booking publishes beside it.
    - `check_in_time` string: The earliest check-in time.
    - `check_out_time` string: The latest check-out time.
    - `gps_coordinates` object
      - `latitude` number
      - `longitude` number
    - `url` string: The canonical property page URL.
    - `thumbnail` string: The hero image URL.
    - `images` string[]: The full accommodation gallery, every image at the same max1024x768 variant. Room photos are included, since Booking publishes them as gallery members too.
  - `rooms` Room[]: Bookable room offers with rates for the requested stay. Returned only when both check_in_date and check_out_date are supplied and the property has availability; omitted otherwise.
    - `position` integer: The position of the room in the list.
    - `name` string: The room type name.
    - `bed_configuration` string: The bed setup of the room.
    - `price` string: The room price for the stay.
    - `extracted_price` number: The numeric room price.
    - `currency` string: The ISO code the rate is displayed in — the same code as `property_information.currency`. Not `property_information.base_currency`, which is the property's own base currency and does not follow the `currency` parameter.
    - `room_size` number: The room's floor area.
    - `room_size_unit` string
    - `max_guests` integer
    - `max_children` integer
    - `bathrooms` integer
    - `is_smoking` boolean: Present and true when the room is a smoking room. Omitted otherwise.
    - `bed_options` array[]: Every bed setup the room can be made up as, not just the one the rate row prints. Each entry is one configuration, listing its beds.
      - object[]
        - `type` string
        - `count` integer
    - `is_partner_offer` boolean: Present and true when the rate is resold by an external partner rather than offered by Booking.com directly. Partner rates carry their own tax and cancellation terms, and describe themselves rather than inheriting the room type of the direct rates around them. Omitted on direct rates.
  - `amenities` Amenity[]: The property's headline facilities. Read from Booking's own facility list rather than the rendered chips, which drift in wording within one language and carry neither a stable identifier nor a filter token.
    - `name` string: The facility's name in the requested language.
    - `slug` string: Booking's own identifier for the facility, stable across languages and properties.
    - `value` string: The facet token that filters a Booking.com API search on this facility (e.g. hotelfacility=11), usable directly in that engine's filters parameter.
  - `review_topics` string[]: The topics guests can filter reviews by.
  - `review_summary` ReviewSummary: An AI-generated summary of guest reviews. Booking ships it either as typed pros/cons bullets or as a prose block, so a response carries `pros`/`cons` or `highlights`, not both.
    - `summarized_reviews` integer: How many reviews the summary was written from. This is the summary's own sample size, not the property's review count — read property_information.reviews for that.
    - `language` string: The language the summary was written in.
    - `highlights` string[]: The prose form of the summary, one entry per bullet.
    - `pros` ReviewSummaryBullet[]
      - `text` string: The claim the bullet makes.
      - `mentions` integer: How many reviews back the claim.
      - `sentiment` string: positive, negative or mixed. A mixed bullet in `cons` is not a complaint.
    - `cons` ReviewSummaryBullet[]
      - `text` string: The claim the bullet makes.
      - `mentions` integer: How many reviews back the claim.
      - `sentiment` string: positive, negative or mixed. A mixed bullet in `cons` is not a complaint.
  - `featured_reviews` FeaturedReview[]
    - `author` string: The reviewer's name.
    - `country_code` string: The reviewer's two-letter country code.
    - `title` string: The review's headline.
    - `liked` string: What the guest said they liked. Present on most reviews.
    - `disliked` string: What the guest said they disliked. Omitted when they raised nothing.
    - `rating` number: The score this guest gave, on Booking's 0-10 scale.
    - `language` string
    - `travel_type` string: e.g. Couple, Family With Young Children, Solo Traveller.
    - `trip_type` string: e.g. Leisure, Business.
  - `nearby_places` NearbyPlaceGroup[]: Surroundings grouped by category, from Booking's property-surroundings dataset. The fuller of the two beach sources: its "Beaches in the neighbourhood" group carries coordinates and transport links, and generally lists more beaches than nearby_beaches. Distances are abbreviated (750 ft, 0.7 mi).
    - `category` string: The surroundings category (e.g. "Restaurants & cafes", "Top attractions").
    - `places` NearbyPlace[]
      - `name` string: The place name.
      - `type` string: The place classification (e.g. Restaurants, Beaches).
      - `cuisine` string: The cuisine type, for dining places.
      - `distance` string: The localized distance from the property.
      - `gps_coordinates` object
        - `latitude` number
        - `longitude` number
      - `transportations` object[]: How to reach the place. Where Booking publishes both, walking and driving are returned side by side rather than only its preferred mode.
        - `type` 'Walking' | 'Driving' | 'Public transport': The commute mode (e.g. Walking, Driving).
        - `duration` string: The localized commute time.
        - `distance` string: The localized commute distance.
        - `extracted_distance` integer: The commute distance in metres, always metric whatever unit `distance` is localized to.
  - `nearby_beaches` NearbyBeach[]: Beaches from Booking's trip-types dataset, which is the only source carrying a rating per beach. It is a different dataset from the beach group inside nearby_places, so the two round distances differently (800 feet vs 750 ft) and neither is a strict superset of the other. Match on beach name to combine them.
    - `name` string: The beach name.
    - `distance` string: The localized distance from the property.
    - `rating` number: The beach review score, on Booking's 0-10 scale.
  - `house_rules` HouseRules
    - `check_in` string: The check-in time range.
    - `check_out` string: The check-out time range.
    - `minimum_check_in_age` integer: The minimum age required to check in.
    - `age_restriction` string: The check-in age restriction phrase.
    - `quiet_hours` string: The quiet hours policy.
    - `curfew` string: The curfew policy.
    - `smoking` string: The smoking policy.
    - `parties` string: The parties/events policy.
    - `group_policy` string: The policy for group bookings.
    - `payment_methods` string[]: The accepted payment methods.
    - `is_cash_accepted` boolean: Present and true when the property takes cash. Booking publishes this as a pseudo-card in the accepted-card list rather than as a flag, so it is returned here instead of as a payment method called "Cash only". Omitted otherwise.
    - `children` object: The property's children and extra-bed policy.
      - `are_children_allowed` boolean: Present and true when children may stay. Omitted otherwise.
      - `minimum_age` integer: The youngest age the property accepts, when it sets one.
      - `are_cribs_allowed` boolean: Present and true when cribs are available. Omitted otherwise.
      - `are_extra_beds_allowed` boolean: Present and true when extra beds are available. Omitted otherwise.
    - `pets` object: The property's pet policy.
      - `are_pets_allowed` boolean: Present and true when pets may stay. Omitted otherwise.
      - `charges` string: How pets are charged, e.g. "charges may apply", "free of charge", "not applicable".
  - `meals` object[]: Meals the property serves, priced separately from the room. Omitted where the property serves none.
    - `type` string: e.g. BREAKFAST.
    - `price` string
    - `extracted_price` number
    - `styles` string[]
    - `cuisines` string[]
    - `dietary_options` string[]
  - `fine_print` string: Booking's "fine print" block: ID and credit-card requirements, minor check-in rules and special-request caveats. Rendered-page only, and genuinely absent on some properties.
  - `faqs` Faq[]
    - `question` string: The traveller's question.
    - `answer` string: The answer.
    - `asked_date` string: The date the question was asked.
    - `answered_date` string: The date the question was answered.

## Other responses

- `400`: Validation Error. There is an issue with query parameters, such as missing required parameters or invalid values.
- `401`: Authentication Error. The API key is missing or invalid.
- `429`: Rate Limit Exceeded. The number of allowed requests has been exceeded.
- `500`: Server Error. Internal server error.
- `503`: Timeout, or Booking answered but returned nothing usable (an unknown property, a delisted one redirected to a search page, or a page that never carried results). The body is a bare {"error": ...} rather than a search response, and the search is not billed.

---

[API](https://skmtc.dev/searchapi/apis/booking-com-property-api.md) - [All operations](https://skmtc.dev/searchapi/apis/booking-com-property-api/llms.txt) - [OpenAPI document](https://skmtc.dev/searchapi/apis/booking-com-property-api/revisions/839b25d4096b?raw)
