Skip to main content
Glama

MAQAMI Travel

post_hotels_rates

Read-only

Overview

Search for hotel rates and availability across multiple hotels. This is your primary endpoint for finding bookable hotel rooms with real-time pricing.

When to Use

  • Display hotel listings with prices on your search results page

  • Show detailed rate options for specific hotels users are viewing

  • Support multi-room bookings for families or groups

  • Filter hotels by location, amenities, ratings, or AI-powered semantic search

What You Get

  • Real-time rates with availability and pricing

  • Multiple room options per hotel, sorted by price

  • Complete booking details including cancellation policies, meal plans, and room types

  • Hotel information (name, photos, address, ratings) when searching by filters

Key Features

  • Multiple search methods: Search by hotel IDs, city/country, coordinates, Place ID, IATA code, or natural language (AI search)

  • Flexible filtering: Filter by star rating, facilities, hotel chains, accessibility, and more

  • Multi-room support: Book multiple rooms with different guest configurations in one request

  • Performance optimized: Default limit of 200 hotels (expandable to 5,000), recommended timeout of 6-12 seconds

  • Price consistency: Optional sessionId ensures rates stay consistent across listing and detail searches within a user session (accounts with price consistency enabled)

Quick Start

Required fields: checkin, checkout, currency, guestNationality, occupancies, plus one location method (hotel IDs, city/country, coordinates, Place ID, or IATA code)

Tip: When searching by filters (like aiSearch or cityName), hotel data is automatically included. For direct hotel ID searches, set includeHotelData=true to include hotel names and photos.

