We aggregate and index our data from external public sources, community-maintained and commercial databases and APIs. The data is delivered in the best effort fashion, that's why top quality 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 from data coming from different sources all of which can be divided into three groups (layers):
Scheduled 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 and with a significant look-ahead in time (up to several months in future).
Live Update Data Feeds
Data from live update feeds complements / overwrites scheduled 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 interval of from a few seconds up to half an hour.
ADS-B Updates Data Feeds
Experimental. This information is derived by analyzing data retrieved from ADS-B receivers. 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 new flights if not mentioned by other data sources (typically, 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.
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 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 global data is not easily available and concentrated in 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 driven by enthusiasm and love to software engineering and aviation rather than commercial profit.