What it returns
What travelers actually paid to fly between US airports, every quarter since 2010: for each origin and destination airport and each ticketing airline (or all airlines combined), nonstop, connecting or all itineraries, the passengers in the sample and the estimated total, the average fare, the 10th, 25th, 50th, 75th and 90th percentile fares, the nonstop distance and the average fare in cents per mile.
Filter by origin, destination (one or both directions), airport, state, airline, itinerary type, quarter range or minimum passengers, and sort by traffic, cheapest, priciest or cents per mile, for fare benchmarking, route pricing and competition analysis.
Source: the US Department of Transportation Airline Origin and Destination Survey (DB1B Market), a 10% sample of domestic airline tickets, updated quarterly about five months after each quarter ends. Fares are one-way market fares per passenger; fares under $25 (mostly award travel) and bulk fares are excluded.
Charged per row returned.
Request
POST https://api.pushbuild.com/airline-fares/run with a JSON body. Send your key in the X-API-Key header.
| Field | Type | Description |
|---|---|---|
origins | list of strings | Three-letter airport codes, e.g. BOS. |
destinations | list of strings | Three-letter airport codes, e.g. LAX. |
bothDirections | boolean | With origins and destinations, also include trips in the reverse direction. |
airports | list of strings | Trips starting or ending at any of these airports. |
originStates | list of strings | Two-letter state codes. |
destStates | list of strings | Two-letter state codes. |
carriers | list of strings | Airline codes, e.g. AA, DL, UA, WN, B6, NK. Default ALL (every airline combined). |
itinerary | string: all, nonstop, connecting | all (default), nonstop or connecting. |
quarterFrom | string | YYYY-Qn or YYYY. Without a range, the latest quarter. |
quarterTo | string | YYYY-Qn or YYYY. |
allQuarters | boolean | Every quarter since 2010 instead of the latest. |
minPassengers | integer | Only routes with at least this many estimated passengers in the quarter. |
sort | string: passengers, cheapest, priciest, newest, centsPerMile | passengers (default), cheapest, priciest, newest or centsPerMile. |
maxItems | integer | Maximum items to return (1-500). Default: 100. |
Example
curl -X POST https://api.pushbuild.com/airline-fares/run \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"origins": ["BOS"], "maxItems": 20}'
Response
{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}
Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.
Pricing
Pay only for results returned: $0.80 per 1,000 records. No charge for errors or empty searches.
Use it from Claude, ChatGPT or Cursor
This API is also an MCP server: https://api.pushbuild.com/mcp/airline-fares. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.
Tell us what you need built.
Questions about this API, higher volumes, or a data source you need that we don't cover yet.
hello@pushbuild.comWant this data inside your own app or CRM? API integrations and data sync