Air travel & flight data
A year of US domestic flights from the BTS on-time file: airports, routes, delays and their causes, taxi times, aircraft rotations and the jet stream.
Every domestic flight flown by a large US airline is in the Bureau of Transportation Statistics on-time file: 7,001,619 flights in 2025, with scheduled and actual times, taxi times, the aircraft that flew it, and why it was late or cancelled. It is free, and it is spatial in more ways than it looks: 352 airports with coordinates, routes that are great circles, 22 time zones hidden in its clock times, and a wind field you can recover from how long flights take.
The guides here load and clean the year, map delays by airport, build the route network, follow aircraft through their day, measure weather, taxi queues and the jet stream, and explain the delay causes. Two pages deal with the numbers that mislead: flights that seem to land before they take off, and an average delay that comes out negative.
🧭 Start with the concepts
The ideas the how-to guides below assume you already have.
⚙️ Then do the task
Step-by-step walkthroughs with code you can copy and adapt.
- How to Load and Clean a Year of US Flight Data in Python
- How to Map Flight Delays by Airport in Python
- How to Build an Airline Route Network and Draw Great-Circle Routes in Python
- How to Follow an Aircraft Through Its Day and Measure Delay Propagation
- How to Measure Where and When Weather Delays Flights
- How to Measure Airport Congestion from Taxi-Out Times
Show every how-to guide in this topic
🔧 When it breaks
The errors this topic produces, with the cause explained rather than just the command.
Related topics
Subjects that keep coming up alongside this one, most overlap first.