FlightRadar24 Scraper – Live Flights & History avatar

FlightRadar24 Scraper – Live Flights & History

Pricing

from $0.20 / 1,000 live aircraft rows

Go to Apify Store
FlightRadar24 Scraper – Live Flights & History

FlightRadar24 Scraper – Live Flights & History

Track live aircraft anywhere on earth: position, altitude, speed, heading, callsign, route, registration and airline. Plus flight and airframe history, airport delay stats, free-text search and recorded tracks. Tiles large regions automatically past the 1,500-aircraft per-request cap.

Pricing

from $0.20 / 1,000 live aircraft rows

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

FlightRadar24 Scraper ✈️ — Live Aircraft, Flight History & Airport Data

FlightRadar24 Scraper pulls live aircraft positions and flight data straight from FlightRadar24's own mobile API — no HTML parsing, no headless browser, no login. Sweep an area for every aircraft in the sky, look up a flight's history, trace an airframe by registration, read an airport's delay statistics, or replay a completed flight's recorded track. Export to JSON, CSV, Excel, or the Apify API.

Every aircraft over a continent, not the first 1,500 — this scraper splits large areas automatically to get past FlightRadar24's per-request cap.


❓ What does this FlightRadar24 scraper do?

It runs one of seven jobs, chosen with the What to scrape input:

ModeWhat you get
Live aircraft in an areaEvery aircraft inside a bounding box — position, altitude, ground speed, vertical speed, heading, squawk, registration, aircraft type, route and airline
SearchFlights, airlines, airports and airframes matching free text like BA48, British Airways or G-STBA
Flight history by flight numberPast and scheduled operations of a flight number, with actual vs scheduled times
Aircraft history by registrationThe airframe itself (model, country, Mode-S hex) plus the flights it has operated
Airport detailsName, ICAO code, coordinates, timezone and FlightRadar24's arrival/departure delay indices
Most-tracked flightsWhat FlightRadar24's own audience is watching right now, with viewer counts
PlaybackA completed flight's recorded track — every position, altitude, speed and vertical speed
  • 🟢 No code required — pick a mode, click Start, download your data.
  • 🔓 No FlightRadar24 account — the data it reads is the anonymous tier, so there is nothing to log into.
  • 🗺️ Whole-continent coverage — large areas are tiled automatically (see below).
  • 💸 Charged per row, plus platform usage — an aircraft seen in two overlapping tiles is billed once, and a request that returned nothing is not billed at all.

🌍 How do I get more than 1,500 aircraft?

FlightRadar24 returns at most 1,500 aircraft per request, whatever area you ask for. A request covering Europe and a request covering the entire planet both come back with 1,500 rows while the true worldwide count sits around 15,000 — and nothing in the response says it was truncated.

With Split large areas automatically on (the default), any area that comes back at the cap is divided into four and each part fetched separately, repeating until every part fits underneath it. Measured against the live API: Europe returns 1,500 aircraft as one request and 5,433 as 13 tiled requests.

Empty airspace costs nothing extra — only tiles that actually hit the cap are split. If an area is still truncated when the depth limit is reached, the run log says so explicitly rather than letting you read a capped result as a complete one.


🚀 How do I scrape live flights? (3 steps)

  1. Pick a mode — start with Live aircraft in an area.
  2. Choose the area — a ready-made region (Europe, North America, Whole world…) or a custom box via the four latitude/longitude fields.
  3. Run & export — click Start, then download JSON/CSV/Excel or fetch it through the Apify API.

Narrow the sweep with Only this airline (BAW, DLH, UAE…), Only this flight number (BA48) or Only this registration (G-STBA). These are applied by FlightRadar24 before the 1,500-row cap, so one airline worldwide is a single fast request rather than a tiled sweep.


📖 What do the live aircraft fields mean?

FieldMeaning
flightIdFlightRadar24's 8-character id for this flight. Feed it to Playback mode, or open flightUrl.
hexMode-S / ICAO 24-bit transponder address — the airframe's hardware identity.
callsignWhat ATC calls it, e.g. BAW48Q. Often differs from the flight number.
flightNumberThe commercial number, e.g. BA48. Empty for private and military traffic.
altitudeFtBarometric altitude in feet. 0 while on the ground.
groundSpeedKtsGround speed in knots.
verticalSpeedFpmRate of climb or descent in feet per minute. Negative means descending, 0 means level.
onGroundtrue when taxiing or parked.
squawkTransponder code. 7700 is a general emergency, 7600 radio failure, 7500 hijack.
radarWhich receiver saw it — T-MLAT1 is multilateration, F-… a terrestrial ADS-B feeder.
originIata / destinationIataRoute endpoints, when FlightRadar24 knows them. Empty for general aviation.
airlineIcaoThree-letter operator code, e.g. BAW for British Airways.
timestampIsoWhen the position was reported, UTC.

Every record carries a recordType, so a run that mixes live positions with detail lookups stays easy to split.


🔍 Can I get full detail for each aircraft?

Yes — turn on Add full detail for each flight. Each aircraft then also gets a flightDetail row: full aircraft model, airline, both airports with coordinates and timezones, scheduled vs actual departure and arrival, delay in minutes, and an aircraft photo with its copyright line. Include the recent position trail adds the flight's recent track points.

This is one extra request per aircraft, so it is off by default and priced separately. FlightRadar24 rate-limits this endpoint more tightly than the others; the actor backs off per host automatically, but a large sweep with detail enabled will take noticeably longer than one without.


💵 How much does it cost?

Charged per event rather than per minute of compute:

EventPriceCharged for
Live aircraft rowUSD 0.0002Each aircraft from an area sweep. De-duplicated: an aircraft seen in two overlapping tiles is billed once.
Flight rowUSD 0.001Each search result, flight-history row, airframe record or most-tracked row.
Detail rowUSD 0.004Each full flight detail, airport record or playback track — one extra request each.

A sweep of Europe returning about 5,400 aircraft costs roughly USD 1.08 in event charges.

Apify platform usage (compute, proxy, data transfer) is billed on top of these event prices, as your plan's rates. Nothing is charged for a request that returned no usable data — a stale flight id, an airport code that matches nothing, or a blocked request all cost zero.


This actor reads the same public, anonymous endpoints FlightRadar24's own app uses, without signing in and without circumventing any paywall — the Pro-only depth of history simply is not returned. Aircraft position data originates from ADS-B transponder broadcasts, which are unencrypted public radio transmissions.

You are responsible for what you do with the data. Check FlightRadar24's terms before commercial redistribution, and note that some jurisdictions restrict publishing the movements of identifiable private aircraft. Scrape at a considerate rate; the defaults here are deliberately modest.


❓ FAQ

Do I need a FlightRadar24 account or API key? No. Everything this actor reads is available anonymously. There is no credential to supply.

How current are the positions? Live — each row carries the timestamp of the position report, usually a few seconds old. This is a snapshot at the moment of the run, not a stream; schedule the actor to build a time series.

Why did my area return exactly 1,500 aircraft? That is FlightRadar24's per-request cap. Turn on Split large areas automatically, or raise Max split depth if the log warns that an area is still truncated.

Why are some aircraft missing a flight number or route? Private, business and military traffic often broadcasts a callsign and nothing else. The position, altitude and registration are still there.

Can I track one aircraft over time? Yes — set Only this registration in live mode and schedule the run, or use Aircraft history by registration for flights it has already operated.

What is the difference between callsign and flight number? The flight number is commercial (BA48); the callsign is what ATC uses on the radio (BAW48Q). They frequently differ, and airlines sometimes fly the same number under several callsigns.

Does it cover military aircraft? It returns whatever FlightRadar24 publishes. Many military aircraft do not broadcast a position at all, and some that do are filtered out upstream.

What about gliders, helicopters and ground vehicles? Included by default. Turn off Include gliders or Include ground vehicles to leave them out, and Include aircraft on the ground to get airborne traffic only.


🔌 Using it from code

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("rl1987/flightradar24-api-scraper").call(run_input={
"mode": "live",
"region": "europe",
"airlineIcao": "BAW",
"maxItems": 500,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["callsign"], item["altitudeFt"], item["verticalSpeedFpm"])

🛠️ Support

Found a bug or need a field that is not here? Open an issue on the actor's Issues tab. Include the run id — it makes the difference between a guess and a fix.