Flight data & API
JSON endpoints served by the local RADARX24 Node server. All paths are relative to your app origin.
GET /api/health
Service heartbeat and airport database size.
curl /api/health
GET /api/aircraft
Live merged aircraft near a point or bbox.
/api/aircraft?lat=32.62&lon=44.02&dist=300&world=1 Query: lat, lon, dist (nm), world=1|0, lamin/lomin/lamax/lomax, clip=0|1
GET /api/history · /api/history/snapshot · /api/history/track/:hex
Local per-flight trail archive (default TRACK_RETENTION_DAYS=7).
Primary files: data/tracks/YYYY-MM-DD/{hex}.ndjson — not a map dump.
Snapshot reconstructs positions from those trails; oldest day deleted wholesale.
Keyless — uses the server’s existing ADS-B aggregation (no paid tokens).
/api/history /api/history/snapshot?ts=1730900000000&lamin=&lomin=&lamax=&lomax= /api/history/track/a835af?from=&to=&limit=2000 Env: TRACK_RETENTION_DAYS=7 · TRACK_HISTORY=0 to disable Script: node scripts/record-flight-trails.mjs --smoke
GET /api/airports
Search and filter the OurAirports-derived database.
/api/airports?q=lhr&type=large&limit=50 Query: q, type (large|medium|small), limit, optional bbox
GET /api/airports/:code
Single airport by IATA or ICAO code.
/api/airports/EGLL
GET /api/airlines
Airline directory search.
/api/airlines?q=qatar&limit=100
GET /api/aircraft/:hex
Static aircraft metadata (registration, type, operator) via adsbdb.
/api/aircraft/a835af
GET /api/photo-src · GET /api/photo
Aircraft photos from free public sources only (Planespotters public API,
adsbdb, airport-data CDN). No API keys or tokens are used or required.
/api/photo-src returns a JSON CDN URL for instant img.src;
/api/photo serves a cached file or 302-redirects to the free CDN.
/api/photo-src?hex=8940C9 /api/photo?hex=8940C9 /api/photo?reg=A9C-NG
GET /api/route/:callsign
Filed route origin/destination for a callsign.
/api/route/QTR123
GET /api/search
Unified search across airports, airlines, live flights, and hex metadata.
/api/search?q=BGW
GET /api/stats
Live traffic snapshot, database counts, and upstream feed attempt log.
/api/stats
GET /api/nearest-airport
Closest non-small airport to a coordinate pair (distance in nautical miles).
/api/nearest-airport?lat=51.47&lon=-0.45