Aviation data, open to people and LLMs.

FAA airworthiness directives, NTSB accident investigations, bulletins, data sheets, STCs, advisory circulars, the aircraft registry and more. Download, search and access.

About OpenAirDocs

OpenAirDocs is an independent project to aggregate and organize public aviation data. This data is collected from various APIs and websites of U.S. federal sources.

Our mission is to support a safe and thriving aviation ecosystem.

Our objective with OpenAirDocs is to make aviation data more accessible to human readers, as well as AI models. We publish LLM-friendly data definitions, and our Parquet databases can be queried without download.

More about OpenAirDocs
Web

Give your model these directions

Paste them into ChatGPT, Claude or another assistant that can run code. It will query the DuckDB file over HTTPS, with no API key, and link the pages it used.

Data dictionary
You can query OpenAirDocs, an open copy of U.S. aviation data: FAA airworthiness directives (ADs) with their full text, proposed ADs, SAIBs, type certificate data sheets, STCs, advisory circulars, the aircraft registry with every cancelled registration, service difficulty reports, FAA accident and incident reports, and every NTSB aviation investigation since 1962. Public domain (CC0), release 2026-10-21.

QUERY with DuckDB (1.2 or later). Attach the release's one database file over HTTPS; DuckDB reads only the parts each query needs:

  ATTACH 'https://openairdocs.org/data/latest/openair.duckdb' AS openair (READ_ONLY);
  USE openair;

Tables are then named (FROM faa_directive). Every table and column is described in the file; read a table's descriptions before querying it:

  SELECT table_name, comment FROM duckdb_tables() WHERE database_name = 'openair';
  SELECT column_name, data_type, comment FROM duckdb_columns() WHERE table_name = 'ntsb_case_detail';

Views for common questions:
  ntsb_pre1982_cause: The causes and factors of NTSB cases before 1982, in words: one row per coded cause or factor, decoded the way NTSB's brief prints it (WEATHER - LOW CEILING).
  ntsb_case: Every NTSB case in one row, with the facts most questions need: local date, place and point, injuries, aircraft, N-numbers, probable cause (decoded for cases before 1982) and the case's page.
  aircraft_history: Everything recorded about one N-number, a row each: the aircraft registered now, cancelled registrations, NTSB investigations, FAA accident and incident reports, and service difficulty reports, with a one-line summary and the record's page.
  geo_location: Every point of the geo_* tables, with its dataset and record id (as text): one place to map everything.
  openair_page: each record table's web page address, with the SQL that builds it.

  SELECT record, event_date, summary, page_url FROM aircraft_history WHERE n_number = 'N222UM' ORDER BY event_date;

Joins:
- faa_directive.ad_id joins every faa_directive_* table, and the candidate tables faa_aircraft_model_directive and faa_engine_model_directive that match ADs to registry models.
- faa_aircraft_registration (and faa_aircraft_deregistration, where N-numbers repeat) point to faa_aircraft_model.code by aircraft_model_code and to faa_engine_model.code by engine_model_code.
- A model_key is the model in upper case with only letters, digits and + (PA-28-181 is PA28181); faa_aircraft_model, faa_engine_model and the product tables carry one.
- Each NTSB case is one row of ntsb_case_detail, keyed by mKey; every other ntsb_ table joins on case_mkey. ntsb_aircrafts, faa_incident_report and faa_service_difficulty_report carry n_number.

Watch for:
- Matches between records (an AD to an aircraft, an NTSB case to a registration) are candidates. Check each AD's applicability (serial numbers, part numbers, configuration) before saying it applies, and cite AD numbers.
- NTSB's eventDate is the UTC date from 1982 on, so an evening event shows the next day: use ntsb_case.event_date_local.
- Owner and operator names are spelled as each record reports them: compare upper(name).
- Only the Federal Register PDF on govinfo.gov is the official text of an AD.

CITE every record by its page on OpenAirDocs. Add .md to any page for a Markdown copy to read:

  Airworthiness directive (AD)                       https://openairdocs.org/ad/<AD number>
  Registered aircraft                                https://openairdocs.org/aircraft/<N-number>
  Cancelled registration                             https://openairdocs.org/deregistered/<N-number>-<cancellation date>
  Aircraft model                                     https://openairdocs.org/model/<maker-model>
  Type certificate data sheet (TCDS)                 https://openairdocs.org/tcds/<number>
  Supplemental type certificate (STC)                https://openairdocs.org/stc/<number>
  Special airworthiness information bulletin (SAIB)  https://openairdocs.org/saib/<number>
  Advisory circular (AC)                             https://openairdocs.org/ac/<number>
  Service difficulty report                          https://openairdocs.org/sdr/<id>
  FAA accident or incident report                    https://openairdocs.org/incident/<report number>
  NTSB investigation                                 https://openairdocs.org/ntsb/<NTSB number>

Without SQL, read pages directly: https://openairdocs.org/aircraft/N333UM.md has an aircraft's registration, the ADs that may apply, and its NTSB and FAA reports. Search: https://openairdocs.org/search.md?q=fuel+selector. Everything registered to an owner: https://openairdocs.org/faa-owner/UNIVERSITY%20OF%20NORTH%20DAKOTA.md; to owners in a town: https://openairdocs.org/faa-place/MI/Ann%20Arbor.md. Accidents and incidents near a point: https://openairdocs.org/map.md?lat=42.2808&lon=-83.7430&mi=10. Lists filter by query: https://openairdocs.org/ntsb.md?state=MI&fatal=1. Every table and recipes: https://openairdocs.org/data/dictionary.md. Everything else: https://openairdocs.org/llms.txt.

Download the databases

Release 2026-10-21 · CC0 1.0 · Every file, with checksums

Latest updates

Federal Register through Oct 19 · DRS fetched Oct 20 · NTSB fetched Oct 20
1946Airworthiness directives by year2026