Advanced multi-city flight search via Amadeus GDS — $0.054 per request, paid with USDC on Tempo
What it does
This endpoint is the POST method of StableTravel's `/api/flights/search`, designed for advanced multi-city flight offer searches against Amadeus GDS inventory. It accepts a JSON body with `originDestinations`, `travelers`, and `sources` arrays, supporting complex itineraries including multi-city routing, cabin class mixing, date/time windows, connection point filtering, carrier restrictions, and pricing options like refundable-only or included-checked-bags-only fares. The GET variant of the same path handles simpler one-way/round-trip queries via URL parameters.
Pricing is $0.054 per call (fixed), settled via MPP on Tempo (chainId 4217) using pathUSD, or via x402. No API keys or accounts are required — payment serves as authentication. The endpoint is live, returning a 402 MPP challenge on unauthenticated requests. Responses include an array of flight offer objects with itinerary segments, pricing breakdowns, and dictionaries for carrier/aircraft lookups.
StableTravel is part of a broader travel API suite by Merit Systems that also covers hotel search/booking, activities, airport transfers, reference data (airports, airlines, routes), real-time flight tracking via FlightAware AeroAPI, and Google Flights price comparison. The typical booking workflow is: search → price confirmation (`/api/flights/price`, $0.032) → book (`/api/flights/book`, $0.086). Full OpenAPI 3.1 schema is published at `/openapi.json`.
Capabilities
Use cases
- —AI travel agent building complex multi-city itineraries with specific cabin and carrier preferences
- —Programmatic flight price comparison across GDS inventory before booking
- —Autonomous agent searching flights with budget constraints and connection filters
- —Building a travel planning pipeline: search → price confirm → book
Fit
Best for
- —Agents that need to search and book flights programmatically via GDS
- —Complex itinerary construction (multi-city, mixed cabin, date windows)
- —Pay-per-use flight data without API key management or subscriptions
- —Combining with StableTravel's hotel/transfer/activity endpoints for full trip planning
Not for
- —Cheapest-price-only comparisons (use /api/google-flights/search at $0.02 instead)
- —Real-time flight tracking or position data (use FlightAware endpoints instead)
- —High-volume bulk fare scraping (per-request pricing adds up)
Quick start
npx agentcash fetch -X POST -H "Content-Type: application/json" \
-d '{"originDestinations":[{"id":"1","originLocationCode":"JFK","destinationLocationCode":"LAX","departureDateTimeRange":{"date":"2025-06-15"}}],"travelers":[{"id":"1","travelerType":"ADULT"}],"sources":["GDS"],"searchCriteria":{"maxFlightOffers":5}}' \
"https://stabletravel.dev/api/flights/search"Example
Request
{
"sources": [
"GDS"
],
"travelers": [
{
"id": "1",
"travelerType": "ADULT"
}
],
"searchCriteria": {
"flightFilters": {
"cabinRestrictions": [
{
"cabin": "BUSINESS",
"coverage": "ALL_SEGMENTS",
"originDestinationIds": [
"1",
"2"
]
}
]
},
"maxFlightOffers": 5
},
"originDestinations": [
{
"id": "1",
"originLocationCode": "JFK",
"departureDateTimeRange": {
"date": "2025-06-15"
},
"destinationLocationCode": "LAX"
},
{
"id": "2",
"originLocationCode": "LAX",
"departureDateTimeRange": {
"date": "2025-06-20"
},
"destinationLocationCode": "ORD"
}
]
}Response
{
"data": [
{
"id": "1",
"type": "flight-offer",
"price": {
"base": "400.00",
"total": "450.00",
"currency": "USD"
},
"source": "GDS",
"itineraries": [
{
"segments": [
{
"number": "1",
"arrival": {
"at": "2025-06-15T11:30:00",
"iataCode": "LAX"
},
"aircraft": {
"code": "77W"
},
"duration": "PT5H30M",
"departure": {
"at": "2025-06-15T08:00:00",
"iataCode": "JFK"
},
"carrierCode": "AA"
}
]
}
],
"travelerPricings": []
}
],
"dictionaries": {
"carriers": {
"AA": "American Airlines"
}
}
}Endpoint
Quality
Full OpenAPI 3.1 schema with detailed request/response types, clear pricing in USD, live 402 MPP challenge confirmed, comprehensive documentation with parameter descriptions, examples, and workflow guidance. Minor gap: response schema items are untyped (`items: {}`) for the Amadeus data arrays.
Warnings
- —Response schema data items are loosely typed (items: {}) — actual Amadeus response structure is not fully specified in the OpenAPI spec
- —This listing covers the POST method specifically; the GET method on the same path handles simpler searches with query parameters
Citations
- —Flight search POST endpoint costs $0.054 per requesthttps://stabletravel.dev/openapi.json
- —Payment settled via MPP on Tempo (chainId 4217) using pathUSD, or via x402https://stabletravel.dev/openapi.json
- —Endpoint is live, returning 402 MPP challengehttps://stabletravel.dev/api/flights/search
- —No API keys needed; payment via USDC on Base, Solana, or Tempo serves as authenticationhttps://stabletravel.dev
- —Typical booking workflow: search → price → bookhttps://stabletravel.dev/docs
- —Use Google Flights endpoint for cheapest price discovery, Amadeus for bookinghttps://stabletravel.dev/openapi.json