Agricultural Products & Services · AviationStack (APILayer)
AviationStack Flight & Airport API
Datadory delivers aviationstack flight airport api data covering nine documented endpoint families - live flight tracking, historical flights, airline routes and six reference shelves - one nested record per flight leg across 10,000-plus airports, 13,000-plus airlines and 19,000-plus airframes, delivered daily, weekly, or hourly.
API, files, or your warehouse. Daily, weekly, or hourly.
What is the AviationStack Flight & Airport API dataset?
AviationStack Flight & Airport API is the agricultural products services catalog's movement-layer record: nine documented endpoint families spanning live flight tracking, historical flights, airline routes and six reference shelves - airports, airlines, airplanes, cities, countries and aviation taxes. One response returns one nested object per flight leg, with departure, arrival, aircraft, airline and status blocks carried inline rather than scattered across join tables.
The publisher cites reach of more than 10,000 airports, 13,000 airlines, 19,000 airframes, 9,000 cities, 250 countries and 500 aviation taxes - reference furniture deep enough to resolve nearly any code a logistics, travel or supply-chain table throws at it. Where most catalogs stop at traffic statistics, this record carries the leg itself: gates, terminals, four distinct clocks (scheduled, estimated, actual, runway) and a live position block with latitude, longitude, altitude, heading and both speed components. Datadory scores it 7/10 against a catalog mean of 7.81.
What do sample rows look like?
Two rows assembled from the documented field examples captured during the August 2026 research pass - one complete flight leg and one route pair, exactly as the fields arrive:
# Flight leg - American Airlines 1004, documented example values
departure : Los Angeles International (LAX / KLAX) terminal B gate B27
timezone : America/Los_Angeles
sched : 2019-12-11 23:30:00 estimated: 2019-12-11 23:30:00
actual : 2019-12-11 23:34:00 runway : 2019-12-11 23:42:00
arrival : (JFK / KJFK)
status : landed status_delay: 0
airline : American Airlines iata: AA icao: AAL flight: 1004
aircraft : reg N160AN icao24: A0F1BB
position : 34.1234, -118.4567 alt: 32000 hdg: 65 deg
speed : horizontal 480 vertical: 2.56
collected : 1576116000 (unix)
# Route row - code-indexed pair from the routes family
origin_code : AA
destination_code : AARead the leg left to right and its discipline shows up. Four clocks run in sequence - scheduled 23:30, estimated 23:30, actual 23:34, runway 23:42 - so the journey decomposes into waiting, climb-out and an eight-minute taxi without any derived-column work on your side. The status pair closes the story: landed, zero delay. The position block holds still a moment mid-flight, altitude and both speed components attached, and the unix collection stamp dates the observation.
The route row is the wry one: the routes family documents its endpoints as bare codes, and the published example carries AA on both sides, which reads as airline-keyed rather than airport-keyed. Treat the pair as the carrier's own indexing and settle its exact scope when you sample.
What fields does the dataset include?
Thirty-three documented fields carry the record, every definition checked against the publisher's own field listing during the August 2026 research pass rather than inferred. Twenty-seven are exemplified directly on the published flight-leg example. The departure block alone resolves five ways - name, IATA, ICAO, terminal, gate - with an IANA timezone beside it so local timestamps stay local. The four clocks follow. The arrival side carries its own IATA and ICAO pair. The status pair states where the leg stands and by how many minutes it missed its slot.
Identity travels three ways: the airline resolves to name, IATA and ICAO codes plus flight number; the airframe carries both its registration tail and its ICAO24 transponder hex, the stable identifier that stitches legs together across years. Six live-position fields round out the airborne picture, and a unix collection timestamp dates every row.
The full dictionary sits in the table below - nothing guessed, nothing padded.
Which fields arrive only on request?
Four arrival-side fields - the destination airport name and the three arrival timestamps - are defined in the dictionary above but carried no worked example in the research capture, so their observed values land with your first delivery. Beyond the flight leg, the reference families document more surface than one page should print: city attributes behind the airport shelf, country detail, airframe manufacture data and the aviation-tax records all ship under additional fields on request, along with the pagination envelope that wraps every list response. Name what your models need when you request the sample.
What does coverage look like across geography, time and granularity?
Geography - global, per the publisher's own counts: more than 10,000 airports, 13,000 airlines and 250 countries, with city, country and tax shelves layered underneath. Reference depth is the quiet strength here - a leg into a secondary airport still resolves to a named, coded place.
Temporal - live positions now, plus a historical-flights family for legs already flown, so a lane can be studied after it lands rather than only while it moves. Retention depth for the historical family is not published; it gets measured and reported with your sample rather than asserted here.
Granularity - one nested record per flight leg with departure, arrival, aircraft, airline and status blocks inline, plus one row per entity on each reference shelf and one code pair per routes-family row. No pre-aggregated roll-ups anywhere: aggregation stays yours, which is another way of saying the joins stay clean.
How is the data delivered?
API, files, or your warehouse. Daily, weekly, or hourly.
Your cadence is your call regardless of how the underlying record moves - an hourly load keeps a status dashboard honest through the day, a daily file suits punctuality studies, and a monthly pull serves annual network research that never looks at yesterday. Name the carriers, airports, lanes or flight numbers when you request the sample and it arrives shaped to that scope as CSV or JSON, with the complete field dictionary attached. Nested leg structures flatten onto stable keys, so one leg stays one row however wide the delivery.
Who uses this data, and for what?
- Punctuality and delay analysis - the four-clock structure splits each journey into scheduled, estimated, actual and runway moments, giving delay studies a typed input instead of hand-copied notes.
- App and dashboard builders - one nested object per leg makes status-by-flight a lookup against an identifier, the fastest path from idea to shipping feature in this slice.
- Perishables and air-cargo exposure - for an agricultural products and services workflow, cut flowers, fresh fruit and temperature-sensitive produce move by air; lane-level legs tie cold-chain risk to physical flights rather than lagged statistics.
- Route network mapping - the routes family walks carrier pairs, making network comparisons a set difference rather than a scraping project avoided altogether: a mapping exercise, not a collection one.
- Master-data resolution - airports, airlines, airplanes, cities, countries and taxes turn bare codes anywhere in your stack into named, located entities.
- Citation-grade sourcing - journalists and academics anchor a claim to a dated, attributable leg record instead of recollection.
Which personas get the most value?
Developers and data-product builders get the shortest path to a live feature: one identifier, one nested object, every attribute inline - see developers builders use cases. Competitive intelligence and product teams read rivals' networks and punctuality as countable signals - see competitive intel product teams use cases. Investors and quant researchers get carrier-level movement detail ahead of official releases - see investors quants use cases. Market researchers and consultants resolve any aviation code set into client-ready named geography - see market researchers use cases. It is the pool's only record built for live queries at leg level, which is why the airport services ranking places it beside archives ten times its size.
Field dictionary
Every field below is documented against real records. The full dictionary ships with the sample.
| field | type | definition | example |
|---|---|---|---|
departure_airport | string | Full name of the origin airport. | Los Angeles International |
departure_iata | string | Three-letter IATA code of the origin airport - the join key most logistics and travel tables already carry. | LAX |
departure_icao | string | Four-letter ICAO code of the origin airport. | KLAX |
departure_terminal | string | Origin terminal assigned to the flight. | B |
departure_gate | string | Origin gate assigned to the flight. | B27 |
departure_tz | string | IANA timezone of the origin airport, so local timestamps stay local. | America/Los_Angeles |
scheduled_time | datetime | Scheduled departure time - the timetable promise every other clock is measured against. | 2019-12-11 23:30:00 |
estimated_time | datetime | Estimated departure time, revised as the operational day wears on. | 2019-12-11 23:30:00 |
actual_time | datetime | Actual departure time once the aircraft is airborne. | 2019-12-11 23:34:00 |
runway_time | datetime | Actual runway takeoff time - the moment the wheels leave the pavement. | 2019-12-11 23:42:00 |
arrival_airport | string | Name of the destination airport. | on request |
arrival_iata | string | Three-letter IATA code of the destination airport. | JFK |
arrival_icao | string | Four-letter ICAO code of the destination airport. | KJFK |
arrival_scheduled_time | datetime | Scheduled arrival time. | on request |
arrival_actual_time | datetime | Actual arrival time. | on request |
arrival_runway_time | datetime | Actual runway landing time. | on request |
status_text | enum | Flight status description - scheduled, active, landed, cancelled or diverted. | landed |
status_delay | integer | Delay in minutes where one applies. | 0 |
airline_name | string | Operating airline name. | American Airlines |
airline_code | string | Two-letter IATA code of the operating airline. | AA |
airline_icao | string | Three-letter ICAO code of the operating airline. | AAL |
flight_number | string | Flight number within the airline; combined with the airline code it forms the public flight identifier. | 1004 |
aircraft_reg | string | Aircraft registration number - the tail that ties a leg to an airframe's history. | N160AN |
aircraft_icao24 | string | ICAO24 transponder hex address of the airframe, the stable identifier across tracking systems. | A0F1BB |
aircraft_lat | number | Live latitude of the aircraft position while airborne. | 34.1234 |
aircraft_lon | number | Live longitude of the aircraft position. | -118.4567 |
aircraft_alt | number | Current altitude of the aircraft. | 32000 |
aircraft_dir | number | Direction of travel in degrees. | 65 |
speed_hor | number | Horizontal speed of the aircraft. | 480 |
speed_ver | number | Vertical speed of the aircraft. | 2.56 |
timestamp | integer | Unix timestamp recording when the data was collected. | 1576116000 |
origin_code | string | Origin-side code on a routes-family row, indexed by code rather than spelled-out airport name. | AA |
destination_code | string | Destination-side code on a routes-family row. | AA |
Questions buyers ask
What does one record in this dataset represent?
One flight leg, fully attributed: departure and arrival blocks with airport names, IATA and ICAO codes, terminals and gates, four timing fields, a status pair, the operating airline's name and codes, the airframe's registration and transponder hex, and a live position block while airborne. Reference families return one row per airport, airline, airframe, city, country or tax.
Does the dataset cover historical flights as well as live ones?
Yes - the historical-flights family sits alongside live tracking, so a leg can be studied after it lands rather than only while it flies. How far back the history reaches is not published; that depth gets measured and reported with your sample rather than promised here.
Which reference families ship with the flight tables?
Six: airports, airlines, airplanes, cities, countries and aviation taxes. Together they cover more than 10,000 airports, 13,000 airlines, 19,000 airframes, 9,000 cities, 250 countries and 500 taxes - enough furniture to turn bare codes in any logistics or travel table into named, located entities.
How precise is the timing detail on each leg?
Four clocks per departure - scheduled, estimated, actual and runway - mirrored on arrival, which decomposes a journey into waiting, taxi and airborne segments. The documented example moves from a 23:30 scheduled departure to a 23:42 runway time, eight minutes apart: exactly the grain taxi-time and punctuality work needs.
Can a sample be cut to my airports, carriers or routes?
Yes, and that is the default. Name the carriers, airports, lanes or flight numbers you care about and the sample arrives shaped to that scope with the complete field dictionary attached. Samples precede any commitment, and the schema you see in the sample is the schema you ship against.
What formats do delivered rows arrive in?
CSV or JSON, shaped to your warehouse, with the nested leg structure flattened onto stable keys - departure, arrival, aircraft, airline and status blocks become prefixed columns so one leg stays one row. Reference families arrive as their own tables keyed on the codes the flight tables already carry.
Notes on this record
- Nested by design Each leg arrives with departure, arrival, aircraft, airline and status blocks embedded - flatten onto stable keys before loading, and one leg stays one row through any warehouse load.
- Scored mid-pack, built for queries Datadory scores this record 7/10 against a catalog mean of 7.81 across 1,744 datasets - the ceiling rewards tidy single-table schemas, and a live multi-family service resists tidiness by being interesting.
Datasets that pair with this one
- FlightAware Live Flight Tracking Sensor-mesh positions and airport boards where this record is nested leg objects - pair them when a product needs per-airport arrival walls alongside status-by-flight.
- OpenFlights Airline, Airport and Route Database Codes, coordinates and 67,663 routes frozen at June 2014 - wider and static where this record is narrower and live.
See the rows before you pay anything.
Name this dataset and we send real records from it — scoped to the fields you asked for.