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 lik…
xenofex7
@xenofex7
What This Skill Does
Real-time flight tracking and schedule lookup using OpenSky Network and AviationStack APIs. Track live flights by region, callsign, or airport, and search scheduled flights between airports with optional API key for detailed results.
Replaces manually checking multiple flight tracking websites by providing a single command-line interface for live tracking and schedule searches.
When to Use It
- Track all live flights currently over Switzerland or another predefined region
- Monitor a specific flight by its callsign (e.g., SWR123) in real time
- Search scheduled flights between two airports for a given date
- Get altitude, speed, and heading data for aircraft near an airport
- Find all flights arriving at or departing from Zurich Airport (LSZH)
Install
$ openclaw skills install @xenofex7/flight-trackerFlight 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=<aircraft-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
Top skills in this category
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Browser Use
@shawnpanaAutomates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...
Playwright MCP
@spiceman161Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.
Playwright (Automation + MCP + Scraper)
@ivangdavilaAutomates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).
Browser Automation
@peytoncasperAutomate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications.