Flightradar24 live flights in an area
Aircraft tracked right now inside a map area (north,south,west,east), with optional filters for airline, aircraft type, airport, registration, callsign and flight number, in the air or on the ground, and altitude and ground speed ranges; sort orders the aircraft returned. Applied filters are echoed in applied_filters. Each aircraft: flight id, ICAO 24-bit address, latitude, longitude, heading, altitude (ft), ground speed (kts), vertical speed (ft/min), squawk, aircraft type, registration, origin, destination, flight number, callsign, airline ICAO, on-ground flag, last update time and link. tracked_worldwide is the number of aircraft tracked worldwide; stats counts them by data source.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
boundsrequired | string | Map area as north,south,west,east in degrees, e.g. 52.0,51.0,-1.0,1.0 (London). Example: 52.0,51.0,-1.0,1.0 |
airline | string | Airline ICAO codes, comma-separated, e.g. BAW. |
type | string | Aircraft type codes, comma-separated, e.g. A320,B738. |
airport | string | Flights from or to these airports (IATA), comma-separated, e.g. LHR. |
registration | string | Aircraft registrations, comma-separated. |
callsign | string | Callsigns, comma-separated. |
flight | string | Flight numbers, comma-separated. |
on_ground | true | false | true: only aircraft on the ground; false: only airborne. |
altitude_min | integer | Only aircraft at or above this altitude (feet). |
altitude_max | integer | Only aircraft at or below this altitude (feet). |
speed_min | integer | Only aircraft at or above this ground speed (knots). |
speed_max | integer | Only aircraft at or below this ground speed (knots). |
sort | altitude | speed | callsign | flight_number | registration | time | Order of the aircraft returned (default: as tracked). |
order | asc | desc | With sort: desc (default for altitude, speed and time) or asc (default for callsign, flight_number and registration). |
limit | integer | Maximum aircraft, 1-1500 (default 1500). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/flightradar24/v1/live?bounds=52.0%2C51.0%2C-1.0%2C1.0" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/flightradar24/v1/live",
params={"bounds": "52.0,51.0,-1.0,1.0"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/flightradar24/v1/live");
url.searchParams.set("bounds", "52.0,51.0,-1.0,1.0");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).