Price consistency: Generate a unique sessionId per user search session and include it on every rates request in that session, using the same checkin, and checkout.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipNoThe zip code of the search location. This is a filter on top of the main query.
feedNoWhich feed to use when searching for rates. This applies only to accounts with multiple feeds enabled
sortNoSorting criteria for the results. Multiple criteria can be provided, processed in order. The default sorting is by top picks (weighted by search popularity, review quality, and content completeness). Use 'revenue' to sort by historical booking value and monetary performance.
limitNoThe maximum number of results to return. Defaults to 200, max allowed is 5000.
marginNoOverride the markup percentage for this specific request. When provided, this value takes precedence over your account-level margin setting, allowing you to dynamically adjust pricing based on your business logic, customer segments, or other factors. Specified as a percentage number (e.g., `10` for 10% commission).
offsetNoThe number of results to skip for pagination. This paginates the passed hotels not the results returned so the actual returned results will vary.
radiusNoThe search radius in meters for location-based searches. Pairs with latitude to do a lat/long search.
streamNoIf true, enables streaming mode where response data is sent incrementally instead of as a single payload.
checkinYesThe check-in date in YYYY-MM-DD format (ISO 8601).
placeIdNoThe unique Place ID of the search location. Instead of using hotel IDs, pass a Place ID to get all the hotels in the specified region. This is a valid main query.
timeoutNoThe maximum time in seconds before the request times out. This is when the live request for rates will cut off responses; it will take a few more ms to return the value.
aiSearchNoAI-powered hotel search based on a natural language query. Uses semantic search to find hotels matching the query intent. Examples: 'Romantic getaway with Italian vibes in London near the London Eye', 'hotels near Paris'. This is a valid main query.
bedTypesNoFilter results by bed types extracted from room names. Only rates from rooms matching the specified bed types will be returned. Example values: 'double', 'twin', 'king', 'queen', 'single'.
chainIdsNoAn array of hotel chain IDs to filter the search results. This is a filter on top of the main query.
checkoutYesThe check-out date in YYYY-MM-DD format (ISO 8601).
cityNameNoThe name of the city to search for hotels in. Pairs with countryCode to do a country/city search.
currencyYesThe currency in which the prices will be displayed.
hotelIdsNoAn array of hotel IDs to search for availability and pricing. These are usually pulled from https://docs.liteapi.travel/reference/get_data-hotels.
iataCodeNoThe IATA code of the search location, typically an airport code. Instead of using hotel IDs, you can search by IATA code. This is a valid main query.
latitudeNoThe latitude coordinate for location-based hotel searches. Instead of using hotel IDs, you can search by lat/long and a radius around that spot. This is a valid main query.
boardTypeNoFilter results by board type(s). Can be a single value (e.g., 'BI') or comma-separated values (e.g., 'BI,HB') for OR logic. Example values: RO (Room Only), BI (Breakfast Included), HB (Half Board), FB (Full Board), AI (All Inclusive), DI (Dinner Included), LI (Lunch Included), BDI (Breakfast and Dinner Included), BLI (Breakfast and Lunch Included), LDI (Lunch and Dinner Included).
hotelNameNoA case-insensitive search for a hotel's name (e.g., 'Hilton').
longitudeNoThe longitude coordinate for location-based hotel searches. Pairs with latitude to do a lat/long search.
minRatingNoThe minimum rating (on a scale of 0-5) required for hotels in search results. This is a filter on top of the main query.
sessionIdNoOptional client-generated session identifier that ensures price consistency for the user's search session. When your account has price consistency enabled, pass the same `sessionId` with the same `checkin` and `checkout` across related requests in that session. Has no effect when price consistency is not enabled for your account.
facilitiesNoAn array of facility IDs. Results will include hotels with at least one of these facilities by default. This is a filter on top of the main query.
starRatingNoAn array of hotel star ratings to include. Ratings are rounded to the nearest half-star (e.g., [3.5, 4.0, 4.5, 5.0]). This is a filter on top of the main query.
countryCodeNoThe country code in ISO 2-letter format (e.g., 'SG' for Singapore). Instead of using hotel IDs, you can search by country/city. This is a valid main query.
occupanciesYesAn array of objects specifying the number of guests per room. Required.
roomMappingNoEnable room mapping to retrieve the mappedRoomId for each room. This allows you to link a rate to its specific room by combining it with hotel details, providing access to room images and additional information
hotelTypeIdsNoAn array of hotel type IDs to filter the search results. This is a filter on top of the main query.
roomAmenitiesNoLegacy room-level amenity filter. Only rates from rooms that match the specified amenities will be returned. Use amenityFilterLogic to control flat AND/OR behavior. If roomAmenitiesFilter is provided, it takes precedence over this field.
loyaltyProgramNoLoyalty program identifier used to request loyalty-eligible rates from supported suppliers. When set, rates that support the program may return member pricing and benefits.
minReviewsCountNoThe minimum number of reviews a hotel must have to be included in results. This is a filter on top of the main query.
guestNationalityYesThe guest's nationality in ISO 2-letter country code format.
includeHotelDataNoIf `true`, includes hotel data (name, main photo, address, rating) in the response even when searching by direct hotel IDs. By default, hotel data is only included when searching by filters (e.g., using `aiSearch`, `countryCode`, `cityName`, etc.). Setting this to `true` enables hotel data inclusion for all search types.
maxRatesPerHotelNoThe number of room rates to return per hotel, sorted by price (cheapest first). Set to 1 to just get the cheapest rate for each hotel, this is helpful for listing pages.
amenityFilterLogicNoLegacy logic applied to roomAmenities. 'AND': room must have all specified amenities. 'OR': room must have at least one specified amenity. Ignored when roomAmenitiesFilter is provided.
refundableRatesOnlyNoIf true, only refundable rates (RFN) will be included in the response.
roomAmenitiesFilterNoGrouped room-level amenity filter. Use '-' for OR within a group and ',' for AND across groups. Example: '1-2,3-4' means (1 OR 2) AND (3 OR 4). If provided, this field takes precedence over roomAmenities and amenityFilterLogic.
loyaltyProgramDetailsNoLoyalty membership details forwarded to supported suppliers to unlock member rates and benefits. Provide one entry per loyalty program membership.
strictFacilityFilteringNoIf enabled, only hotels with all specified facilities will be returned.
advancedAccessibilityOnlyNoIf true, only hotels with advanced accessibility features will be returned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds meaningful behavioral context beyond those annotations: default limit of 200 with a max of 5,000, recommended timeout of 6–12 seconds, sessionId price consistency, and includeHotelData behavior.

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?

The description is long, but its length is justified by the tool's 43-parameter search surface. It is front-loaded with an overview and organized into useful sections, though there is some repetition between 'What You Get' and 'Key Features' that could be tightened.

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

Completeness5/5

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

For a complex search endpoint with 43 parameters and no output schema, the description is complete enough: it covers required inputs, search methods, key behaviors, return content, and quick-start guidance. It does not need to restate every schema-level parameter because schema coverage is full.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds useful cross-parameter semantics by stating the required base fields and the need for one location method among hotel IDs, city/country, coordinates, Place ID, or IATA code, plus sessionId usage across related requests.

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?

The description states a specific verb and resource: 'Search for hotel rates and availability across multiple hotels,' and calls itself the 'primary endpoint for finding bookable hotel rooms with real-time pricing.' This clearly distinguishes it from adjacent tools such as post_hotels_min_rates and post_rates_book.

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?

The 'When to Use' section gives explicit usage contexts, including displaying hotel listings, showing detailed rates, supporting multi-room bookings, and filtering hotels. However, it does not name exclusion cases or point to sibling alternatives when this tool is not appropriate.

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