canonical: https://jentic.com/apis/amadeus.com/amadeus-flight-price-analysis

# Amadeus Flight Price Analysis

The Amadeus Flight Price Analysis API returns historical price quartiles for a given itinerary, telling the user whether a quoted fare is cheap, average, or expensive for the route and dates. The single GET endpoint takes origin, destination, departure date, currency, and optional return date and one-way flag, and returns the minimum, first quartile, median, third quartile, and maximum prices observed for similar itineraries. Travel sites use it to display 'good deal' or 'high price' badges next to live offers.

## For AI agents

Compare a live flight fare against historical price quartiles for the same route so an agent can label it as cheap, average, or expensive before the user books.

## Scope

Does not return live bookable offers, search dates, or hotel pricing - use only to retrieve historical price quartiles for a given flight itinerary.

## Capabilities

- Return minimum, first quartile, median, third quartile, and maximum historical prices for an itinerary
- Score a live fare as cheap, average, or expensive against historical distribution
- Compare quotes in any supported currency on the same itinerary
- Support both one-way and round-trip price analysis
- Power 'good deal' badges and price-context tooltips at checkout

## Use cases

### Good Deal Badge at Checkout

Booking sites call /analytics/itinerary-price-metrics with the origin, destination, and date of a live offer and compare the live total to the returned quartiles. Offers below the first quartile are tagged 'great price', offers between Q1 and Q3 are average, and offers above Q3 are flagged 'high price'. The badge gives travellers context without exposing them to a separate price tracker.

Example prompt: Call /analytics/itinerary-price-metrics for an itinerary and compare the live fare against Q1, median, and Q3 to assign a cheap/average/expensive label.

### Price Drop Alerts

Apps that send price-drop emails subscribe a user to a route, then re-run the analysis daily to track shifts in median price. When the live offer drops below a configurable threshold relative to the route median, the app emails the customer with a one-click rebook link.

Example prompt: For a saved route, fetch today's price metrics, compare a fresh live fare to the median, and trigger a notification if the live fare is at least 15 percent below the median.

### Corporate Travel Compliance

Corporate travel platforms enforce a 'do not book above median' policy by querying Flight Price Analysis at request time and rejecting any selected offer above the median for the route and dates. The endpoint is fast enough to inline in the approval flow without noticeable latency.

Example prompt: Block selection of any offer for LON-NYC departing next month whose total exceeds the route median returned by Flight Price Analysis.

### Agent-Driven Price Context via Jentic

An AI travel concierge that quotes a flight to a customer calls Flight Price Analysis through Jentic to add a one-line price-context note ('about 12 percent below the historical median for this route'). Jentic resolves OAuth and parameter shaping so the agent only declares the route, dates, and currency.

Example prompt: Call jentic.search('analyse Amadeus flight price quartiles for a route'), load the operation, and execute it with originIataCode, destinationIataCode, departureDate, and currencyCode to label the live fare.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /analytics/itinerary-price-metrics | Get historical price quartiles for an itinerary |

## Key resources

- **Itinerary Price Metrics** — Single GET endpoint returning historical price quartiles for an itinerary.

## Why Jentic

- **Setup:** Wiring Flight Price Analysis by hand means running the Amadeus Self-Service OAuth 2.0 client_credentials exchange, refreshing the bearer token before it expires, choosing the test or production host, and assembling the originIataCode, destinationIataCode, departureDate, and currencyCode query parameters correctly. Through Jentic you install once, import Flight Price Analysis from the API Directory, store the client_id and client_secret once, and your agent calls it.
- **Permission scoping:** The route and dates travel as query parameters on the GET to /analytics/itinerary-price-metrics, not in the URL path, so scoping is by operation rather than by a specific route. Limit the agent to the operations it needs, such as reading itinerary price metrics, and it stays a read-only analytics caller with no path to booking or order operations.
- **Credential handling:** Your Amadeus client_id and client_secret are stored once, encrypted, by your own Jentic One instance, which runs the client_credentials exchange and injects a fresh bearer token at execution time. The secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'analyse Amadeus flight price quartiles for a route', and Jentic returns the /analytics/itinerary-price-metrics operation with its required origin, destination, date, and currency parameters.

## Related APIs

- **Flight Offers Price** — Returns the live confirmed price that this API contextualises with quartiles.
- **Flight Cheapest Date Search** — Finds the cheapest dates to fly between two cities.
- **Flight Choice Prediction** — Different prediction model focused on which offer will be chosen rather than how the price compares.
- **Flight Inspiration Search** — Surfaces cheap destinations from an origin; pair with price analysis to validate the listed price.

## FAQ

### What authentication does the Flight Price Analysis API use?

Amadeus Self-Service OAuth 2.0 client_credentials. Exchange client_id and client_secret at https://api.amadeus.com/v1/security/oauth2/token for a bearer token and pass it in the Authorization header. Through Jentic, the credentials live in the encrypted vault and the token is refreshed automatically before each /analytics/itinerary-price-metrics call.

### Which fields are required to get a price analysis?

originIataCode, destinationIataCode, departureDate, and currencyCode are all required. Add returnDate for round-trip analysis, or oneWay=true for explicit one-way. The endpoint rejects requests missing any required field with a 400.

### What are the rate limits for the Flight Price Analysis API?

Amadeus Self-Service Test environment caps analytics endpoints at 10 transactions per second per API key with a monthly quota; Production limits scale with the Self-Service plan tier. Bearer tokens themselves expire after roughly 30 minutes.

### How do I label a live fare via Jentic?

Run pip install jentic, then call jentic.search('analyse Amadeus flight price quartiles for a route'), load the operation, and execute it with origin, destination, date, and currency. Compare the live total to the returned firstPriceQuartile, median, and thirdQuartile to assign a cheap/average/expensive label.

### Does the API return live offers?

No - only historical quartiles for the itinerary. To get bookable fares to compare against, call Flight Offers Search and then optionally Flight Offers Price for the chosen offer.

### Is the Flight Price Analysis API free?

The Test environment is free with limited monthly quota. Production access is metered per transaction under an Amadeus Self-Service plan; tier pricing is published on the Amadeus for Developers portal.

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

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and you can grant it only the single read operation this API exposes, retrieving itinerary price metrics from GET /analytics/itinerary-price-metrics. The route, dates, and currency travel as query parameters rather than in the URL path, so scoping is by operation, and limiting the agent to that one call keeps it a read-only analytics caller with no path to booking or order operations. Your Amadeus client_id and client_secret stay stored by your own instance and never enter the agent's prompt or context.
