OpenSky Network Review
Free ADS-B flight tracking API with multi-year historical archive — the right tool when Flightradar24's history tier is too expensive.
Quick Verdict
Researchers and investigators who need free API access to historical flight data going back years without paying FR24's subscription rates.
Pros
- + Free REST API with multi-year historical archive — Flightradar24 charges for this at $99.99/mo Business tier
- + Python library (pyopensky) and Trino SQL access for bulk historical queries in analytical workflows
- + Academic/research-grade data — raw ADS-B state vectors, not sanitized consumer output
- + No subscription required to access years of flight trajectory data
- + Active research community; codebase is open and well-documented for technical users
Cons
- − No polished GUI — the web map is functional but nowhere near Flightradar24 quality
- − API is technical by design; requires REST familiarity or Python setup to get meaningful output
- − Coverage thins significantly outside Europe and North America
- − Honors some aircraft blocking requests — not as unfiltered as ADS-B Exchange
- − Trino SQL access for bulk queries requires non-trivial local setup
What OpenSky Network Is
OpenSky Network uses the same concept as Flightradar24 and ADS-B Exchange. Volunteers run ground receivers that pick up 1090 MHz ADS-B signals from planes.
The focus here is on researchers. The interface is basic, but the tools are technical. A free REST API with years of historical flight data is available. Raw ADS-B state vectors are available, and queries can be made in bulk with SQL.
The historical archive sets OpenSky apart. Flightradar24 charges $99.99/month for API access to historical data. OpenSky provides it for free.
Coverage is best in Europe, North America. The volunteer receivers are concentrated there. Elsewhere, gaps are expected, in Europe, North America, and other regions, such as Asia, Africa, South America; however specifically Europe and North America.
OpenSky Network uses the same concept as Flightradar24 and ADS-B Exchange. Volunteers run ground receivers that pick up 1090 MHz ADS-B signals from planes.
The focus here is on researchers. The interface is basic, but the tools are technical. A free REST API with years of historical flight data is available. Raw ADS-B state vectors are available, and queries can be made in bulk with SQL.
The historical archive sets OpenSky apart. Flightradar24 charges $99.99/month for API access to historical data. OpenSky provides it for free.
The coverage areas include Europe and North America. These areas have many volunteer receivers. Other areas have gaps.
What It's Good For
Historical Flight Path Reconstruction
OpenSky excels at historical flight path reconstruction. Want to know where aircraft N12345 was on March 4th, 2023? OpenSky provides that data for free, often spanning years, with a simple API call. This is the main advantage over other free options.
Bulk Aircraft Movement Analysis
Bulk analysis is another strong use case. You can pull all departures from a specific airport within a defined time frame, or query every flight associated with a given ICAO hex code over months. Trino SQL access handles these bulk queries. FR24's API pricing often exceeds budgets for independent investigators.
Integration and Workflow
OpenSky works seamlessly with Python through the pyopensky library. Output feeds directly into pandas dataframes. Data cleaning, filtering, and visualization fit into a standard analytical workflow. No manual CSV exports are needed.
Verifying Commercial Flight Claims
Verifying commercial flight claims is straightforward. Pull the aircraft's state vectors for a given day. Confirm the route and timing. No subscription is required.
Budget-Friendly Option
For those on a budget, OpenSky serves as a viable fallback. It delivers when FR24's Business tier is too expensive. Rate limits exist, but are manageable for most investigative queries.
Getting Started
OpenSky Network API
To use the OpenSky Network API, you need to register at opensky-network.org. Unregistered users hit API rate limits quickly. Registration is free.
Current State Vectors
The REST API provides current state vectors. You can access all current state vectors with a GET request to https://opensky-network.org/api/states/all.
If you want information on a specific plane, you can add the ICAO hex code to the request. For example, https://opensky-network.org/api/states/all?icao24=a835af.
Historical Flight Data
The API also provides historical flight data. To retrieve flight history, use a GET request like
https://opensky-network.org/api/flights/aircraft?icao24=a835af&begin=1677628800&end=1677715200.
The timestamps are in Unix epoch time, and the begin and end parameters set your time window.
Python Setup
Python users can install the library with pip install pyopensky. Authenticate with your OpenSky credentials. The library handles REST calls and returns pandas DataFrames.
Bulk Historical Queries
For heavy lifting and access to full historical data, use Trino. This requires more setup but is worth it. A local Trino client is required.
OpenSky API Endpoints
| Endpoint | Method | What It Returns |
|---|---|---|
/api/states/all |
GET | Live state vectors for all currently tracked aircraft — position, altitude, velocity, heading, squawk, on-ground status |
/api/states/all?icao24={hex} |
GET | Live state vector for a single aircraft by ICAO hex code |
/api/states/all?lamin={}&lomin={}&lamax={}&lomax={} |
GET | All aircraft currently within a geographic bounding box |
/api/flights/aircraft |
GET | Flight list for a specific aircraft within a time window (Unix timestamps) — includes departure and arrival airports, first/last seen times |
/api/flights/arrival |
GET | All arrivals at a specified airport (ICAO code) within a time window |
/api/flights/departure |
GET | All departures from a specified airport within a time window |
/api/tracks/all |
GET | Full flight trajectory (series of state vectors) for a specific flight — position history, not just endpoints |
Rate limits apply to all endpoints. Free accounts get more requests than anonymous users. You can check the limits on the OpenSky Network API documentation website at opensky-network.org/apidoc.
Pricing
OpenSky Network is free, with no paid tier available.
| Tier | Cost | Access |
|---|---|---|
| Anonymous | Free | Low rate limits, REST API, live data only |
| Registered (free account) | Free | Higher rate limits, REST API, historical archive access |
| Research access | Free (application) | Trino SQL access to full historical database for bulk queries |
To access Trino, you need an application. It is not auto-approved on registration. Researchers and investigators who have a solid use case are typically approved.
Limitations
OpenSky's web map works, but it's bare-bones. The research interface is not for the general public. For clean visuals or quick aircraft lookups without coding, FR24's still your best bet.
Meaningful history from OpenSky demands API calls or SQL queries. Users who don't code face a steep learning curve. A Python library helps coders, but doesn't eliminate the hassle.
Data gaps exist outside Europe and North America. Investigations in these regions will hit roadblocks. Don't assume an aircraft wasn't flying just because it's not in the data.
Some aircraft are blocked. OpenSky respects opt-out requests, so some planes on ADS-B Exchange won't show up here. ADS-B Exchange lists aircraft, but OpenSky doesn't.
State vectors update every 10-15 seconds. This update frequency is good enough for investigations, but not ideal for real-time monitoring.
Trino access requires a local client setup. The setup is documented, but it adds at least an hour of prep before you can query.
Alternatives
Flightradar24 has a clean UI and mobile app. The Gold plan costs $7.99/mo and offers 365-day history. However, historical API access costs $99.99/mo. LADD aircraft are not shown.
ADS-B Exchange is unfiltered, which is its strength. However, a custom API deal is required for data older than 7 days. There is no public pricing. It surpasses OpenSky on openness but falls short on transparency. ADS-B Exchange provides data on various aircraft, including military, private, and commercial planes.
FlightAware dominates US commercial aviation with deep FAA data integration. API pricing is clear. However, private aircraft history is not its strong suit. FlightAware offers data on commercial aircraft, such as Delta, American Airlines, and United.
The FAA Aircraft Registry is not a tracker. It is the go-to source for US aircraft information. It is free and no account is needed. You can confirm an N-number's owner and operator.
Bottom Line
OpenSky offers free API access to years of flight data—that's its niche. You can't get historical flight data elsewhere for free.
Need to know where an aircraft was two years ago? OpenSky is your option if FR24's Business tier is out of budget.
The catch: it's for coders. You'll make REST calls or write Python scripts. OpenSky's archive is unmatched. The cost is nothing.
See Also
Best ADS-B Software, ADS-B Setup Guide
Further Reading
Tool Relationships
Similar Tools
RTL-SDR Blog V4
The standard $40 software-defined radio dongle for ADS-B aircraft tracking, AIS ship tracking, and weather satellite imagery.
Nooelec NESDR SMArt v5
The RTL-SDR alternative with tighter frequency accuracy and a complete antenna bundle — better value than the V4 if you don't need shortwave.
Flightradar24
Real-time and historical flight tracking via a global ADS-B receiver network
SkyOSINT
Real-time satellite tracking and space intelligence platform combining orbital data with geopolitical analysis
Community Rating
Ratings from security researchers. No third-party tracking.
Rate this tool:
This review reflects testing as of 2026-04-02. OSINT tools change frequently — check the vendor's current documentation for pricing and feature updates. Report an error →