Data Coverage

As an enthusiast-driven project, we deliver flight data in the best effort fashion, which is why the quality and 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. More about this can found in our FAQ.

Why there is no global coverage?

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 all flights worldwide.

Even though we routinely work on improving the coverage, we don’t do so on-demand under general service terms.
If you desired flight is not covered, covered partially or inconsistently, there is usually nothing we can do, as we rely on the external sources and we’re subject to their limitations.

Flight Data

Coverage limitations are determined predominatly on geographical basis (per airport / region, rather than, e.g., 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, Europe, and Russia so far.

Furthermore, each flight deliverable by the API is combined from up to 3 data “layers” applied and merged on top of each other: schedules, live data and ADS-B sourced 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 (assymetrical 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 assymetrical coverage

Let’s look into data layers which compose the final flight data you get from the API.

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 signifcant lookahead for the upcoming flights. This data layer inclues 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

1 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.

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

1 May effectively be less for specific flights, airports, regions depending on the quality of the contributing data source.

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.

Coverage Limitations are Uniform for All Flight-Related Data

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 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 statistcis 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).

What is the Actual Coverage?

Please refer to the map below. Please note: this map is updated manually from time to time when there are major changes in the coverage areas. It may not reflect the present situation.

For the most up-to-date status, please use our healthcheck 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

Open the map in a new tab | Last updated: April 17, 2023