FlightAware API
The FlightAware API returns live flight-tracking data as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary flight_status endpoint returns a flight's ident, status, airline, aircraft, origin, destination and gate times, and you can pull a live_position and an airport_board. It is built for travel apps, logistics and flight-tracking products that need live flight data. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, flight_status, on .
{
"method": "POST",
"url": "https://api.reefapi.com/flightaware/v1/flight_status",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"ident": "UAL100"
}
}{
"ok": true,
"meta": {
"api": "flightaware",
"endpoint": "flight_status",
"mode": "live",
"latency_ms": 2806.9,
"record_count": 1,
"bytes": 590241,
"cache_hit": false,
"method": "ssr_trackpoll_bootstrap"
},
"data": {
"flight": {
"ident": "UAL100",
"display_ident": "UAL100",
"iata_ident": "UA100",
"friendly_ident": "United 100",
"flight_id": "UAL[redacted-phone]-schedule-29p:8",
"status": "arrived",
"cancelled": false,
"diverted": false,
"airline": {
"name": "[redacted-name]",
"short_name": "United",
"icao": "UAL",
"iata": "UA",
"callsign": "United",
"url": "https://www.united.com/"
},
"aircraft": {
"type": "B789",
"friendly_type": "Boeing 787-9 Dreamliner (twin-jet)",
"manufacturer": "Boeing",
"model": "787-9 Dreamliner",
"engines": "2",
"engine_type": "jet",
"tail": null,
"heavy": true
},
"origin": {
"iata": "SYD",
"icao": "YSSY",
"name": "Sydney",
"city": "Sydney, Australia",
"timezone": "Australia/Sydney",
"gate": "26",
"terminal": "1",
"coord": {
"latitude": -33.9461,
"longitude": 151.1772
},
"delays": null
},
"destination": {
"iata": "IAH",
"icao": "KIAH",
"name": "[redacted-name]",
"city": "Houston, TX",
"timezone": "America/Chicago",
"gate": "E5",
"terminal": "E",
"coord": {
"latitude": 29.9844,
"longitude": -95.3414
},
"delays": null
},
"gate_departure": {
"scheduled": 1774659000,
"estimated": 1774659600,
"actual": 1774659600
},
"takeoff": {
"scheduled": 1774659600,
"estimated": 1774660680,
"actual": 1774660680
},
"landing": {
"scheduled": 1774714680,
"estimated": 1774715700,
"actual": 1774715700
},
"gate_arrival": {
"scheduled": 1774715100,
"estimated": 1774716180,
"actual": 1774716300
},
"progress": {
"flown_miles": 7479,
"remaining_miles": 1,
"actual_miles": 7693,
"percent_complete": 100
},
"position": {
"latitude": 29.9934,
"longitude": -95.3487,
"altitude_100ft": null,
"groundspeed_kts": 141,
"heading": null,
"timestamp": 1774715672
},
"flight_plan": {
"route": "M082F290 DCT NOBAR B474 ISTEM/M084F330 DCT 23S163E DCT 18S168E DCT 14S172E/M084F350 DCT GITON DCT 05S179W DCT 01N170W/M084F370 DCT 06N160W DCT 11N150W DCT 17N140W/M084F390 DCT 21N130W DCT 24N120W/M084F410 DCT LTO/N0482F410 DCT DUTES DCT DLF DCT SAT HTOWN3",
"filed_altitude": 290,
"filed_speed": 486,
"direct_distance": 7479,
"planned_distance": 7503,
"ete_seconds": 55080
},
"last_updated": 1774716363
}
}
}What the FlightAware API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| flight_status | Live status for one flight by ident or flight number. Returns origin/destination (airport name, IATA/ICAO, gate, terminal, timezone, coordinates), scheduled / estimated / actual times for gate-out, take-off, landing and gate-in, aircraft type, airline, trip progress (percent complete, miles flown/remaining), the live position (altitude, groundspeed, heading) when airborne, and the filed flight plan. | Travel apps call flight_status to get live status for one flight by ident or flight number. | ident |
| live_position | Live ADS-B track for one airborne flight: current position plus the full position history (lat/lon/altitude/groundspeed per timestamp) FlightAware has logged for this leg. Use flight_status first to confirm the flight is airborne. For grounded / arrived flights `position` is null and `track` is whatever was logged on the ground. | Pricing monitors call live_position to get live ADS-B track for one airborne flight. | ident |
| airport_board | Live activity board for an airport: the arrivals, departures, en-route or scheduled flights FlightAware shows for that airport. Each row gives the flight ident, aircraft type, the other airport (IATA), and the scheduled/estimated times. Feed an ident back into flight_status for full detail. | Itinerary products call airport_board to get live activity board for an airport. | airport, board, limit |
Call flight_status from your stack
curl -X POST https://api.reefapi.com/flightaware/v1/flight_status \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"ident":"UAL100"}'import requests
r = requests.post(
"https://api.reefapi.com/flightaware/v1/flight_status",
headers={"x-api-key": REEF_KEY},
json={
"ident": "UAL100"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/flightaware/v1/flight_status", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"ident": "UAL100"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.flightaware.flight_status with {"ident":"UAL100"}.Who uses this API and why
- Travel apps call flight_status to show a passenger's live flight state.
- Logistics tracks cargo flights with live_position.
- Airport apps use airport_board for departures and arrivals.
Questions developers ask before integrating
What is the FlightAware API?
FlightAware API is a ReefAPI endpoint group for flightaware It returns live JSON through POST requests under /flightaware/v1.
Is the FlightAware API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. FlightAware calls use the same shared credit balance as every other ReefAPI engine.
Do I need a FlightAware login or account?
No login to FlightAware is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the FlightAware data?
The page example is captured from a live flight_status call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the FlightAware API use?
FlightAware actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call FlightAware from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call flightaware actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the FlightAware API a FlightAware scraper?
It is the managed alternative to a DIY FlightAware scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same flightaware back as clean JSON.
Why does my FlightAware scraper keep getting blocked?
Most FlightAware scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.