Skip to main content
Glama

booking_search: GET /

hasdata_booking_search_getBookingSearchResults
Read-only

Get Booking Search Results

Searches Booking.com for accommodations by destination keyword and stay dates (checkInDate / checkOutDate) with guest composition (rooms, adults, children with ages) and rich filtering: property type, star rating, review score, hotel and room facilities, distance from center, reservation policy, bed preference, travel group, online payment, accessibility, plus optional price range and bedroom/bathroom counts. Pagination is page-based with 25 results per page; locale is controlled by language and currency. Returns each hotel's hotelId, title and Booking URL, location info (city, address, coordinates, distance to center / nearest beach), policies (free cancellation, no prepayment, child/pet stays), price (per stay, before discount, discount, currency), rating, review summary and main photo. Use to power travel-planning agents, OTA price/inventory monitoring, hotel competitor analysis, lead-generation in the hospitality vertical, or to feed hotelId / URL into the Booking Place endpoint for full property details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number of the search results. Booking.com returns 25 results per page; pass `2` for results 26–50, `3` for 51–75, etc.
sortNoSort order applied by Booking.com to the results page.
roomsYesNumber of rooms to book.
adultsYesNumber of adult guests across all rooms.
keywordYesFree-text destination query. Usually a city, region or neighborhood (e.g. `Paris`, `Manhattan, New York`); a specific property name is also accepted.
meals__NoFilter by available meal plans. Multiple values are combined with OR.
bedroomsNoMinimum number of bedrooms in the property.
childrenYesNumber of child guests across all rooms (0–10). Pass `0` if there are no children.
currencyNoCurrency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`.
languageNoLanguage of the Booking.com interface and localized fields in the response.
rating__NoFilter by official star rating. Multiple values are combined with OR.
bathroomsNoMinimum number of bathrooms in the property.
price_max_NoMaximum total price for the stay, in the requested `currency`. Must be `>= 20` and greater than `price[min]`. Required if `price[min]` is omitted.
price_min_NoMinimum total price for the stay, in the requested `currency`. Must be `>= 10`. Required if `price[max]` is omitted.
checkInDateYesCheck-in date in `YYYY-MM-DD` format. Must be in the future and earlier than `checkOutDate`.
checkOutDateYesCheck-out date in `YYYY-MM-DD` format. Must be later than `checkInDate`.
childrenAgesNoComma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`. Example: `1,3,7`
facilities__NoFilter by property-level facilities. Multiple values are combined with OR.
reviewScore__NoFilter by minimum guest review score bucket. Multiple values are combined with OR.
travelGroup__NoFilter by travel-group oriented stay options. Multiple values are combined with OR.
propertyType__NoFilter by property type. Multiple values are combined with OR.
bedPreference__NoFilter by bed configuration. Multiple values are combined with OR.
onlinePayment__NoFilter by online payment options.
roomFacilities__NoFilter by in-room facilities. Multiple values are combined with OR.
reservationPolicy__NoFilter by reservation flexibility. Multiple values are combined with OR.
roomAccessibility__NoFilter by in-room accessibility features. Multiple values are combined with OR.
distanceFromCenter__NoFilter by distance from the destination center. Multiple values are combined with OR.
propertyAccessibility__NoFilter by property-level accessibility features. Multiple values are combined with OR.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / currency / description
      Previous value: -"Currency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency."New value: +"Currency of the prices returned in the response. Use `hotelCurrency` to keep each property's native currency. Provide one exact documented value (52 allowed), e.g. `hotelCurrency`, `usd`."
    • removedInput schema / properties / currency / enum
      Removed value: -[
      -  "hotelCurrency",
      -  "usd",
      -  "eur",
      -  "aed",
      -  "ars",
      -  "aud",
      -  "azn",
      -  "bhd",
      -  "brl",
      -  "cad",
      -  "chf",
      -  "clp",
      -  "cny",
      -  "cop",
      -  "czk",
      -  "dkk",
      -  "egp",
      -  "fjd",
      -  "gbp",
      -  "gel",
      -  "hkd",
      -  "huf",
      -  "idr",
      -  "ils",
      -  "inr",
      -  "isk",
      -  "jod",
      -  "jpy",
      -  "krw",
      -  "kwd",
      -  "kzt",
      -  "mdl",
      -  "mop",
      -  "mxn",
      -  "myr",
      -  "nad",
      -  "nok",
      -  "nzd",
      -  "omr",
      -  "pln",
      -  "qar",
      -  "ron",
      -  "rub",
      -  "sar",
      -  "sek",
      -  "sgd",
      -  "thb",
      -  "try",
      -  "twd",
      -  "uah",
      -  "xof",
      -  "zar"
      -]
  2. Changed30 schema fields changed
    • removedInput schema / properties / bedPreference[]
      Removed value: -{
      -  "description": "Filter by bed configuration. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "twinBeds",
      -      "doubleBed"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / bedPreference__
      Added value: +{
      +  "description": "Filter by bed configuration. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "twinBeds",
      +      "doubleBed"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / distanceFromCenter[]
      Removed value: -{
      -  "description": "Filter by distance from the destination center. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "lessThan1Km",
      -      "lessThan3Km",
      -      "lessThan5Km"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / distanceFromCenter__
      Added value: +{
      +  "description": "Filter by distance from the destination center. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "lessThan1Km",
      +      "lessThan3Km",
      +      "lessThan5Km"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / facilities[]
      Removed value: -{
      -  "description": "Filter by property-level facilities. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "swimmingPool",
      -      "parking",
      -      "spa",
      -      "freeWifi",
      -      "hotTubJacuzzi",
      -      "airportShuttle",
      -      "fitnessCenter",
      -      "restaurant",
      -      "nonSmokingRooms",
      -      "frontDesk24Hour",
      -      "electricVehicleChargingStation",
      -      "wheelchairAccessible",
      -      "roomService"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / facilities__
      Added value: +{
      +  "description": "Filter by property-level facilities. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "swimmingPool",
      +      "parking",
      +      "spa",
      +      "freeWifi",
      +      "hotTubJacuzzi",
      +      "airportShuttle",
      +      "fitnessCenter",
      +      "restaurant",
      +      "nonSmokingRooms",
      +      "frontDesk24Hour",
      +      "electricVehicleChargingStation",
      +      "wheelchairAccessible",
      +      "roomService"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / meals[]
      Removed value: -{
      -  "description": "Filter by available meal plans. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "breakfastIncluded",
      -      "kitchenFacilities"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / meals__
      Added value: +{
      +  "description": "Filter by available meal plans. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "breakfastIncluded",
      +      "kitchenFacilities"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / onlinePayment[]
      Removed value: -{
      -  "description": "Filter by online payment options.",
      -  "items": {
      -    "enum": [
      -      "acceptsOnlinePayments"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / onlinePayment__
      Added value: +{
      +  "description": "Filter by online payment options.",
      +  "items": {
      +    "enum": [
      +      "acceptsOnlinePayments"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / price[max]
      Removed value: -{
      -  "description": "Maximum total price for the stay, in the requested `currency`. Must be `>= 20` and greater than `price[min]`. Required if `price[min]` is omitted.",
      -  "type": "number"
      -}
    • removedInput schema / properties / price[min]
      Removed value: -{
      -  "description": "Minimum total price for the stay, in the requested `currency`. Must be `>= 10`. Required if `price[max]` is omitted.",
      -  "type": "number"
      -}
    • addedInput schema / properties / price_max_
      Added value: +{
      +  "description": "Maximum total price for the stay, in the requested `currency`. Must be `>= 20` and greater than `price[min]`. Required if `price[min]` is omitted.",
      +  "type": "number"
      +}
    • addedInput schema / properties / price_min_
      Added value: +{
      +  "description": "Minimum total price for the stay, in the requested `currency`. Must be `>= 10`. Required if `price[max]` is omitted.",
      +  "type": "number"
      +}
    • removedInput schema / properties / propertyAccessibility[]
      Removed value: -{
      -  "description": "Filter by property-level accessibility features. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "auditoryGuidance",
      -      "toiletWithGrabRails",
      -      "visualAidsTactileSigns",
      -      "visualAidsBraille",
      -      "bathroomEmergencyCord",
      -      "raisedToilet",
      -      "loweredSink"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / propertyAccessibility__
      Added value: +{
      +  "description": "Filter by property-level accessibility features. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "auditoryGuidance",
      +      "toiletWithGrabRails",
      +      "visualAidsTactileSigns",
      +      "visualAidsBraille",
      +      "bathroomEmergencyCord",
      +      "raisedToilet",
      +      "loweredSink"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / propertyType[]
      Removed value: -{
      -  "description": "Filter by property type. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "hostels",
      -      "bedAndBreakfast",
      -      "hotels",
      -      "apartments",
      -      "resorts",
      -      "guesthouses",
      -      "homestays",
      -      "entireHomesAndApartments"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / propertyType__
      Added value: +{
      +  "description": "Filter by property type. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "hostels",
      +      "bedAndBreakfast",
      +      "hotels",
      +      "apartments",
      +      "resorts",
      +      "guesthouses",
      +      "homestays",
      +      "entireHomesAndApartments"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / rating[]
      Removed value: -{
      -  "description": "Filter by official star rating. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "oneStar",
      -      "twoStars",
      -      "threeStars",
      -      "fourStars",
      -      "fiveStars"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / rating__
      Added value: +{
      +  "description": "Filter by official star rating. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "oneStar",
      +      "twoStars",
      +      "threeStars",
      +      "fourStars",
      +      "fiveStars"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / reservationPolicy[]
      Removed value: -{
      -  "description": "Filter by reservation flexibility. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "freeCancellation",
      -      "noPrepayment"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / reservationPolicy__
      Added value: +{
      +  "description": "Filter by reservation flexibility. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "freeCancellation",
      +      "noPrepayment"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / reviewScore[]
      Removed value: -{
      -  "description": "Filter by minimum guest review score bucket. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "wonderful",
      -      "veryGood",
      -      "good",
      -      "pleasant"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / reviewScore__
      Added value: +{
      +  "description": "Filter by minimum guest review score bucket. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "wonderful",
      +      "veryGood",
      +      "good",
      +      "pleasant"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / roomAccessibility[]
      Removed value: -{
      -  "description": "Filter by in-room accessibility features. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "upperFloorsAccessibleByElevator",
      -      "entireUnitLocatedOnGroundFloor",
      -      "walkInShower",
      -      "entireUnitWheelchairAccessible",
      -      "adaptedBath",
      -      "rollInShower",
      -      "showerChair",
      -      "emergencyCordInBathroom",
      -      "toiletWithGrabRails",
      -      "raisedToilet",
      -      "lowerSink"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / roomAccessibility__
      Added value: +{
      +  "description": "Filter by in-room accessibility features. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "upperFloorsAccessibleByElevator",
      +      "entireUnitLocatedOnGroundFloor",
      +      "walkInShower",
      +      "entireUnitWheelchairAccessible",
      +      "adaptedBath",
      +      "rollInShower",
      +      "showerChair",
      +      "emergencyCordInBathroom",
      +      "toiletWithGrabRails",
      +      "raisedToilet",
      +      "lowerSink"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / roomFacilities[]
      Removed value: -{
      -  "description": "Filter by in-room facilities. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "privateBathroom",
      -      "balcony",
      -      "seaView",
      -      "kitchenKitchenette",
      -      "airConditioning",
      -      "bathtub",
      -      "hotTub",
      -      "view",
      -      "spaTub",
      -      "upperFloorsAccessibleByElevator",
      -      "microwave",
      -      "refrigerator",
      -      "coffeeMachine",
      -      "electricKettle",
      -      "heating",
      -      "towels",
      -      "toilet",
      -      "mountainView",
      -      "flatScreenTv",
      -      "tv",
      -      "coffeeTeaMaker",
      -      "hairdryer",
      -      "toiletPaper",
      -      "shower",
      -      "linens"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / roomFacilities__
      Added value: +{
      +  "description": "Filter by in-room facilities. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "privateBathroom",
      +      "balcony",
      +      "seaView",
      +      "kitchenKitchenette",
      +      "airConditioning",
      +      "bathtub",
      +      "hotTub",
      +      "view",
      +      "spaTub",
      +      "upperFloorsAccessibleByElevator",
      +      "microwave",
      +      "refrigerator",
      +      "coffeeMachine",
      +      "electricKettle",
      +      "heating",
      +      "towels",
      +      "toilet",
      +      "mountainView",
      +      "flatScreenTv",
      +      "tv",
      +      "coffeeTeaMaker",
      +      "hairdryer",
      +      "toiletPaper",
      +      "shower",
      +      "linens"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / travelGroup[]
      Removed value: -{
      -  "description": "Filter by travel-group oriented stay options. Multiple values are combined with OR.",
      -  "items": {
      -    "enum": [
      -      "adultsOnly",
      -      "petFriendly"
      -    ],
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / travelGroup__
      Added value: +{
      +  "description": "Filter by travel-group oriented stay options. Multiple values are combined with OR.",
      +  "items": {
      +    "enum": [
      +      "adultsOnly",
      +      "petFriendly"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / childrenAges
      Added value: +{
      +  "description": "Comma-separated list of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the number of ages must equal `children`.\n\nExample: `1,3,7`\n",
      +  "type": "string"
      +}
    • removedInput schema / properties / childrenAgesJson
      Removed value: -{
      -  "description": "JSON-encoded array of child ages, one entry per child (each `0`–`17`). Required when `children > 0` and the array length must equal `children`. Must not be passed when `children = 0`.\n\nExample: `[1, 3, 7]`\n",
      -  "type": "string"
      -}
  4. Added

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, openWorldHint, destructiveHint=false), so the bar is lower. The description adds genuinely useful behavior beyond them: page-based pagination at 25 results/page, plus a detailed return-shape summary (price semantics, rating, policies, photo) that compensates for the absent output schema. It omits rate limits and auth requirements, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose in the opening line and wastes little, but the body is a single dense run-on sentence enumerating filters and return fields, some of which restate the schema. Efficient overall, with mild redundancy in the return-field list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 28-parameter search tool with no output schema, the description does the heavy lifting: it outlines the filter dimensions and describes the returned hotel fields, so an agent knows what comes back. Only operational details like error behavior or rate limits are missing, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 28 parameters including pagination, locale, price bounds and child ages. The description adds no syntax or constraint detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Searches Booking.com for accommodations') and enumerates the scope precisely (destination keyword, stay dates, guest composition, rich filter list, pagination, locale). It also names the sibling endpoint it feeds into (`hotelId`/URL into Booking Place), so an agent can distinguish search from place-details without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names target scenarios (travel-planning agents, OTA price/inventory monitoring, competitor analysis, lead-gen) and routes to the sibling when full property details are needed. It stops short of stating exclusions or prerequisites (e.g. valid date/guest constraints beyond what the schema enforces), so it is clear context rather than a complete routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources