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 ETag and a Last-Modified header, so a request that sends If-None-Match gets 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) and rows, 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

Columns in the airports file
ColumnTypeMeaning
codetexttextIATA airport code, three letters.
nametexttextAirport name as it appears on the airport page.
citytexttextCity the airport serves, as shown on the site.
statetexttextTwo-letter USPS state or territory code. Empty when none is on file.
flightsintegerintegerDepartures from this airport in the period, cancelled and diverted flights included.
on_time_pctnumber, 1 decimalnumber, 1 decimalPercent 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_pctnumber, 2 decimalsnumber, 2 decimalsPercent of all scheduled flights that were cancelled.
severe_delay_pctnumber, 1 decimalnumber, 1 decimalPercent of completed departures from this airport that arrived 60 minutes or more after their scheduled time at their destination.
median_arrival_delay_minnumber, whole minutesnumber, whole minutesMedian arrival delay in minutes across completed departures from this airport. A negative number means the typical flight arrived early.
avg_arrival_delay_minnumber, 1 decimalnumber, 1 decimalMean arrival delay in minutes across completed departures from this airport, with early arrivals counted as negative minutes.
departure_on_time_pctnumber, 1 decimalnumber, 1 decimalPercent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed.
reliability_scoreintegerintegerFlyerIntel 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_startdatedateFirst date the figures cover, YYYY-MM-DD.
period_enddatedateLast date the figures cover, YYYY-MM-DD.

First 5 rows

First 5 rows of the airports file
codenamecitystateflightson_time_pctcancellation_pctsevere_delay_pctmedian_arrival_delay_minavg_arrival_delay_mindeparture_on_time_pctreliability_scoreperiod_startperiod_end
ABELehigh Valley International AirportAllentownPA1176382.81.537.9-126.083.4662023-07-012026-07-31
ABQAlbuquerque International SunportAlbuquerqueNM7601383.20.835.4-73.682.2762023-07-012026-07-31
ANCTed Stevens Anchorage International AirportAnchorageAK5877683.61.154.3-71.183.7772023-07-012026-07-31
ATLHartsfield-Jackson Atlanta International AirportAtlantaGA101224778.71.317.1-57.978.8662023-07-012026-07-31
AUSAustin-Bergstrom International AirportAustinTX27252178.01.037.5-59.076.7652023-07-012026-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

Columns in the airlines file
ColumnTypeMeaning
codetexttextIATA airline code, two characters.
nametexttextAirline name as it appears on the airline page.
flightsintegerintegerFlights the airline operated in the period, cancelled and diverted flights included.
on_time_pctnumber, 1 decimalnumber, 1 decimalPercent 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_pctnumber, 2 decimalsnumber, 2 decimalsPercent of all scheduled flights that were cancelled.
severe_delay_pctnumber, 1 decimalnumber, 1 decimalPercent of completed flights that arrived 60 minutes or more after their scheduled time.
median_arrival_delay_minnumber, whole minutesnumber, whole minutesMedian arrival delay in minutes across completed flights. A negative number means the typical flight arrived early.
avg_arrival_delay_minnumber, 1 decimalnumber, 1 decimalMean arrival delay in minutes across completed flights, with early arrivals counted as negative minutes.
departure_on_time_pctnumber, 1 decimalnumber, 1 decimalPercent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed.
reliability_scoreintegerintegerFlyerIntel 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_startdatedateFirst date the figures cover, YYYY-MM-DD.
period_enddatedateLast date the figures cover, YYYY-MM-DD.

First 5 rows

First 5 rows of the airlines file
codenameflightson_time_pctcancellation_pctsevere_delay_pctmedian_arrival_delay_minavg_arrival_delay_mindeparture_on_time_pctreliability_scoreperiod_startperiod_end
9EEndeavor Air30423085.12.306.0-120.385.7702023-07-012024-12-31
AAAmerican Airlines301937674.81.7610.0-513.775.0522023-07-012026-07-31
ASAlaska Airlines81373278.91.285.0-43.680.2712023-07-012026-07-31
B6JetBlue74549272.52.1911.7-513.272.8452023-07-012026-07-31
DLDelta Air Lines314650282.11.166.3-83.982.1712023-07-012026-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

Columns in the routes file
ColumnTypeMeaning
origintexttextIATA code of the departure airport. Matches code in the airports file.
destinationtexttextIATA code of the arrival airport. Matches code in the airports file.
flightsintegerintegerFlights on this route in the period, all airlines combined, cancelled and diverted flights included.
on_time_pctnumber, 1 decimalnumber, 1 decimalPercent 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_pctnumber, 2 decimalsnumber, 2 decimalsPercent of all scheduled flights that were cancelled.
severe_delay_pctnumber, 1 decimalnumber, 1 decimalPercent of completed flights that arrived 60 minutes or more after their scheduled time.
median_arrival_delay_minnumber, whole minutesnumber, whole minutesMedian arrival delay in minutes across completed flights. A negative number means the typical flight arrived early.
avg_arrival_delay_minnumber, 1 decimalnumber, 1 decimalMean arrival delay in minutes across completed flights, with early arrivals counted as negative minutes.
departure_on_time_pctnumber, 1 decimalnumber, 1 decimalPercent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed.
reliability_scoreintegerintegerFlyerIntel 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_startdatedateFirst date the figures cover, YYYY-MM-DD.
period_enddatedateLast date the figures cover, YYYY-MM-DD.

First 5 rows

First 5 rows of the routes file
origindestinationflightson_time_pctcancellation_pctsevere_delay_pctmedian_arrival_delay_minavg_arrival_delay_mindeparture_on_time_pctreliability_scoreperiod_startperiod_end
ABEATL156186.21.225.9-13-0.286.5752023-07-012026-07-31
ABECLT309084.52.208.3-164.083.5642023-07-012026-07-31
ABEORD113574.52.8214.7-627.275.7372023-07-012026-07-31
ABQATL304489.51.053.1-12-2.488.5832023-07-012026-07-31
ABQAUS268781.20.335.5-54.780.2772023-07-012026-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

Columns in the flight numbers file
ColumnTypeMeaning
carriertexttextIATA code of the operating airline. Matches code in the airlines file.
flight_numberintegerintegerThe flight number without the airline code, 1 to 9999.
origintexttextIATA code of the departure airport on the current route.
destinationtexttextIATA code of the arrival airport on the current route.
operationsintegerintegerScheduled operations of this number on this route in the period, cancelled and diverted flights included.
on_time_pctnumber, 1 decimalnumber, 1 decimalPercent 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_pctnumber, 2 decimalsnumber, 2 decimalsPercent of all scheduled flights that were cancelled.
severe_delay_pctnumber, 1 decimalnumber, 1 decimalPercent of completed flights that arrived 60 minutes or more after their scheduled time.
median_arrival_delay_minnumber, whole minutesnumber, whole minutesMedian arrival delay in minutes across completed flights. A negative number means the typical flight arrived early.
avg_arrival_delay_minnumber, 1 decimalnumber, 1 decimalMean arrival delay in minutes across completed flights, with early arrivals counted as negative minutes.
departure_on_time_pctnumber, 1 decimalnumber, 1 decimalPercent of flights that left the gate less than 15 minutes after their scheduled time, out of flights that departed.
first_seendatedateFirst date the number operated this route in the data, YYYY-MM-DD. The figures cover this date through last_seen.
last_seendatedateLast date the number operated this route in the data, YYYY-MM-DD.

First 5 rows

First 5 rows of the flight numbers file
carrierflight_numberorigindestinationoperationson_time_pctcancellation_pctsevere_delay_pctmedian_arrival_delay_minavg_arrival_delay_mindeparture_on_time_pctfirst_seenlast_seen
AA1JFKLAX109489.41.013.0-17-8.493.12023-07-012026-07-31
AA2LAXJFK112184.20.9810.0-1517.086.72023-07-012026-07-31
AA3JFKLAX107788.31.025.4-19-5.788.52023-07-012026-07-31
AA4LAXJFK111377.41.358.6-1010.079.12023-07-012026-07-31
AA9DFWABQ110862.92.7115.4325.759.32023-07-012026-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

Columns in the airport monthly series file
ColumnTypeMeaning
airporttexttextIATA airport code. Matches code in the airports file.
monthmonthmonthCalendar month, YYYY-MM.
flightsintegerintegerDepartures from the airport in the month, cancelled and diverted flights included.
on_time_pctnumber, 1 decimalnumber, 1 decimalPercent of completed departures that arrived less than 15 minutes after their scheduled time at their destination.
cancellation_pctnumber, 2 decimalsnumber, 2 decimalsPercent of the month’s scheduled departures that were cancelled.

First 5 rows

First 5 rows of the airport monthly series file
airportmonthflightson_time_pctcancellation_pct
ABE2023-0742274.40.95
ABE2023-0839881.11.51
ABE2023-0937688.00.00
ABE2023-1040890.40.00
ABE2023-1137488.70.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