Live Aircraft Traffic
Real-time global flight tracking powered by the OpenSky Network community ADS-B receiver network. Every airborne aircraft rendered on a WebGL globe, colour-coded by altitude band.
10,000+
State vectors/request
60 s
Update interval
4
Altitude bands
Free
No API key required
Data Pipeline
OpenSky Network API
The OpenSky Network is a community-driven receiver network that aggregates ADS-B, MLAT, and FLARM transponder signals from thousands of ground stations worldwide. The REST endpoint `states/all` returns all currently tracked aircraft state vectors — latitude, longitude, altitude, speed, heading, and vertical rate.
Next.js API Proxy
A server-side Route Handler proxies OpenSky requests with 60-second edge caching, preventing client-side CORS issues and aggregating concurrent user requests into a single upstream call that respects OpenSky's anonymous rate limits.
State Vector Parsing
Each state vector is a fixed-index array of 17 fields. Null values (common for anonymous access) are handled gracefully. Aircraft without valid lat/lng are skipped. Altitude band is derived from baro_altitude and the on_ground flag.
WebGL Globe Rendering
Valid positions are loaded into a Three.js BufferGeometry particle system as a single draw call. Vertex colours encode altitude band. Particles pulse via a requestAnimationFrame opacity loop. A Three.js Raycaster handles click-to-select interactions.
About OpenSky Network
The OpenSky Network is a non-profit community initiative to provide open access to flight surveillance data. It operates thousands of ground-based ADS-B receivers contributed by volunteers worldwide, supplemented by MLAT (multilateration) and FLARM (general aviation) signals.
Anonymous access provides approximately 100 API credits per day. Each `states/all` call returns the current snapshot of all tracked aircraft with a slight delay. For production use, registered users receive higher rate limits and historical data access.
Tech Stack
Data source
OpenSky Network (community ADS-B)
Update rate
60 s (cached at edge)
Aircraft
~10,000+ global state vectors
Globe
globe.gl + Three.js WebGL
Framework
Next.js 16 App Router
Click
Raycaster → callsign, speed, altitude, heading