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 specific flight individually or by listing flights by airport. In any case the following applies to both cases.
Each flight item is often a mix of data coming from different sources all of which can be divided into three groups (layers):
Schedules / Static Data Feeds
Data sources providing minimal static information about planned flight, including:
flight number (always);
planned time of departure / arrival (always);
destination / origin (always);
planned aircraft type (often);
This information is static doesn't provide any status updates and doesn't reflect actual progress of the flight.
It's updated once in a few weeks, but with a significant look-ahead in time (up to several months in 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);
check-in desks (sometimes);
baggage belt (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 layers also adds new flights if not mentioned in schedules data or removes flights which were incorrect in schedules.
This information is dynamic and is being updated frequently: with varying interval of from a few seconds up to a couple of hours (depending on the flight frequency at an airport).
As this information applies to the actual progress of the flight, the look-ahead is significantly lower (not more than a day or two in future).
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 complements schedules and/or live updates with the following information (if wasn't already provided):
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).
It may also add new flights if not mentioned in other data layers (typically applies to general or cargo aviation). This information is dynamic and is being updated frequently: with interval of from a few seconds up to half an hour. Due to the nature of the ADS-B, this data is optional even in areas with good coverage. This layer is naturally real-time only and does not provided any look-ahead in time.
Each of these layers / feeds contributes to the completeness and quality level of the resulting flight data item.
Availability of these layers / feeds is determined on per-airport basis: airports supporting all three data feeds will likely to have the most complete information for flights departing / arriving there. The contrary applies to airports supporting only a single feed..
Unfortunately we don't have global and exhaustive coverage for flight data. Live status and ADS-B updates 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 will likely miss quite some data if you're seeking for live status updates for all the flights worldwide.
Which airports are supported?
To figure out if certain flight data feed (layer) is available for a specific airport, you are strongly advised to use always-free Healthcheck & Status endpoints: that will save you lots of quota!
You can also refer to the map below:
Why there is no global coverage?
This is primarily because the global data is not easily available and concentrated in a few major data companies which hold a strong 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 as a small enthusiastic API project developed during spare time after work, we don't have neither ambition nor capacity to grow to the level at which global live flight data coverage will be achievable.
Though limited coverage might be seen as a disqualifying flaw, on the other side it's one of the factors permitting us to share this API at rates comparable to visit to 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 to software engineering and aviation rather than commercial profit.