One-time snapshot
NTSB Aviation Records 2008–August 2026
31,124 NTSB events across six verified tables, with preserved source fields, validated joins and separately typed dates, injury counts and decimal coordinates.
Records: 31,124 events in six related tables
Coverage: 2008-01-01 through 2026-08-27
Format: CSV + Parquet
Package uploaded: 2026-09-19
Listing reviewed: 2026-09-19
The upload and review dates do not extend the source coverage. This is a dated snapshot; future updates are not included.
$79one time
CSV and Parquet files for the coverage described here. Review the limitations and sample before purchasing.
Buy dated snapshotView 1,000-row sampleNew annual update subscriptions are unavailable. Existing customers can use their purchase download links or contact support.
Known limitations
- Dated September 2026 source snapshot: 28,790 accidents and 2,334 incidents from 2008-01-01 through 2026-08-27. The year 2026 is partial. Pre-2008 history and other NTSB tables, including occurrences, are not included. Future updates are not included.
- Join aircraft to events on ev_id; join engines, crew, findings and narratives to aircraft on both ev_id and aircraft_key. Joining multiple child tables directly can multiply records. All delivered keys are unique and all scoped parent relationships pass.
- Use latitude_decimal and longitude_decimal only with coordinate_status=bounds_valid: 27,731 pairs pass bounds, 3,374 are missing and 19 are invalid. Raw latitude/longitude are legacy coordinate text, not decimal degrees. Numeric bounds do not establish geographic accuracy or datum.
- All source fields now remain text, preserving blanks, casing and identifiers. This is a breaking schema change. Use event_date, event_year and the separately typed injury counts for analysis; source_row is a position within this pinned export, not a stable cross-release ID.
- There are 3,132 events without narrative rows and 6,775 without findings rows. Preliminary records and findings can change; this six-table package does not establish final investigation status. For newer findings, cm_inpc supersedes the deprecated cause_factor field.
- No flight/hour exposure denominators or validated risk scores are included. Event counts and fatal-event shares are not accident rates per flight or causal measures. Government source correctness and investigation completeness are not independently certified.
Files in this snapshot
Row counts are per table and should not be added as independent events. Expand a file to see its delivered Parquet field names and types.
ntsb_aviation_events.parquet — 31,124 rows · 83 fields
| Field | Type |
|---|---|
| ev_id | string |
| ntsb_no | string |
| ev_type | string |
| ev_date | string |
| ev_dow | string |
| ev_time | string |
| ev_tmzn | string |
| ev_city | string |
| ev_state | string |
| ev_country | string |
| ev_site_zipcode | string |
| ev_year | string |
| ev_month | string |
| mid_air | string |
| on_ground_collision | string |
| latitude | string |
| longitude | string |
| latlong_acq | string |
| apt_name | string |
| ev_nr_apt_id | string |
| ev_nr_apt_loc | string |
| apt_dist | string |
| apt_dir | string |
| apt_elev | string |
| wx_brief_comp | string |
| wx_src_iic | string |
| wx_obs_time | string |
| wx_obs_dir | string |
| wx_obs_fac_id | string |
| wx_obs_elev | string |
| wx_obs_dist | string |
| wx_obs_tmzn | string |
| light_cond | string |
| sky_cond_nonceil | string |
| sky_nonceil_ht | string |
| sky_ceil_ht | string |
| sky_cond_ceil | string |
| vis_rvr | string |
| vis_rvv | string |
| vis_sm | string |
| wx_temp | string |
| wx_dew_pt | string |
| wind_dir_deg | string |
| wind_dir_ind | string |
| wind_vel_kts | string |
| wind_vel_ind | string |
| gust_ind | string |
| gust_kts | string |
| altimeter | string |
| wx_dens_alt | string |
| wx_int_precip | string |
| metar | string |
| ev_highest_injury | string |
| inj_f_grnd | string |
| inj_m_grnd | string |
| inj_s_grnd | string |
| inj_tot_f | string |
| inj_tot_m | string |
| inj_tot_n | string |
| inj_tot_s | string |
| inj_tot_t | string |
| invest_agy | string |
| ntsb_docket | string |
| ntsb_notf_from | string |
| ntsb_notf_date | string |
| ntsb_notf_tm | string |
| fiche_number | string |
| lchg_date | string |
| lchg_userid | string |
| wx_cond_basic | string |
| faa_dist_office | string |
| dec_latitude | string |
| dec_longitude | string |
| source_row | int64 |
| event_date | date32[day] |
| event_year | int32 |
| fatal_injuries | int64 |
| serious_injuries | int64 |
| minor_injuries | int64 |
| total_injuries | int64 |
| latitude_decimal | double |
| longitude_decimal | double |
| coordinate_status | string |
ntsb_aviation_aircraft.parquet — 31,670 rows · 94 fields
| Field | Type |
|---|---|
| ev_id | string |
| aircraft_key | string |
| regis_no | string |
| ntsb_no | string |
| acft_missing | string |
| far_part | string |
| flt_plan_filed | string |
| flight_plan_activated | string |
| damage | string |
| acft_fire | string |
| acft_expl | string |
| acft_make | string |
| acft_model | string |
| acft_series | string |
| acft_serial_no | string |
| cert_max_gr_wt | string |
| acft_category | string |
| acft_reg_cls | string |
| homebuilt | string |
| fc_seats | string |
| cc_seats | string |
| pax_seats | string |
| total_seats | string |
| num_eng | string |
| fixed_retractable | string |
| type_last_insp | string |
| date_last_insp | string |
| afm_hrs_last_insp | string |
| afm_hrs | string |
| elt_install | string |
| elt_oper | string |
| elt_aided_loc_ev | string |
| elt_type | string |
| owner_acft | string |
| owner_street | string |
| owner_city | string |
| owner_state | string |
| owner_country | string |
| owner_zip | string |
| oper_individual_name | string |
| oper_name | string |
| oper_same | string |
| oper_dba | string |
| oper_addr_same | string |
| oper_street | string |
| oper_city | string |
| oper_state | string |
| oper_country | string |
| oper_zip | string |
| oper_code | string |
| certs_held | string |
| oprtng_cert | string |
| oper_cert | string |
| oper_cert_num | string |
| oper_sched | string |
| oper_dom_int | string |
| oper_pax_cargo | string |
| type_fly | string |
| second_pilot | string |
| dprt_pt_same_ev | string |
| dprt_apt_id | string |
| dprt_city | string |
| dprt_state | string |
| dprt_country | string |
| dprt_time | string |
| dprt_timezn | string |
| dest_same_local | string |
| dest_apt_id | string |
| dest_city | string |
| dest_state | string |
| dest_country | string |
| phase_flt_spec | string |
| report_to_icao | string |
| evacuation | string |
| lchg_date | string |
| lchg_userid | string |
| afm_hrs_since | string |
| rwy_num | string |
| rwy_len | string |
| rwy_width | string |
| site_seeing | string |
| air_medical | string |
| med_type_flight | string |
| acft_year | string |
| fuel_on_board | string |
| commercial_space_flight | string |
| unmanned | string |
| ifr_equipped_cert | string |
| elt_mounted_aircraft | string |
| elt_connected_antenna | string |
| elt_manufacturer | string |
| elt_model | string |
| elt_reason_other | string |
| source_row | int64 |
ntsb_aviation_engines.parquet — 28,527 rows · 18 fields
| Field | Type |
|---|---|
| ev_id | string |
| aircraft_key | string |
| eng_no | string |
| eng_type | string |
| eng_mfgr | string |
| eng_model | string |
| power_units | string |
| hp_or_lbs | string |
| lchg_userid | string |
| lchg_date | string |
| carb_fuel_injection | string |
| propeller_type | string |
| propeller_make | string |
| propeller_model | string |
| eng_time_total | string |
| eng_time_last_insp | string |
| eng_time_overhaul | string |
| source_row | int64 |
ntsb_aviation_flight_crew.parquet — 32,479 rows · 34 fields
| Field | Type |
|---|---|
| ev_id | string |
| aircraft_key | string |
| crew_no | string |
| crew_category | string |
| crew_age | string |
| crew_sex | string |
| crew_city | string |
| crew_res_state | string |
| crew_res_country | string |
| med_certf | string |
| med_crtf_vldty | string |
| date_lst_med | string |
| crew_rat_endorse | string |
| crew_inj_level | string |
| seatbelts_used | string |
| shldr_harn_used | string |
| crew_tox_perf | string |
| seat_occ_pic | string |
| pc_profession | string |
| bfr | string |
| bfr_date | string |
| ft_as_of | string |
| lchg_date | string |
| lchg_userid | string |
| seat_occ_row | string |
| infl_rest_inst | string |
| infl_rest_depl | string |
| child_restraint | string |
| med_crtf_limit | string |
| mr_faa_med_certf | string |
| pilot_flying | string |
| available_restraint | string |
| restraint_used | string |
| source_row | int64 |
ntsb_aviation_findings.parquet — 72,670 rows · 15 fields
| Field | Type |
|---|---|
| ev_id | string |
| aircraft_key | string |
| finding_no | string |
| finding_code | string |
| finding_description | string |
| category_no | string |
| subcategory_no | string |
| section_no | string |
| subsection_no | string |
| modifier_no | string |
| cause_factor | string |
| lchg_date | string |
| lchg_userid | string |
| cm_inpc | string |
| source_row | int64 |
ntsb_aviation_narratives.parquet — 28,436 rows · 9 fields
| Field | Type |
|---|---|
| ev_id | string |
| aircraft_key | string |
| narr_accp | string |
| narr_accf | string |
| narr_cause | string |
| narr_inc | string |
| lchg_date | string |
| lchg_userid | string |
| source_row | int64 |
Inspect the public CSV
import pandas as pd
df = pd.read_csv(
"https://huggingface.co/datasets/claritystorm/ntsb-aviation-accidents/resolve/main/sample_1000.csv"
)
print(df.shape)
print(df.columns.tolist())
print(df.head())This CSV is a sample, not the full package. It does not establish complete historical coverage or represent every field’s missingness. License details are on the Hugging Face card.
Source: government source portal · Dataset changelog