canonical: https://jentic.com/apis/adameus.com/adameus

# Adameus Flight Offers Search

Flight Offers Search returns a list of bookable flight offers based on origin, destination, dates, and traveler details. The API exposes both a GET endpoint for simple itinerary lookups and a POST endpoint that accepts richer search criteria including connection limits, cabin restrictions, and fare-class preferences. Results include detailed pricing, segment information, baggage allowances, and fare rules so an agent can present options or hand the offer ID to a separate booking flow. The test environment runs against a static subset of GDS inventory; production keys must be requested from Amadeus before live results are available.

## For AI agents

Search for bookable flight offers between airports on specific dates and retrieve pricing, segments, and fare rules. Returns offer IDs that can be passed to downstream pricing or order-creation flows.

## Scope

Does not handle booking, payment, seat selection, or post-ticket changes - use for pre-booking flight offer search only.

## Capabilities

- Search one-way and round-trip flight offers by IATA origin, destination, and travel dates
- Filter offers by cabin class, included airline codes, max connections, and non-stop preference
- Retrieve detailed segment data including operating carrier, aircraft type, and layover duration
- Return pricing breakdowns with base fare, taxes, and total per traveler type
- Submit complex multi-city itineraries via POST with originDestinations and travelers arrays
- Limit results with maxResults to keep agent context windows manageable

## Use cases

### Travel agent itinerary lookup

Travel concierge agents query the Flight Offers Search endpoint to surface bookable itineraries that match a traveler's requested origin, destination, dates, and cabin preferences. The API returns priced offers including segment timings, carriers, and baggage rules so the agent can summarise top options for the user. Each offer includes an opaque offer ID that downstream Amadeus pricing and booking endpoints accept directly.

Example prompt: Call POST `/shopping/flight-offers` with originLocationCode JFK, destinationLocationCode CDG, departureDate 2026-09-15, returnDate 2026-09-22, adults 2, currencyCode USD, max 5 and return the three cheapest offers.

### Price comparison and fare alerts

Monitoring agents poll Flight Offers Search on a schedule for a fixed origin-destination pair to detect price drops or availability changes. The API supports filtering by airline codes, max connections, and non-stop only, keeping result sets small enough to fit inside an agent's context window. Comparing successive payloads makes it possible to trigger notifications when a fare crosses a threshold.

Example prompt: Run GET `/shopping/flight-offers` daily for origin LAX, destination JFK, departureDate next Friday, adults 1, nonStop true, and emit an alert when totalPrice drops below 250.

### Multi-city corporate trip planning

Travel-management agents construct multi-leg itineraries on behalf of business travelers using the POST endpoint, which accepts an originDestinations array describing each leg's airports and date windows. The response groups segments per leg with full pricing and fare conditions, so the agent can present a single combined offer for approval. This avoids stitching together three separate searches and risking mismatched availability.

Example prompt: POST `/shopping/flight-offers` with three originDestinations (NYC->LHR, LHR->FRA, FRA->NYC) across consecutive weeks, travelers list of one ADULT, and return the cheapest combined offer.

### AI agent flight search via Jentic

An AI agent using Jentic discovers Flight Offers Search through a natural-language query like 'search for flight offers'. Jentic returns the operation schema with required parameters, the agent fills them from user intent, and Jentic executes the call against Amadeus with the OAuth2 token stored in the credential vault. The agent never handles the client secret directly and gets a structured response it can summarise back to the user in seconds.

Example prompt: Use Jentic to search 'flight offers between two airports', load the operation schema, and execute a search for ATL to SEA on 2026-10-01 for 1 adult, max 3 results.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/shopping/flight-offers` | Search flight offers via query parameters |
| POST | `/shopping/flight-offers` | Search flight offers with structured body for complex itineraries |

## Key resources

- **FlightOffer** — A bookable itinerary returned by both GET and POST endpoints, containing segments, pricing, traveler pricings, and validatingAirlineCodes.
- **OriginDestination** — A leg of the requested journey supplied in POST bodies, with origin/destination airport codes and a departure date or window.
- **Traveler** — A passenger description used to break down per-traveler pricing - supports ADULT, CHILD, INFANT, SENIOR fare types.

## Why Jentic

- **Setup:** Wiring the Amadeus Flight Offers Search by hand means exchanging client_id and client_secret for short-lived OAuth2 access tokens, refreshing them, and pointing calls at the test host yourself. Through Jentic you install once, import Flight Offers Search from the API Directory, store the client credentials once, and your agent calls it.
- **Permission scoping:** The search operations take flight criteria in the query or request body rather than a resource id in the URL, so limit the agent to the operations it needs, such as a simple GET lookup or a POST multi-leg search. You choose the operations it may call, so nothing beyond flight-offer search runs unless you add it.
- **Credential handling:** Your Amadeus client_id and client_secret are stored once, encrypted, by your own Jentic One instance, which exchanges them for short-lived access tokens at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search for flight offers', and Jentic returns both operations on `/shopping/flight-offers` with their input schemas so the agent picks GET for simple lookups or POST for multi-leg searches without browsing the reference docs.

## Related APIs

- **Amadeus Flight Offers Price** — Confirms the final price and seat availability for an offer returned by Flight Offers Search before booking.
- **Amadeus Flight Create Orders** — Creates a confirmed PNR booking from a priced flight offer.
- **Amadeus Flight Cheapest Date Search** — Finds the cheapest dates for a route within a window instead of returning bookable offers.

## FAQ

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

The API requires OAuth2 client-credentials tokens issued by Amadeus. Through Jentic, the client_id and client_secret are stored encrypted in your Jentic One instance and an access token is fetched per call - your agent only sees a scoped bearer token, never the long-lived secret.

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

Yes. Use POST `/shopping/flight-offers` with an originDestinations array containing one entry per leg, each with originLocationCode, destinationLocationCode, and a departureDateTimeRange. The response returns combined offers spanning all legs with unified pricing.

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

Amadeus enforces tier-based limits: the free Self-Service test environment allows 10 transactions per second and a monthly cap, while production access (granted on request) raises both. Jentic surfaces 429 responses unchanged so retry logic can back off.

### How do I run a flight search through Jentic?

Run pip install jentic and authenticate with your ak_* key, then search 'search for flight offers' to load the GET `/shopping/flight-offers` operation schema. Provide originLocationCode, destinationLocationCode, departureDate, and adults, then call execute - Jentic handles OAuth token exchange behind the scenes.

### Does this API book or pay for flights?

No. Flight Offers Search only returns priced offer objects. To book, you pass the offer ID to Amadeus Flight Create Orders and handle payment separately - that endpoint is a different API in the Amadeus catalogue.

### Is the test environment usable for production traffic?

No. The test environment hosts a static subset of GDS inventory and is intended for development only. Real bookable inventory requires production credentials and a switch to the production base URL, which Amadeus provisions after a review.

### 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 of this API's operations the agent may call and which credentials it may use. The Flight Offers Search operations take flight criteria in the query string or request body rather than a resource ID in the URL, so you can allow just the GET lookup for simple origin-destination searches, or add the POST endpoint only when the agent needs multi-leg itineraries. Nothing beyond the flight-offer search you approve runs, since no operation is available to the agent unless you enable it.
