← Back to live globe
UC17 · Aircraft Traffic

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

📡
01

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.

OpenSky REST APIADS-B / MLAT / FLARMAnonymous accessState vectors
🔁
02

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.

Next.js Route Handler60 s edge cacheRate-limit protectionStale-while-revalidate
🔬
03

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.

Fixed-index array parsingNull-safe field accessAltitude band assignmentOn-ground detection
🖥
04

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.

Three.js BufferGeometryVertex colour codingRaycaster click detection60 s position refresh

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