canonical: https://jentic.com/apis/amadeus.com/amadeus-flight-offers-search

# Amadeus Flight Offers Search

Amadeus publishes an official Swagger 2.0 specification for Flight Offers Search in its own amadeus4dev GitHub organisation, one document per Self-Service product. This listing is built from a curated Jentic variant of that document, converted to OpenAPI 3.0.3 at the same version 2.9.1 so agent tooling can consume it directly. The Amadeus Flight Offers Search API searches over 500 airlines and returns priced flight itineraries on demand. It supports a GET endpoint for one-way and round-trip queries and a POST endpoint for multi-city, multi-passenger searches with cabin class, carrier, and connection constraints. Travel platforms, online travel agencies, and corporate booking tools use it to power flight search experiences. The base URL targets the Amadeus Self-Service test environment, which Amadeus documents as a subset of production.

## For AI agents

Search live flight offers across 500+ airlines and return priced itineraries with full fare breakdown. Supports simple round-trip GET queries and complex multi-city POST searches.

## Scope

Does not handle booking, ticketing, seat selection, or post-booking servicing - use for searching priced flight offers only.

## Capabilities

- Search round-trip and one-way flight offers across more than 500 airlines
- Submit complex multi-city itineraries with passenger mix, cabin class, and connection rules via the POST search
- Filter results by maximum price, included or excluded carriers, and non-stop preference
- Return priced offers with detailed fare rules, baggage allowances, and segment breakdowns
- Power live shopping flows where pricing must reflect current airline inventory at request time

## Use cases

### Online Travel Agency Flight Search

Online travel agencies use the Flight Offers Search API to power their flight search results pages. The GET /shopping/flight-offers endpoint takes origin, destination, dates, and passenger counts, returning priced itineraries with fare, baggage, and per-segment detail. The max parameter caps how many offers come back, and currencyCode fixes the currency the prices are quoted in.

Example prompt: Call GET /shopping/flight-offers with originLocationCode=LON, destinationLocationCode=NYC, departureDate=2026-08-15, returnDate=2026-08-22, adults=2, currencyCode=GBP and render the top 10 priced offers

### Corporate Travel Booking Tool

Corporate travel platforms use the POST /shopping/flight-offers endpoint to enforce travel policy constraints when employees search for flights. The POST body accepts a structured search request with origin-destination pairs, passenger types, and a list of allowed or forbidden carriers, plus cabin restrictions. The platform then surfaces only policy-compliant fares for booking approval.

Example prompt: POST /shopping/flight-offers with a structured search including originDestinations, travelers list, and a searchCriteria block restricting cabin to BUSINESS and excluding two specified carriers

### Price Monitoring and Fare Alerts

Fare-watch services poll the Flight Offers Search API on a schedule to track prices on watched city pairs and alert users when fares drop below a threshold. The maxPrice query parameter on the GET endpoint lets the service request only offers under a target price, reducing payload size and post-processing.

Example prompt: Call GET /shopping/flight-offers daily for LHR to JFK with maxPrice=400 and notify the user when at least one offer is returned

### AI Travel Agent Itinerary Builder

An AI travel-planning agent invoked through Jentic uses Flight Offers Search to assemble itineraries from a natural-language request. The agent searches Jentic for the flight-offers operation, loads its schema, executes the POST endpoint with the parsed travel requirements, and presents priced options back to the user. Your Amadeus client id and secret are stored encrypted by your own Jentic One instance and injected at execution time, so they never reach the agent's context.

Example prompt: Search Jentic for search flight offers, load the POST flight-offers operation schema, execute it with the parsed user request, and return the cheapest three priced itineraries

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /shopping/flight-offers | Search flight offers using query parameters for simple round-trip and one-way queries |
| POST | /shopping/flight-offers | Search flight offers with a structured request body for complex multi-city itineraries |

## Key resources

- **Flight Offers** — Priced flight itineraries with fare rules, per-segment fare details, and included checked bag allowances

## Why Jentic

