Flightradar24 - Live Aircraft, Airport Boards & Flight History avatar

Flightradar24 - Live Aircraft, Airport Boards & Flight History

Pricing

from $1.00 / 1,000 flight records

Go to Apify Store
Flightradar24 - Live Aircraft, Airport Boards & Flight History

Flightradar24 - Live Aircraft, Airport Boards & Flight History

Live aircraft positions by map area (callsign, lat/lng, altitude, speed, vertical speed, heading, squawk, registration, aircraft type, route, airline), airport departure and arrival boards, and aircraft or flight number history with times, delays and status, in one unified schema.

Pricing

from $1.00 / 1,000 flight records

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Categories

Share

Flightradar24 Live Flight Tracker & Airport Boards

Track aircraft in the air right now, pull any airport's departures and arrivals board, and look up the full flight history of an aircraft or a flight number. Three very different views of the same world, returned in one unified schema so you can join them without writing a mapper.

Most flight trackers on the Store do exactly one of these. This one does all three, adds a real change-detection mode for scheduled monitoring, and returns the recorded position trail that snapshot scrapers cannot give you.


What you get

ModeWhat it returns
Live positionsEvery aircraft inside one or more map areas: callsign, flight number, registration, ICAO 24 bit address, latitude, longitude, altitude, ground speed, vertical speed, heading, squawk, aircraft type, airline, origin and destination, ground state
Airport boardAn airport's departures or arrivals, walked past page 1 to the airport's own declared total: flight number, airline, route, aircraft, scheduled, estimated and actual times, terminal, gate, live status
Aircraft / flight historyEvery past and scheduled leg for a tail number or a flight number, with full route, airports with coordinates, timings and status
Paste linksGive it flightradar24.com/data/... links and it resolves each one into the right mode above

Turn on flight detail enrichment in live mode and every aircraft also gets full airport names, cities and countries, terminal and gate, scheduled, estimated and real departure and arrival times, delay, flight duration, and the recorded position trail (latitude, longitude, altitude, speed, heading and timestamp per point).


Quick start

Live traffic over western Europe, 50 aircraft:

{
"mode": "live",
"bounds": ["55.0,45.0,-6.0,10.0"],
"maxItems": 50
}

Heathrow departures, the whole board:

{
"mode": "airport",
"airports": ["LHR"],
"boardMode": "departures",
"maxItems": 0
}

Everything a particular aircraft has flown:

{
"mode": "history",
"historyQueries": ["G-TUKR"],
"fetchBy": "reg",
"maxItems": 0
}

Approach traffic into London only, below 10,000 ft, with full detail and trails:

{
"mode": "live",
"bounds": ["51.7,51.2,-0.6,0.3"],
"maxAltitudeFt": 10000,
"includeOnGround": false,
"fetchDetails": true,
"maxItems": 0
}

Map areas

A map area is a bounding box written as north,south,west,east in decimal degrees. Add as many as you like; each is fetched as its own scope.

RegionBounding box
Western Europe55.0,45.0,-6.0,10.0
Continental USA49.0,24.0,-125.0,-66.0
Greater London51.7,51.2,-0.6,0.3
New York area41.2,40.4,-74.5,-73.4
Japan45.6,30.9,128.5,146.0
Gulf region27.0,22.5,50.0,57.0

Filters

Every filter applies to every mode, including pasted links, because URL mode resolves each link and then runs the same scrape path the other modes use.

  • Flight numbers or callsigns, aircraft registrations, airlines (ICAO or IATA)
  • Origin and destination airports (IATA or ICAO)
  • Minimum and maximum altitude in feet
  • Include aircraft on the ground and include gliders toggles

A row that cannot know a value is never dropped by that filter. An airport board row carries no altitude, so an altitude filter leaves board rows alone instead of silently turning into a mode filter.


Recurring monitoring

Two separate features, both in the Resume & recurring updates section:

  • Resume from a previous run continues ONE interrupted crawl. Paste the previous run or dataset ID and already collected flights are skipped, not re-charged.
  • Incremental mode is for a schedule. The first run returns everything as NEW; later runs return only NEW, UPDATED and REAPPEARED. Optional toggles add UNCHANGED and EXPIRED rows (both bill extra rows, so both default to off).

What counts as a change

