Your flight was headed to Chicago, but somewhere over the Midwest it turned and landed in Milwaukee instead. That's a diversion — one of the more disruptive things that can happen to a flight, and one of the most misunderstood. A diversion isn't an emergency by default and it isn't random; it's a deliberate decision to land somewhere other than the destination, made for a specific reason. Here's why flights divert, how the crew picks where to go, and how you can track where a diverted flight actually ends up.

What a diversion actually is

A diversion is simply a flight that lands at an airport other than its scheduled destination. It's distinct from a delay (same destination, later) and from a hold (circling near the destination, waiting to land — which we cover in why is my flight circling). A diversion means the aircraft commits to a different airport and lands there. Sometimes it continues to the original destination hours later; sometimes the trip effectively ends where it diverted. Airlines plan for the possibility on every flight by nominating one or more alternate airports before departure.

A dark, stormy sky — the kind of weather that forces flights to divert

Why flights divert

The reasons cluster into a handful of buckets:

  • Weather at the destination. The most common cause. A thunderstorm parked over the field, fog that drops visibility below minimums, or a strong crosswind can make the destination temporarily unlandable — so the flight goes to its alternate. This is the same congestion-and-weather pressure that produces ground stops and FAA delay programs.
  • Medical emergency. A seriously ill passenger or crew member means landing at the nearest suitable airport, fast — often nowhere near the route's endpoints.
  • Technical issues. A warning the crew won't fly on with, a pressurization problem, or a precautionary shutdown sends the aircraft to the closest airport that can handle it.
  • Disruptive passengers or security concerns. Enough of a problem in the cabin, and the flight lands to offload it.
  • The destination closes. A disabled aircraft on the only runway, a runway incursion, or a sudden closure leaves inbound flights with nowhere to land.
  • Fuel. Holding or headwinds can eat into reserves until diverting to refuel is the safe call.

Where it actually lands

The crew doesn't pick randomly. They choose the nearest suitable airport — one with a long enough runway for the aircraft type, the right approach aids for the weather, emergency services if needed, and ideally the airline's own ground handling. For a medical or technical emergency, "nearest suitable" wins outright. For a weather diversion, it's usually the pre-planned alternate the dispatcher already fueled for. That's why a transatlantic flight might divert to Gander or Shannon — not because they're big hubs, but because they're the right airport in the right place.

An airliner parked on the apron at its diversion airport

How to track a diversion in real time

This is where it gets interesting for anyone building flight tools, because a diversion shows up in the data before any airline announcement does. A flight status lookup gives you the scheduled picture — origin, intended destination, times — while the live ADS-B feed shows where the aircraft actually is, and the mismatch between them is the diversion.

Start with the flight status endpoint to get the plan:

curl "https://skylink-api.p.rapidapi.com/flight_status/UA245" \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: skylink-api.p.rapidapi.com"

Then follow the aircraft on the live ADS-B endpoint: when its track turns away from the destination and its altitude starts down toward a different field, you're watching a diversion unfold. The moment its position settles and it stops moving, it's landed — the same descent-and-touchdown signature we break down in detecting takeoffs and landings from ADS-B. Cross-reference the landing coordinates with the nearest airport and you know exactly where the flight actually ended up.

SkyLink API gives you a free tier of 1,000 requests/month across flight status and live ADS-B, with paid plans starting at $19/mo for production. It's available through the free trial — sign up, grab a key, and track a flight all the way to wherever it really lands.