/install flight-tracker
Flight Tracker
Track flights in real-time and search flight schedules between airports.
Quick Commands
Live Flight Tracking
Flights over a region (bounding box)
# 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
curl -s "https://opensky-network.org/api/states/all?icao24=\x3Caircraft-icao>" | jq .
Get live flight info
# 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:
# 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
GET https://opensky-network.org/api/states/all
Optional parameters:
lamin,lomin,lamax,lomax: Bounding boxicao24: Specific aircraft (hex code)time: Unix timestamp (0 = now)
Response Format
Each flight state contains:
[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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install flight-tracker - After installation, invoke the skill by name or use
/flight-tracker - Provide required inputs per the skill's parameter spec and get structured output
What is A simple Flight Tracker?
Flight tracking and scheduling. Track live flights in real-time by region, callsign, or airport using OpenSky Network. Search flight schedules between airports. Use for queries like "What flights are over Switzerland?" or "When do flights from Hamburg arrive in Zurich?" or "Track flight SWR123". It is an AI Agent Skill for Claude Code / OpenClaw, with 3681 downloads so far.
How do I install A simple Flight Tracker?
Run "/install flight-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is A simple Flight Tracker free?
Yes, A simple Flight Tracker is completely free (open-source). You can download, install and use it at no cost.
Which platforms does A simple Flight Tracker support?
A simple Flight Tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created A simple Flight Tracker?
It is built and maintained by xenofex7 (@xenofex7); the current version is v1.1.0.