Connect Search, Room Rates & Pricing
The Hotel Rate APIs cover everything from searching for available hotels through to confirmed booking. They connect directly to your configured suppliers via their Affiliate IDs — there is no channel layer, no location resolution, and no business logic. You pass hotel IDs, we return rates.
The search-to-book flow
Search Hotels — or — Direct Rooms & Rates
Two entry points depending on your user journey. Use Search Hotels when the user is browsing a list of results. Use Direct Rooms & Rates when they land on a specific hotel page directly.
Rooms & Rates (after Search Hotels only)
User selects a hotel from search results. Pass the token from Search Hotels to fetch full room and rate details for that property.
Price — mandatory
User reaches checkout. Always call Price before booking to validate the rate is still live and get the latest cancellation policy. The token returned here must be passed to Book.
Book
Payment confirmed. Submit guest and payment details. Returns a bookingId and confirmation voucher.
Search Hotels
The starting point for most flows. Pass up to 200 hotel IDs — from your synced content database — along with check-in/check-out dates, occupancy for up to 6 rooms, and the Affiliate ID of the supplier you want to query. Connect routes the request to that supplier and returns available rooms and rates in a standardised format.
The response also includes a token — hold on to this, you need it for the Rooms & Rates call when the user picks a hotel.
GET or POST — choose based on your request size
Search Hotels supports both GET and POST. Both return identical responses — the difference is only in how you pass the parameters.
Parameters as query strings
Pass hotel IDs and search params directly in the URL. Simple for small requests, but URLs grow very long when passing many hotel IDs — some clients and servers have URL length limits that this can hit.
Parameters in the request body
Pass everything in a JSON body instead. Recommended when searching a large number of hotels — avoids URL length limitations entirely and keeps requests cleaner.
Multi-room searches
Connect supports up to 6 rooms in a single search request. Pass occupancy for each room separately using the room1AdultCount through room6AdultCount parameters. Include child ages where applicable using the corresponding roomNChildAges array.
Rooms & Rates
User selects a hotel from the search results page. Call this API with the hotelId and the searchResponseToken from Search Hotels to get the full list of available room types and rate options for that property.
The response returns a new token — pass this to the Price API when the user reaches checkout.
Direct Rooms & Rates
An alternative entry point for flows where no prior search was performed — for example, when a user follows a deep link directly to a hotel page, or when you want to show rates for a specific property without a search results page.
Instead of passing a search token, you pass the full search parameters (dates, occupancy, currency) directly. The response structure is identical to Rooms & Rates and also returns a token to pass to Price. Supports up to 6 rooms, same as Search Hotels.
Use Rooms & Rates when...
The user selected a hotel from a search results page. You already have a searchResponseToken from the Search Hotels call.
Use Direct Rooms & Rates when...
The user landed directly on a hotel page. No prior search was made, so there is no token — you pass search params directly instead.
Price
The user is on the checkout page. Before confirming any booking, always call Price. This validates the selected rate against the supplier in real time — confirming it is still available and returning the latest price and cancellation policy.
If the price has changed since Rooms & Rates, the response will reflect the updated amount. Show this to the user before they confirm payment.
The Price response returns a token that must be included in the Book request. This is how Connect knows the price was validated before the booking was submitted.
Price also returns the final allGuestsInfoRequired and cardRequired flags — use these to decide exactly what information to collect from the user before calling Book.
Full parameter details for all Rate APIs are available in the API Reference.
Updated 14 days ago