Flight Tracker
Track flights in real-time and search flight schedules between airports.
Quick Commands
Live Flight Tracking
Flights over a region (bounding box)
bash
# Switzerland (lat_min, lat_max, lon_min, lon_max) curl -s "https://opensky-network.org/api/states/all?lamin=45.8&lomin=5.9&lamax=47.8&lomax=10.5" | \ jq -r '.states[] | "\(.[1]) - \(.[2]) | Alt: \(.[7])m | Speed: \(.[9])m/s | From: \(.[5])"'
Track specific flight by callsign
bash
curl -s "https://opensky-network.org/api/states/all?icao24=<aircraft-icao>" | jq .
Get live flight info
bash
# Use helper script python3 scripts/track.py --region switzerland python3 scripts/track.py --callsign SWR123 python3 scripts/track.py --airport LSZH
Flight Schedules
Search for scheduled flights between airports:
bash
# Basic usage (shows search links) python3 scripts/schedule.py HAM ZRH # With specific date python3 scripts/schedule.py --from HAM --to ZRH --date 2026-01-15 # With API key (optional, for detailed results) export AVIATIONSTACK_API_KEY='your_key_here' python3 scripts/schedule.py HAM ZRH
Without API key: Shows helpful search links (Google Flights, FlightRadar24, airline websites)
With API key: Fetches live schedule data with departure/arrival times, terminals, gates, and status
Free API key available at aviationstack.com (100 requests/month)
Regions
Pre-defined regions in the script:
- •switzerland: Swiss airspace
- •europe: European airspace (rough bounds)
- •zurich: Area around Zurich
- •geneva: Area around Geneva
API Endpoints
All states
bash
GET https://opensky-network.org/api/states/all
Optional parameters:
- •
lamin,lomin,lamax,lomax: Bounding box - •
icao24: Specific aircraft (hex code) - •
time: Unix timestamp (0 = now)
Response Format
Each flight state contains:
code
[0] icao24 - Aircraft ICAO24 address (hex) [1] callsign - Flight callsign (e.g., "SWR123") [2] origin_country - Country name [5] origin - Origin airport (if available) [7] baro_altitude - Altitude in meters [9] velocity - Speed in m/s [10] heading - Direction in degrees [11] vertical_rate - Climb/descent rate in m/s
Airport Codes
ICAO (for live tracking)
- •LSZH - Zurich
- •LSGG - Geneva
- •LSZB - Bern
- •LSZA - Lugano
- •LFSB - Basel-Mulhouse (EuroAirport)
IATA (for schedules)
- •ZRH - Zurich
- •GVA - Geneva
- •BSL - Basel
- •BRN - Bern
- •LUG - Lugano
- •HAM - Hamburg
- •FRA - Frankfurt
- •MUC - Munich
- •BER - Berlin
- •LHR - London Heathrow
- •CDG - Paris CDG
- •AMS - Amsterdam
Notes
Live Tracking (OpenSky Network)
- •Free API with rate limits (anonymous: 400/day)
- •Real-time data from ADS-B receivers worldwide
- •No API key required
- •Data updated every 10 seconds
- •Create account for higher limits and historical data
Flight Schedules (AviationStack)
- •Optional API key for detailed schedule data
- •Free tier: 100 requests/month
- •Without API: provides search links to Google Flights, FlightRadar24, etc.
- •Supports date-specific queries