Open data
The numbers behind the airport, airline, route and flight-number pages, as CSV and JSON files. Each one is built from the same precomputed tables the pages read, and a row appears only where the site would publish that page’s figures. A figure in a file is the figure on the page.
Analysis last recomputed · source data through 2026-07-31
Using the files
- Free to use, with credit. Use the files in reporting, research, apps and spreadsheets, commercial or not, under the Creative Commons Attribution 4.0 International license (CC BY 4.0). Credit them as “FlyerIntel analysis of US DOT Bureau of Transportation Statistics data” and link to flyerintel.com/data/.
- Say what you changed. If you filter, recalculate or combine the files, say so, and do not present the result as FlyerIntel’s own figures.
- The flight records are public. They come from the US Department of Transportation’s Bureau of Transportation Statistics, which publishes them as public domain data (source, and what it covers and leaves out). These files are FlyerIntel’s aggregation and scoring of that source, not the records themselves.
- History, not a forecast. A rate describes what happened over the period. It does not say what will happen to a flight you are booking.
- Rebuilt monthly. The files change when a new month of BTS data has been loaded and the aggregates rebuilt; the date at the top of the page is the last rebuild. There is no reason to fetch a file more than once a day. Each file carries an
ETagand aLast-Modifiedheader, so a request that sendsIf-None-Matchgets a 304 while nothing has changed. - Found a mistake? Tell us.
The terms of use limit bulk copying of the site’s data. The files on this page are the exception: they are offered for reuse, under the license above.
What is left out
A rate built on a few dozen flights says more about one bad week than about the airport, route or flight number, so the site does not print it and these files do not hold it. Each dataset below lists the floors a row had to clear. They are the ones that decide whether a page is published (see sample-size thresholds), and the files apply them with the same code.
A row that fails a floor is absent, not blank. An airport, route or flight number missing from a file did not clear its floor. Flights outside the BTS reporting requirement (airlines below the DOT reporting threshold, flights to or from places outside the United States and its territories) are in no file, and a regional flight counts for the airline that operated it, not the brand on the ticket. How each figure is calculated is on the methodology page.
Reading the files
- CSV. UTF-8 with no byte-order mark, comma-separated, one header row, CRLF line ends. A field with a comma, a quote or a line break is quoted. An empty field means the figure is not available. Numbers have no thousands separators, and percentages run from 0 to 100.
- JSON. An object with
meta(source, license, attribution, period, when the figures were recomputed, row count, floors and the column list) androws, an array of objects whose keys are the CSV columns, in the same order. - Rounding. Figures are rounded the way the pages print them: on-time, severe-delay and departure on-time rates to one decimal place, the cancellation rate to two, median delay to whole minutes, average delay to one decimal place, the score to a whole number. A file and its page agree digit for digit.
- Excel. Double-clicking a UTF-8 CSV opens it as Windows-1252 in Excel, which garbles names such as Dallas–Fort Worth. Use Data, then From Text/CSV, and choose UTF-8, or open the file in another spreadsheet program.
Airports
One row per covered US airport: departures, on-time, cancellation and delay rates, and the FlyerIntel reliability score, over the full analysis period.
- Rows
- 64
- Period
- July 2023 – July 20262023-07-01 to 2026-07-31
- Last recomputed
- Sorted by
- code
Download airports as CSVDownload airports as JSON
CSV 7 KB, JSON 26 KB. File names: /data/airports.csv and /data/airports.json.
What is left out
- Covered airports with at least 5,000 departures in the period, a time zone and coordinates on file, and a reliability score. These are the airports that get an indexed page.
Reading the figures
- The rates describe flights leaving the airport, judged on when they arrived at their destination. They are not rates for flights landing at the airport.
Columns
| Column | Type | Meaning |
|---|---|---|
codetext | text | IATA airport code, three letters. |
nametext | text | Airport name as it appears on the airport page. |
citytext | text | City the airport serves, as shown on the site. |
statetext | text | Two-letter USPS state or territory code. Empty when none is on file. |
flightsinteger | integer | Departures from this airport in the period, cancelled and diverted flights included. |
on_number, 1 decimal | number, 1 decimal | Percent of completed departures from this airport that arrived less than 15 minutes after their scheduled time at their destination. Cancelled and diverted flights have no arrival delay and are left out of this rate. |
cancellation_number, 2 decimals | number, 2 decimals | Percent of all scheduled flights that were cancelled. |
severe_number, 1 decimal | number, 1 decimal | Percent of completed departures from this airport that arrived 60 minutes or more after their scheduled time at their destination. |
median_number, whole minutes | number, whole minutes | Median arrival delay in minutes across completed departures from this airport. A negative number means the typical flight arrived early. |
avg_number, 1 decimal | number, 1 decimal | Mean arrival delay in minutes across completed departures from this airport, with early arrivals counted as negative minutes. |
departure_number, 1 decimal | number, 1 decimal | Percent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed. |
reliability_integer | integer | FlyerIntel reliability score from 0 to 100, higher is better, as a whole number the way the pages print it. Weights and reference points are on the methodology page. |
period_date | date | First date the figures cover, YYYY-MM-DD. |
period_date | date | Last date the figures cover, YYYY-MM-DD. |
First 5 rows
| code | name | city | state | flights | on_time_pct | cancellation_pct | severe_delay_pct | median_arrival_delay_min | avg_arrival_delay_min | departure_on_time_pct | reliability_score | period_start | period_end |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ABE | Lehigh Valley International Airport | Allentown | PA | 11763 | 82.8 | 1.53 | 7.9 | -12 | 6.0 | 83.4 | 66 | 2023-07-01 | 2026-07-31 |
| ABQ | Albuquerque International Sunport | Albuquerque | NM | 76013 | 83.2 | 0.83 | 5.4 | -7 | 3.6 | 82.2 | 76 | 2023-07-01 | 2026-07-31 |
| ANC | Ted Stevens Anchorage International Airport | Anchorage | AK | 58776 | 83.6 | 1.15 | 4.3 | -7 | 1.1 | 83.7 | 77 | 2023-07-01 | 2026-07-31 |
| ATL | Hartsfield-Jackson Atlanta International Airport | Atlanta | GA | 1012247 | 78.7 | 1.31 | 7.1 | -5 | 7.9 | 78.8 | 66 | 2023-07-01 | 2026-07-31 |
| AUS | Austin-Bergstrom International Airport | Austin | TX | 272521 | 78.0 | 1.03 | 7.5 | -5 | 9.0 | 76.7 | 65 | 2023-07-01 | 2026-07-31 |
Airlines
One row per covered airline: flights, on-time, cancellation and delay rates, and the FlyerIntel reliability score across its whole network. A regional flight counts for the airline that operated it, not the brand on the ticket.
- Rows
- 15
- Period
- July 2023 – July 20262023-07-01 to 2026-07-31
- Last recomputed
- Sorted by
- code
Download airlines as CSVDownload airlines as JSON
CSV 1 KB, JSON 8 KB. File names: /data/airlines.csv and /data/airlines.json.
What is left out
- Covered airlines with at least 10,000 flights in the period. These are the airlines that get an indexed page.
Reading the figures
- Every row has its own period. An airline that stopped reporting partway through the analysis window ends earlier, so check period_end before comparing one airline with another.
Columns
| Column | Type | Meaning |
|---|---|---|
codetext | text | IATA airline code, two characters. |
nametext | text | Airline name as it appears on the airline page. |
flightsinteger | integer | Flights the airline operated in the period, cancelled and diverted flights included. |
on_number, 1 decimal | number, 1 decimal | Percent of completed flights that arrived less than 15 minutes after their scheduled time. Cancelled and diverted flights have no arrival delay and are left out of this rate. |
cancellation_number, 2 decimals | number, 2 decimals | Percent of all scheduled flights that were cancelled. |
severe_number, 1 decimal | number, 1 decimal | Percent of completed flights that arrived 60 minutes or more after their scheduled time. |
median_number, whole minutes | number, whole minutes | Median arrival delay in minutes across completed flights. A negative number means the typical flight arrived early. |
avg_number, 1 decimal | number, 1 decimal | Mean arrival delay in minutes across completed flights, with early arrivals counted as negative minutes. |
departure_number, 1 decimal | number, 1 decimal | Percent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed. |
reliability_integer | integer | FlyerIntel reliability score from 0 to 100, higher is better, as a whole number the way the pages print it. Weights and reference points are on the methodology page. |
period_date | date | First date the figures cover, YYYY-MM-DD. |
period_date | date | Last date the figures cover, YYYY-MM-DD. |
First 5 rows
| code | name | flights | on_time_pct | cancellation_pct | severe_delay_pct | median_arrival_delay_min | avg_arrival_delay_min | departure_on_time_pct | reliability_score | period_start | period_end |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 9E | Endeavor Air | 304230 | 85.1 | 2.30 | 6.0 | -12 | 0.3 | 85.7 | 70 | 2023-07-01 | 2024-12-31 |
| AA | American Airlines | 3019376 | 74.8 | 1.76 | 10.0 | -5 | 13.7 | 75.0 | 52 | 2023-07-01 | 2026-07-31 |
| AS | Alaska Airlines | 813732 | 78.9 | 1.28 | 5.0 | -4 | 3.6 | 80.2 | 71 | 2023-07-01 | 2026-07-31 |
| B6 | JetBlue | 745492 | 72.5 | 2.19 | 11.7 | -5 | 13.2 | 72.8 | 45 | 2023-07-01 | 2026-07-31 |
| DL | Delta Air Lines | 3146502 | 82.1 | 1.16 | 6.3 | -8 | 3.9 | 82.1 | 71 | 2023-07-01 | 2026-07-31 |
Routes
One row per directional airport pair, so ATL to LGA and LGA to ATL are separate rows: flights, on-time, cancellation and delay rates, and the FlyerIntel reliability score, all airlines combined.
- Rows
- 2,081
- Period
- July 2023 – July 20262023-07-01 to 2026-07-31
- Last recomputed
- Sorted by
- origin, then destination
Download routes as CSVDownload routes as JSON
CSV 134 KB, JSON 587 KB. File names: /data/routes.csv and /data/routes.json.
What is left out
- At least 750 flights in the period and a reliability score.
- At least 3 of the six departure windows with 120 or more flights each.
- Both airports covered by FlyerIntel.
- Still flown: a flight on the route within the last 95 days of the data.
Reading the figures
- A route’s rates combine every airline that flies it. The route pages split them by airline; these files do not.
Columns
| Column | Type | Meaning |
|---|---|---|
origintext | text | IATA code of the departure airport. Matches code in the airports file. |
destinationtext | text | IATA code of the arrival airport. Matches code in the airports file. |
flightsinteger | integer | Flights on this route in the period, all airlines combined, cancelled and diverted flights included. |
on_number, 1 decimal | number, 1 decimal | Percent of completed flights that arrived less than 15 minutes after their scheduled time. Cancelled and diverted flights have no arrival delay and are left out of this rate. |
cancellation_number, 2 decimals | number, 2 decimals | Percent of all scheduled flights that were cancelled. |
severe_number, 1 decimal | number, 1 decimal | Percent of completed flights that arrived 60 minutes or more after their scheduled time. |
median_number, whole minutes | number, whole minutes | Median arrival delay in minutes across completed flights. A negative number means the typical flight arrived early. |
avg_number, 1 decimal | number, 1 decimal | Mean arrival delay in minutes across completed flights, with early arrivals counted as negative minutes. |
departure_number, 1 decimal | number, 1 decimal | Percent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed. |
reliability_integer | integer | FlyerIntel reliability score from 0 to 100, higher is better, as a whole number the way the pages print it. Weights and reference points are on the methodology page. |
period_date | date | First date the figures cover, YYYY-MM-DD. |
period_date | date | Last date the figures cover, YYYY-MM-DD. |
First 5 rows
| origin | destination | flights | on_time_pct | cancellation_pct | severe_delay_pct | median_arrival_delay_min | avg_arrival_delay_min | departure_on_time_pct | reliability_score | period_start | period_end |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ABE | ATL | 1561 | 86.2 | 1.22 | 5.9 | -13 | -0.2 | 86.5 | 75 | 2023-07-01 | 2026-07-31 |
| ABE | CLT | 3090 | 84.5 | 2.20 | 8.3 | -16 | 4.0 | 83.5 | 64 | 2023-07-01 | 2026-07-31 |
| ABE | ORD | 1135 | 74.5 | 2.82 | 14.7 | -6 | 27.2 | 75.7 | 37 | 2023-07-01 | 2026-07-31 |
| ABQ | ATL | 3044 | 89.5 | 1.05 | 3.1 | -12 | -2.4 | 88.5 | 83 | 2023-07-01 | 2026-07-31 |
| ABQ | AUS | 2687 | 81.2 | 0.33 | 5.5 | -5 | 4.7 | 80.2 | 77 | 2023-07-01 | 2026-07-31 |
Flight numbers
One row per flight number on the route it flies now: operations and the same on-time, cancellation and delay rates as the other files. Airlines reuse a number for a different city pair over time, so a number appears once, on its current route. There is no reliability score at this level.
- Rows
- 2,653
- Period
- July 2023 – July 20262023-07-01 to 2026-07-31
- Last recomputed
- Sorted by
- carrier, then flight number
Download flight numbers as CSVDownload flight numbers as JSON
CSV 181 KB, JSON 779 KB. File names: /data/flight-numbers.csv and /data/flight-numbers.json.
What is left out
- At least 600 operations on the route the number currently flies.
- Both airports covered by FlyerIntel, and an airline FlyerIntel covers.
- Still scheduled: operated within the last 95 days of the data.
Reading the figures
- A flight number is a slot in a schedule, and airlines reassign it. Each number here is measured on its current route only, from first_seen to last_seen.
Columns
| Column | Type | Meaning |
|---|---|---|
carriertext | text | IATA code of the operating airline. Matches code in the airlines file. |
flight_integer | integer | The flight number without the airline code, 1 to 9999. |
origintext | text | IATA code of the departure airport on the current route. |
destinationtext | text | IATA code of the arrival airport on the current route. |
operationsinteger | integer | Scheduled operations of this number on this route in the period, cancelled and diverted flights included. |
on_number, 1 decimal | number, 1 decimal | Percent of completed flights that arrived less than 15 minutes after their scheduled time. Cancelled and diverted flights have no arrival delay and are left out of this rate. |
cancellation_number, 2 decimals | number, 2 decimals | Percent of all scheduled flights that were cancelled. |
severe_number, 1 decimal | number, 1 decimal | Percent of completed flights that arrived 60 minutes or more after their scheduled time. |
median_number, whole minutes | number, whole minutes | Median arrival delay in minutes across completed flights. A negative number means the typical flight arrived early. |
avg_number, 1 decimal | number, 1 decimal | Mean arrival delay in minutes across completed flights, with early arrivals counted as negative minutes. |
departure_number, 1 decimal | number, 1 decimal | Percent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed. |
first_date | date | First date the number operated this route in the data, YYYY-MM-DD. The figures cover this date through last_seen. |
last_date | date | Last date the number operated this route in the data, YYYY-MM-DD. |
First 5 rows
| carrier | flight_number | origin | destination | operations | on_time_pct | cancellation_pct | severe_delay_pct | median_arrival_delay_min | avg_arrival_delay_min | departure_on_time_pct | first_seen | last_seen |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AA | 1 | JFK | LAX | 1094 | 89.4 | 1.01 | 3.0 | -17 | -8.4 | 93.1 | 2023-07-01 | 2026-07-31 |
| AA | 2 | LAX | JFK | 1121 | 84.2 | 0.98 | 10.0 | -15 | 17.0 | 86.7 | 2023-07-01 | 2026-07-31 |
| AA | 3 | JFK | LAX | 1077 | 88.3 | 1.02 | 5.4 | -19 | -5.7 | 88.5 | 2023-07-01 | 2026-07-31 |
| AA | 4 | LAX | JFK | 1113 | 77.4 | 1.35 | 8.6 | -10 | 10.0 | 79.1 | 2023-07-01 | 2026-07-31 |
| AA | 9 | DFW | ABQ | 1108 | 62.9 | 2.71 | 15.4 | 3 | 25.7 | 59.3 | 2023-07-01 | 2026-07-31 |
Airport monthly series
Month by month on-time and cancellation rates for each airport in the airports file, for every month with enough departures to state a rate. The rates are for flights leaving the airport, as in the airports file.
- Rows
- 2,368
- Period
- July 2023 – July 20262023-07-01 to 2026-07-31
- Last recomputed
- Sorted by
- airport, then month
Download airport monthly series as CSVDownload airport monthly series as JSON
CSV 65 KB, JSON 231 KB. File names: /data/airport-monthly.csv and /data/airport-monthly.json.
What is left out
- Only airports in the airports file.
- Only months with at least 120 departures. A thinner month is left out, so a series can have gaps.
Columns
| Column | Type | Meaning |
|---|---|---|
airporttext | text | IATA airport code. Matches code in the airports file. |
monthmonth | month | Calendar month, YYYY-MM. |
flightsinteger | integer | Departures from the airport in the month, cancelled and diverted flights included. |
on_number, 1 decimal | number, 1 decimal | Percent of completed departures that arrived less than 15 minutes after their scheduled time at their destination. |
cancellation_number, 2 decimals | number, 2 decimals | Percent of the month’s scheduled departures that were cancelled. |
First 5 rows
| airport | month | flights | on_time_pct | cancellation_pct |
|---|---|---|---|---|
| ABE | 2023-07 | 422 | 74.4 | 0.95 |
| ABE | 2023-08 | 398 | 81.1 | 1.51 |
| ABE | 2023-09 | 376 | 88.0 | 0.00 |
| ABE | 2023-10 | 408 | 90.4 | 0.00 |
| ABE | 2023-11 | 374 | 88.7 | 0.27 |
7,181 rows across 5 datasets. How the numbers are calculated · Where the data comes from · Report a problem
Source: FlyerIntel analysis of US DOT Bureau of Transportation Statistics data · July 2023 – July 2026