We aggregate our data from numerous external data sources. The data is delivered in the best effort fashion, that’s why the top quality and complete worldwide coverage is not guaranteed. After aggregating the data altogether, we do our best to clean, normalize and build some statistics upon it in order to make it as shiny and beautiful as possible.
You can retrieve flight information either by requesting a specific flight individually, by listing flights per airport, or by requesting flight updates using the subscription mechanism of our PUSH API. In any case, the following applies to both cases.
Each flight item is often a mix of data layers coming from different sources. These layers (sources) can all of which can be divided into three groups:
Schedules / Static Data Feeds
Data sources providing minimum information about a planned flight, including:
- flight number (always);
- airline (always);
- planned time of departure / arrival (always);
- destination / origin (always);
- planned aircraft type (often);
- terminal (sometimes).
This information is static and therefore doesn’t include any status updates and doesn’t reflect the actual progress of a flight.
Updated: once in 2 weeks per airport.
Available: up to 180 days (6 months) in the future.
Live Update Data Feeds
Data from live update feeds complements / overwrites schedules data in accordance with the actual progress of the flight, 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 provided by the scheduled data layer or remove flights that were placed into schedules incorrectly.
Updates: with a varying interval from nearly real-time to a couple of hours (depending on the flight frequency at an airport and the nature of the responsible data source).
Available: variable (from several hours in the future up to several days; most of the time: today and tomorrow are covered).
ADS-B Updates Data Feeds
Experimental. 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 or cargo aviation 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 areas with good coverage. This layer is naturally real-time only and does not provide any look-ahead in the future.
Each of these layers/feeds contributes to the completeness of the resulting flight data item.
Availability of these layers / feeds is largely determined on a per-airport basis. Airports supporting all three data layers will likely have the most complete information about the flights commencing there. The contrary applies to airports supporting only a single feed. For instance, if there is only static schedule data available for an airport, you will most likely not see any updates to the status or actual time of the flights commencing there. Similarly, you will not get any flight notification updates for the part of a flight, related to such an airport.
Why there is no global coverage?
Unfortunately, we don’t have global and exhaustive coverage of flight data at the moment. Live status and ADS-B updates are available for just over a thousand airports only: the best coverage is in Europe, Russia, and the USA so far. This way you may miss quite some data if you’re seeking live status updates for all the flights worldwide.
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
Last updated: April 25, 2022
The primarily reason for that is because the global data is not easily available and concentrated in a few major data companies which hold a strong commercial monopoly on it.
That’s why we have to use a myriad of public sources, including community-maintained ones, (re-)invent our own data indexing, ingestion, and processing mechanisms. This is, in essence, what bigger companies do as well, but on a much larger, industrial scale.
For a small enthusiastic “made-in-garage” API project developed during the spare time after work, we don’t have the ambition nor capacity to grow to the level at which global live flight data coverage will be financially achievable for us.
Though limited coverage might be seen as a disqualifying flaw for some, on the other side it’s one of the factors permitting us to share this API at rates comparable to visiting a grocery store instead of charging each user a more common fee of hundreds or thousands of dollars monthly.
Keep in mind that AeroDataBox API is currently driven by enthusiasm and love for software engineering and aviation rather than commercial profit.