Data Coverage
Contents
Flight Data
Is Coverage Global?
We cover the majority of commercial flights worldwide. Coverage limitations are determined predominantly on geographical basis (per airport / region, rather than per airline), as well as by the limitations of the external data sources. Live status and ADS-B updates are available for just over a thousand airports only: the best coverage is in the USA, Canada and Europe so far.
However, as an enthusiast-driven API, we deliver flight data in the best effort fashion, which is why worldwide coverage of the data is not guaranteed. In exchange, we charge a fee which is significantly below the market average with the lowest pricing plan available at the price of the cup of coffee. Also, we are now working hard to improve our coverage and quality in the coming future. More about this can found in our FAQ.
Why the Limitation?
We aggregate our data from numerous external data sources. After aggregating the data, we apply complex algorithms to combine, clean and normalize the data in order to make it as shiny as we can. Even though we do our best to do so, as an enthusiast-driven project, we cannot afford exclusive and costly partnerships with major aviation data providers. We rely heavily on limited partnerships, public and community-driven data sources, that’s why the quality and coverage is restricted, and you may miss some data if you expect live status updates and real-time locations of all flights worldwide, especially in the areas with low air traffic. We focus primarily on areas with intensive commercial air traffic.
What is the Actual Coverage?
Please refer to the map below. Note, that his map is updated manually at irregular intervals or when there are major coverage updates: it may not always reflect the most recent situation.
For the most up-to-date status, please use the health-check and status API.
— No flight data available
— Schedules data available
— ADS-B updates data available
— Schedules + ADS-B updates data available
— Schedules + Live updates data available
— Schedules + Live + ADS-B updates data available
Structure of the Flight Data
Each flight returned by the API is composed of up to 3 data “layers” applied and merged on top of each other: schedules, “live” data and ADS-B data. Given this and geographical nature of the coverage limitations, each flight may therefore have different degree of coverage for departure and arrival part of the information. We call this “asymmetrical coverage”.
A flight departing from an airport in the area with all 3 data layers operational and arriving into an airport with only schedule data layer active, will have live status updates for the origin airport (ETD, ATD, possibly, gate number, check-in desk, aircraft registration), and only scheduled time available for the destination (consequently, this flight may not go past the “departed” status, because it will never get actual arrival status report). Please note, that sometimes, a flight or part of the flight (departure or arrival) may have no coverage at all!
Example of asymmetrical coverage
Let’s look into data layers which compose the final flight data you get from the API.
Layer 1. Schedules (Static) Data
This data layer is static and therefore doesn’t include any status updates and doesn’t reflect the actual progress of a flight. Often, it provides a significant look-ahead for the upcoming flights. This data layer includes basic minimum information about flight:
- flight number (always);
- airline (always);
- planned time of departure / arrival (always);
- destination / origin (always);
- planned aircraft type (often);
- terminal (sometimes).
As flight schedules do not provide live status updates, the status for a scheduled flight will stay “Unknown”, and planned times will stay the same as revised times, until the flight is updated by the other data layers, if available (see below).
Current Schedules (Static) Data Configuration
Updated: once in 2 weeks per airport / region
Available: up to 365 days1 in the future, if available 2
Historical data is available: up to 365 days in the past, if available 2, 31 Depends on your selected pricing plan
2 May effectively be less for specific flights, airports, regions depending on the quality of the contributing data source.
3 Do you need more? Please contact us.
Layer 2. “Live” Data
Data from “live” update feeds layer complements / overwrites schedules data in accordance with the actual progress of the flight, by adding the following information:
- revised planned time of departure / arrival (always);
- actual / estimated time of departure / arrival (always);
- status of the flight (always);
- revised aircraft type (often);
- code-share marker (often);
- terminal (sometimes);
- check-in desks (sometimes);
- baggage belt (sometimes);
- gate (sometimes);
- cargo marker (sometimes);
- aircraft registration (sometimes);
- aircraft ICAO Mode-S 24-bit address (sometimes);
- ATC call-sign (rare);
- actual / estimated time on the runway: take-off/landing time (rare).
This layer is dynamic and is updated frequently. It covers the data related to the estimated and actual progress of the flight. It may also create new flights if not previously provided by the scheduled data layer or remove flights that were placed into schedules incorrectly.
Current Live Data Configuration
Updated: with variable interval, typically from nearly real-time up to once in a few hours
Available: variable, from a few hours ahead up to a few days ahead, typically, up to tomorrow 1
Historical data is available: up to 365 days in the past, if available 2, 31 May effectively be less for specific flights, airports, regions depending on the quality of the contributing data source.
2 May effectively be less for specific flights, airports, regions depending on the quality of the contributing data source.
3 Do you need more? Please contact us.
Layer 3. ADS-B Updates Data
Experimental data layer. This information is derived by analyzing data retrieved from ADS-B receivers located worldwide. This, among others, includes positional changes of the aircraft operating the flight. It may complement scheduled and/or live update data with the following information :
- ATC call-sign (always);
- aircraft registration (always);
- aircraft ICAO Mode-S 24-bit address (always);
- revised aircraft type (always);
- actual / estimated time on the runway: take-off / landing time (sometimes);
- actual / estimated runway of take-off / landing (sometimes);
- actual / estimated time of departure / arrival (sometimes).
This type of layer / feed may also create new flights if those were not mentioned in other data layers (typically applies to general aviation or cargo flights). This information is dynamic and updated frequently: with an interval of from a few seconds up to half an hour. Due to the nature of ADS-B, this data is optional even in the areas with stated good coverage. This layer is naturally real-time only and does not provide any look-ahead in the future.
Uniformity of Limitations
You may retrieve flight information either by requesting a specific flight individually, or by listing flights per airport, or by requesting flight updates using the subscription mechanism of our PUSH API. Either way, all coverage limitations apply to any relevant flight data endpoints.
Furthermore, flight data coverage restrictions equally affect any functionality or any data derived from the flight data and provided by the API. For example
- there will be no airport or flight delays statistics available for flights / airports without live or ADS-B data coverage;
- Flight Alert PUSH API will not provide any updates for flights departing from / arriving to airports / regions without live or ADS-B data coverage: there is no sense to subscribe to such flights or airports;
- etc (see documentation).
Can You Fix Coverage in My Area? I Really Need It.
We routinely work on improving our coverage. However, we cannot do so on-demand, for practical reasons. If you desired flight is not covered, covered partially or inconsistently, there is usually not much we can do, as we rely on the external sources and we inherit their limitations.
However, you are welcome let us know if there is specific area that you are interested. Areas with more votes will be eventually prioritized in our roadmap. The requests from the customers on high-tier and custom pricing plans, or from those willing to contribute their data to our API, may also be prioritized.
Can I Contribute My Data? Can We Have a Partnership?
We are on a constant look-out for more and better sources of data, so the short answer is – yes. The longer answer will depend on the details of the proposition. Contact us and let’s have a chat.