Flightradar24 Playback Scraper
Pricing
from $2.30 / 1,000 flight chargeds
Flightradar24 Playback Scraper
Get historical flight positions at a past point in time from Flightradar24. Talks directly to Flightradar24's own gRPC/REST APIs, no login needed. Split from the mature, published flightradar24-all-in-one-api for a focused, single-purpose workflow.
What does Flightradar24 Playback Scraper do?
Flightradar24 Playback Scraper takes a bounding box and a unix timestamp and returns every flight that was inside that box at that exact moment in the past — a historical snapshot, not a live feed. One dataset row per flight.
It talks directly to the same internal gRPC live feed the official Flightradar24 Android app uses (data-feed.flightradar24.com), reverse-engineered by static decompilation and validated against real live traffic. No API key, no login, no scraping setup. This is the /playback slice of Flightradar24 All-in-One API, split out as its own focused Actor.
Why use Flightradar24 Playback Scraper?
- Real historical positions — not an estimate or interpolation, the exact position snapshot Flightradar24's own server returns for that timestamp
- Single call, no pagination — pass a bounding box and a timestamp, get an array of flights back
- No account needed — the same anonymous feed the free tier of the app itself uses
- Use cases: aviation incident research, airspace congestion analysis at a past point in time, competitive intelligence on historical route activity, flight-delay research
Input
| Field | Type | Required | Description |
|---|---|---|---|
north / south / west / east | number | yes | Bounding box in decimal degrees |
timestamp | integer | yes | Unix timestamp (seconds) of the point in time to look up — last 7 days only |
limit | integer | no | Max flights to return. Default 1500. |
Example:
{"north": 6,"south": -11,"west": 95,"east": 141,"timestamp": 1756598400,"limit": 500}
Output
One dataset row per flight, Flightradar24's own Flight message shape (same fields as the parent Actor's /live-feed, just at the requested past timestamp):
{"flightId": 1094013202,"lat": -5.815,"lon": 111.413,"track": 205,"alt": 38000,"speed": 476,"callsign": "PAS646","onGround": false,"timestampMs": "1786924707066","extraInfo": { "flight": "IP646", "reg": "PK-PWO", "type": "A320" }}
Known limitations
- Playback depth is 7 days. This matches the free tier of the Flightradar24 app itself. It is enforced server-side by Flightradar24, not by this Actor — an out-of-range or too-old
timestampreturns an empty flight list rather than an error, so an empty dataset is a valid (if unlucky) result, not a failure. - Live tracking, flight detail, search, and airport boards are separate spin-off Actors — this one is playback-only. For the full endpoint set, see Flightradar24 All-in-One API.
- Not an official Flightradar24 product — an independent tool using Flightradar24's internal APIs, reverse-engineered from the public Android app. Use responsibly and in accordance with Flightradar24's Terms of Service.
Pricing
This Actor uses Pay Per Event billing: charged $0.003 per flight row returned (event flight, FREE tier price — lower on paid plans). See the Actor's Pricing tab for current rates.
FAQ
Does this require a Flightradar24 account? No. The Actor uses the same anonymous data feed the Flightradar24 mobile app uses — no login, no API key.
Why did I get zero results? Either the timestamp is older than 7 days (Flightradar24's own limit), or the bounding box genuinely had no tracked flights at that exact moment. Try a slightly different timestamp or a wider box.
Need a custom integration? Contact me at romysaputrasihanandaa@gmail.com or hire me on Fiverr.