- **Setup:** Wiring the Amadeus Flight Offers Search API by hand means running the OAuth2 client-credentials flow to mint and refresh access tokens and choosing between the query-parameter GET and the structured-body POST for complex itineraries. Through Jentic you install once, import Flight Offers Search from the API Directory, store the Amadeus client id and secret once, and your agent calls it.
- **Permission scoping:** Both operations live on /shopping/flight-offers, so limit the agent to the operations it needs, such as the GET flight-offers search for simple round trips and the POST flight-offers search for multi-city itineraries. Neither operation books, tickets, or services a reservation, so those actions stay out of reach.
- **Credential handling:** Your Amadeus client id and secret are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search flight offers' or 'find round-trip flights', and Jentic returns the GET or POST flight-offers operation with its input schema so the agent picks the right one without browsing the Amadeus Self-Service docs.

## Related APIs

- **Amadeus Trip Purpose Prediction** — Classifies an itinerary as business or leisure; useful for routing flight-search results to the right merchandising flow
- **Booking.com** — Hotel and accommodation inventory that pairs with flight offers to build a full trip
- **Amadeus Flight Offers Price** — Confirms the bookable price of a selected flight offer before a booking is attempted

## FAQ

### Is there a Flight Offers Search MCP server, or how do I connect it to Claude?

You do not need an MCP server to give your agent the Flight Offers Search API. Jentic connects it directly from the API Directory: import Flight Offers Search, store your Amadeus client id and secret once, and your agent calls the GET or POST flight-offers operation without another server's tool definitions sitting in its context. Get started by installing Jentic One, the self-hosted execution layer, from its GitHub repo.

### What authentication does the Flight Offers Search API use?

Amadeus uses OAuth 2.0 with the client_credentials grant. You exchange your Amadeus client_id and client_secret for an access token at the Amadeus token endpoint /v1/security/oauth2/token, sending grant_type=client_credentials in a form-encoded body, then send the token as Authorization: Bearer on each /shopping/flight-offers request. Amadeus's authorization guide shows the token response carrying expires_in of 1799 seconds. Note that this specification declares no securityScheme of its own; Amadeus documents the OAuth 2.0 flow in a separate Authorization specification and in its developer guides. Through Jentic, your client id and secret are stored encrypted by your own Jentic One instance and injected at execution time.

### Can I search multi-city itineraries with the Flight Offers Search API?

Yes. Use POST /shopping/flight-offers with a structured request body containing multiple originDestinations entries. Each entry has its own origin, destination, and date, which lets you build itineraries with three or more legs in a single call. The GET endpoint only supports round-trip and one-way.

### What are the rate limits for the Flight Offers Search API?

Amadeus publishes its limits per environment in the API Rate Limits developer guide at amadeus4dev.github.io/developer-guides/api-rate-limits/. Flight Offers Search falls under the general Self-Service bucket, not the artificial-intelligence and partner bucket, so the guide states 10 transactions per second per user in the test environment and 40 transactions per second per user in production, with no more than 1 request every 100ms. That guide states no monthly transaction cap. Treat 429 responses as a signal to back off and retry with a delay.

### How do I search flights with the Flight Offers Search API through Jentic?

Install Jentic One using the one-line installer from its GitHub repo, run jentic register on your agent machine, then import Flight Offers Search from the API Directory and store your Amadeus client id and secret once. Your agent then searches Jentic for search flight offers, loads the operation schema, and executes either the GET or POST flight-offers operation with the user's travel parameters. Keep the agent on a separate machine from the instance, as the hardening guide describes.

### Are the prices returned by the Flight Offers Search API guaranteed?

No. Prices reflect real-time airline inventory at the moment of the search and can change before booking. To confirm a price, call the Flight Offers Price endpoint with the selected offer before proceeding to booking; only the price returned by that confirmation step is bookable.

### Can I limit what my agent is allowed to do with the Flight Offers Search API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, so you can grant only the GET /shopping/flight-offers search for simple round-trip queries, only the POST /shopping/flight-offers search for multi-city itineraries, or both. Neither operation books, tickets, or services a reservation, so those actions stay out of the agent's reach entirely. Your Amadeus client id and secret are held by your own instance and injected only at execution time, never exposed to the agent's prompt or context.
