Search hotel offers by Amadeus hotel IDs — pay $0.03 per request, no API keys needed.
What it does
This endpoint searches hotel offers by one or more Amadeus hotel IDs. It is part of StableTravel, a pay-per-request travel API suite that wraps Amadeus GDS data for flights, hotels, activities, and transfers, plus FlightAware for real-time flight tracking. The typical workflow is: first call `/api/hotels/list` (by city code) or `/api/hotels/list/by-geocode` (by lat/lng) to obtain Amadeus hotel IDs, then pass those IDs to this endpoint to retrieve available room offers with pricing.
The endpoint accepts GET requests with the required `hotelIds` parameter (comma-separated Amadeus hotel IDs) plus optional filters: `checkInDate`, `checkOutDate`, `adults`, `priceRange`, `currencyCode` (32 currencies supported), `paymentPolicy`, `boardType` (room-only through all-inclusive), `bestRateOnly`, and `lang`. It returns a JSON object with a `data` array of hotel offer objects. The cost is $0.03 per request, settled via MPP (Tempo method on chain 4217) or x402 protocol — no API keys, OAuth, or subscriptions required. Payment itself serves as authentication.
This endpoint is part of a broader hotel booking workflow: list → search → offer (confirm details) → book. The full StableTravel API covers 70+ endpoints across flights (search, price, book, seatmaps, upsells), hotels (list, search, offer, book, autocomplete, ratings), activities, transfers, reference data, Google Flights price comparison, and FlightAware real-time/historical flight tracking. Prices across the suite range from $0.001 to $0.40 per call.
Capabilities
Use cases
- —Agent searches available hotel rooms and prices for a set of known hotel IDs before booking
- —Travel planning agent compares hotel offers across multiple properties in a city
- —Autonomous agent builds a full trip itinerary by chaining hotel list → hotel search → hotel book
- —Price monitoring agent checks hotel rates for specific properties on given dates
- —Agent filters hotel offers by board type, price range, or payment policy for a customer
Fit
Best for
- —AI agents that need programmatic hotel availability and pricing without API key management
- —Pay-as-you-go hotel search where you only pay when you query
- —Workflows that chain hotel discovery (list by city) with offer retrieval and booking
Not for
- —Direct consumer-facing hotel search UIs expecting aggregated multi-source results (this is Amadeus GDS only)
- —Bulk hotel inventory scraping — per-request pricing makes high-volume scraping expensive
- —Use cases requiring hotel photos or detailed property descriptions (this returns offers/pricing, not rich content)
Quick start
npx agentcash fetch "https://stabletravel.dev/api/hotels/search?hotelIds=MCLONGHM,MCLONDGE&checkInDate=2025-08-01&checkOutDate=2025-08-03&adults=2¤cyCode=USD"Example
Response
{
"data": [
{
"type": "hotel-offers",
"hotel": {
"name": "Example London Hotel",
"hotelId": "MCLONGHM"
},
"offers": [
{
"id": "ABC123",
"room": {
"type": "STANDARD"
},
"price": {
"total": "320.00",
"currency": "USD"
},
"checkInDate": "2025-08-01",
"checkOutDate": "2025-08-03"
}
]
}
]
}Endpoint
Quality
Full OpenAPI 3.1 schema with detailed parameter definitions, clear pricing ($0.03/request), live MPP 402 challenge confirmed, extensive guidance documentation, and well-documented workflows. Only minor gap: no example response body in the schema (response items are untyped `{}`) so the example response is inferred from Amadeus conventions.
Warnings
- —Response schema items are untyped (empty `{}`) — actual response structure follows Amadeus Hotel Search v3 format but is not formally specified in the OpenAPI doc.
- —Hotel offer IDs must be obtained first via /api/hotels/list or /api/hotels/list/by-geocode — this endpoint cannot search by city name or coordinates directly.
Citations
- —This endpoint costs $0.03 per request (amount 0.032400 USD in OpenAPI x-payment-info)https://stabletravel.dev/openapi.json
- —Payment is via MPP Tempo method (chainId 4217) or x402 protocol, no API keys neededhttps://stabletravel.dev/openapi.json
- —Required parameter is hotelIds (comma-separated Amadeus hotel IDs); optional parameters include checkInDate, checkOutDate, adults, priceRange, currencyCode, paymentPolicy, boardType, bestRateOnly, langhttps://stabletravel.dev/openapi.json
- —Hotel booking workflow: list (get hotel IDs) → search (get offer IDs) → offer (confirm details) → bookhttps://stabletravel.dev/openapi.json
- —The endpoint is live, confirmed by 402 MPP challenge responsehttps://stabletravel.dev/api/hotels/search
- —StableTravel provides pay-per-request access to flights, hotels, activities, transfers (Amadeus), and real-time flight tracking (FlightAware AeroAPI)https://stabletravel.dev