Change detection deliberately ignores position, altitude, ground speed, vertical speed and heading. A flying aircraft reports new values for all of those every few seconds, so if they drove change detection every row would come back UPDATED on every run, which is the same as having no change detection at all, and you would be billed for the whole set every time.

Those values are still returned in full, with their current value, on every row. What triggers UPDATED is a real event: a status change, a new estimated or actual time, a delay, a gate or terminal change, a route change, or a different aircraft or airline.

EXPIRED is only ever produced after a run that genuinely finished scanning its targets. A run that was cut short by the Max flights cap, a resumed run, a run where a target failed, and a run that scanned nothing at all will all skip expiry detection rather than wrongly marking live flights gone.


Output

One record shape for every mode, so a table never comes back ragged. Fields a given mode cannot know are present and null rather than missing.

{
"id": "live|416346ed",
"recordType": "live",
"fr24Id": "416346ed",
"callsign": "TOM8HB",
"flightNumber": "BY733",
"registration": "G-TUKR",
"icao24": "407F96",
"squawk": null,
"aircraftCode": "B738",
"aircraftModel": "Boeing 737-8K5",
"airlineName": "TUI",
"airlineIata": "X3",
"airlineIcao": "TUI",
"originIata": "AGA",
"originName": "Agadir Al Massira Airport",
"originCity": "Agadir",
"originCountry": "Morocco",
"destinationIata": "MAN",
"destinationName": "Manchester Airport",
"destinationCity": "Manchester",
"destinationCountry": "United Kingdom",
"latitude": 50.6383,
"longitude": -1.4173,
"altitudeFt": 36000,
"groundSpeedKts": 487,
"verticalSpeedFpm": 64,
"headingDeg": 1,
"onGround": false,
"positionUpdatedAt": "2026-08-28T00:50:15Z",
"statusText": "Delayed 05:07",
"statusLive": true,
"scheduledDeparture": "2026-08-27T20:55:00Z",
"realDeparture": "2026-08-27T22:52:21Z",
"scheduledArrival": "2026-08-28T00:45:00Z",
"estimatedArrival": "2026-08-28T01:27:28Z",
"etaAt": "2026-08-28T01:27:28Z",
"delaySeconds": 71,
"trailPoints": 240,
"flightUrl": "https://www.flightradar24.com/TOM8HB/416346ed",
"scrapedAt": "2026-08-28T00:50:30Z"
}

trail holds the recorded track when detail enrichment is on:

"trail": [
{ "latitude": 50.6066, "longitude": -1.4189, "altitudeFt": 36000,
"groundSpeedKts": 488, "headingDeg": 1, "recordedAt": "2026-08-28T00:50:00Z" }
]

In incremental mode each row also carries changeType, changedFields, firstSeenAt and lastSeenAt.


Pricing

You are charged for:

  • Flight record, charged per row returned, whichever mode produced it.
  • Flight detail enrichment (lives in the Output & limits input section), charged once per flight only when you turn detail on. If the detail lookups start failing, enrichment switches itself off for the rest of the run and nothing further is charged; base rows keep flowing.
  • Actor start, charged once per run.

Nothing is charged for an empty or failed run.


Connection

Apify Proxy is recommended, and the default connection works on every plan. If a particular network gives you empty results, pick another connection in the Connection section.


Notes and limits

  • A run whose requests were all rejected fails rather than reporting success with zero rows, so a connection problem can never be mistaken for an empty search.
  • Airport boards are walked page by page up to the airport's own declared total, bounded by your Max flights cap.
  • Aircraft history does not publish a total row count, so that walk continues until the source says there are no more pages.
  • Live positions are a snapshot at request time. For continuous tracking, schedule the actor and use incremental mode.
  • Coverage of any given aircraft depends on receiver coverage in that area; some military and private aircraft are not broadcast at all.

Send results into your apps (MCP connectors)

Optionally pipe results straight into Notion, Linear, Airtable or any MCP server, from the Export to your apps (MCP connectors, optional) section of the input. It is a side channel only: the dataset is never changed, and a connector failure never fails the run.

Input parameters

ParameterWhat it does
mcpConnectorsThe MCP connectors this run exports into (Notion, Linear, Airtable, Apify). Leave it empty and nothing is exported.
notionParentPageUrlNotion connector only: the page under which one child page per flight is created. Required when mcpConnectors includes Notion, ignored otherwise.
maxNotifyListingsHow many items are exported to each connector in one run, default 50. Caps the export only; it never changes what the dataset returns.