Price your selected hotels
You price up to 10 hotels for the same stay and room occupancies; split a longer search page across several requests. You name them by the service's hotel_ids, or by supplier with that supplier's supplier_hotel_ids from search, never both. You request at most 250 offers in total, hotel IDs times max_offers_per_hotel, to bound the response. Request hotels from one supplier at a time. Each returned offer_reference binds the complete room selection, stay, source market and price to your organization. Pass it to prebook before expires_at. You receive every room in rooms, in your requested occupancy order, with its available display and cancellation terms. Top-level room_type and board remain first-room summaries; total and any offer-level policy cover the whole stay and are counted once. You review the confirmed terms again after prebook. Promotions list each promotion once with the room positions it applies to; the total already includes them. Amounts use major currency units.
Your API key. Issued and revoked from the TrustPixel dashboard; the gateway resolves it to an owning organization on every request.
In: header
Header Parameters
Correlation id echoed to the upstream service and returned on the response. Generated as req_<uuid> when omitted.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/hotel/offers" \ -H "Content-Type: application/json" \ -d '{ "hotel_ids": [ "htl_example" ], "check_in": "2027-11-22", "check_out": "2027-11-24", "occupancy": [ { "adults": 2, "children": [] }, { "adults": 2, "children": [] } ], "guest_nationality": "GB", "guest_residence": "GB", "currency": "USD", "max_offers_per_hotel": 5 }'{ "data": [ { "hotel_id": "htl_example", "supplier_hotel_id": "lp1f2e3", "offers": [ { "offer_reference": "REPLACE_WITH_RETURNED_OFFER_REFERENCE", "total": { "amount": 600, "currency": "USD" }, "rooms": [ { "position": 0, "adults": 2, "children": [], "room_type": "Deluxe Twin", "board": "Room Only", "refundable": true, "cancellation_policy": { "version": 1, "refundable": true, "deadline": "2027-11-20T00:00:00Z", "penalties": [ { "from": "2027-11-20T00:00:00Z", "type": "AMOUNT", "amount": { "amount": 150, "currency": "USD" } } ], "restrictions": [] } }, { "position": 1, "adults": 2, "children": [], "room_type": "Deluxe Double", "board": "Room Only", "refundable": true, "cancellation_policy": { "version": 1, "refundable": true, "deadline": "2027-11-20T00:00:00Z", "penalties": [ { "from": "2027-11-20T00:00:00Z", "type": "AMOUNT", "amount": { "amount": 150, "currency": "USD" } } ], "restrictions": [] } } ], "room_type": "Deluxe Twin", "board": "Room Only", "refundable": true, "cancellation_policy": { "version": 1, "refundable": true, "deadline": "2027-11-20T00:00:00Z", "penalties": [ { "from": "2027-11-20T00:00:00Z", "type": "AMOUNT", "amount": { "amount": 300, "currency": "USD" } } ], "restrictions": [] }, "expires_at": "2027-10-01T10:15:00Z" } ] } ], "meta": { "supplier": "LITEAPI" }}Find hotels for your stay POST
You receive available hotels and their cheapest current prices for your complete party. Supply one occupancy per room with each child's age. Search one city and country, or a point with a radius in metres. Check-out follows check-in by at most 99 nights. Use the returned hotel_id, or supplier_hotel_id with meta.supplier, with offers to get a bookable price; search prices are for comparison. To read the next page, send meta.pagination.next_cursor as cursor with the same search fields; stop when it is omitted rather than at a short or empty page, and expect no estimated total.
See a daily price index for your hotels POST
You read a daily price index for up to 50 hotel IDs from one supplier over a window of up to 365 days: for each calendar day, the average nightly price across the stays the supplier has seen that include that day. It is not the price of checking in on that day, so present it as a trend, such as when a hotel tends to be cheaper, rather than as a price per check-in date. The prices are indicative, in US dollars, not tied to your party and not bookable, so price the stay with offers before you book. Dates without a price are omitted, and so are hotels without any. Only some suppliers publish these prices; for the others you receive 422 supplier_operation_unsupported. The supplier allows only a few of these reads a minute, so cache what you receive and expect 503 supplier_rate_limited when the limit is reached.