Compare Hotels
compare_hotelsFull Description
Compares hotels either by explicitly specified hotels or by automatically selecting hotels within a given geographic area. This tool supports two mutually exclusive comparison modes:
- Explicit hotel comparison: compare specific hotels provided via the
locationsparameter (minimum 2). - Area-based comparison: automatically select and compare a representative set of hotels from a geographic area via
hotelArea.
When no specific hotels are named, use hotelArea. When specific hotels are named, use locations. Useful for comparing subratings like location, cleanliness, service, value, etc. The response includes key comparison fields like name, rating, price, amenities, etc.
Examples of when to use hotelArea:
- "Compare hotels in Boston"
- "Compare hotels in Paris for Saturday"
- "Compare hotels near Tower Bridge, London"
- "Compare hotels near the Eiffel Tower, Paris"
- "Compare hotels around Times Square"
- "Compare hotels in Back Bay, Boston"
Examples of when to use locations (specific hotels named):
- "Compare Hotel Continental and Grand Hotel in Paris"
- "Compare these hotels: Marriott Boston, Hilton Boston, and Hyatt Boston"
Parameters (5 required, 7 optional)
hotelAreastringGeographic area for automatic hotel comparison. The tool resolves the area and automatically selects a representative set of hotels for side-by-side comparison. Should be as specific as possible (e.g. 'Tower Bridge, London' rather than 'Tower Bridge'). Mutually exclusive with locations.
locationIdsarrayOptional Tripadvisor internal hotel IDs. Not expected from LLMs; used by widget when available.
locationsarrayExplicit list of hotels to compare. Each entry should be a specific hotel name with location (e.g. 'Hotel Continental, Paris, France') to disambiguate. The tool resolves each entry to a hotel ID for side-by-side comparison. Mutually exclusive with hotelArea. Minimum 2 entries.
mcpServerVersionobjectThe MCP server version to use.
requestContextobjectMetadata about the request, not generally intended to be consumed directly by user, e.g.user-id, session-id etc.Much of this is expected to be echoed back and forth, so if you don't provide some values, we may generate them for you, and you are expected to use them in future requests to ALL endpoints on this API.See each field for more details.
checkInstringThe date, in YYYY-MM-DD format, to check into the hotels for detailed pricing information, if provided the date must not be in the past and cannot be more than 1 year (365 days) in the future. Defaults to 2 weeks in the future.
checkOutstringThe date, in YYYY-MM-DD format, to check out of the hotels for detailed pricing information. This must be after checkIn and uses the same format, with a default of 2 days after checkIn and a maximum of 30 days apart.
childrenAgesarrayAges of children staying. Required when children are included in the stay.
guestsintegerNumber of adult guests (excludes children; use childrenAges for children). Defaults to 2.
pricingModestringPricing mode that determines how long to wait for pricing information. NONE - returns immediately without pricing, QUICK - waits a relatively short time for basic pricing, Defaults to QUICK.
NONEQUICKroomsintegerThe number of rooms required for the hotel stays. This defaults to 1 room.
toolRequestMetadataobjectA copy of the fields normally set in the `_meta` section of the request. If you are calling from an LLM, this can be left out.