NTSB investigations
1,976 cases where the phase of flight was Unknown.
Cases, newest first
Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
WHERE c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 990)
ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.
WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
current_codes AS (
SELECT e.case_mkey, TRY_CAST(e."tier1Number" AS INTEGER) AS code,
row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e."isDefiningEvent", false) DESC, e.position) AS n
FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
WHERE e.aircrafts_position = 1 AND e."tier1Number" GLOB '[1-9][0-9]*'
AND (e."isDefiningEvent" OR e.case_mkey IN (SELECT "mKey" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE "isPre1982"))
),
phases AS (
SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
FROM current_codes WHERE n = 1
UNION ALL
SELECT o.case_mkey, 'older', o."phaseOfFlightCode", w.main
FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o."phaseOfFlightCode"
WHERE o.aircrafts_position = 1 AND o."occurrenceNumber" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
),
case_phases AS (
SELECT p.*, c."eventDate", c."highestInjuryLevel" = 'Fatal' AS fatal, a.aircraft_model_code
FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c."mKey" = p.case_mkey
LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
WHERE c."eventDate" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
)
SELECT c."ntsbNumber", c."eventDate", c."eventType", c."eventCity", c."eventStateOrRegion", a.n_number, a."aircraftMake", a."aircraftModel", c."highestInjuryLevel", c."totalFatal", c."completionStatus", c.report_url
FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c."mKey" AND a.position = 1
WHERE c."mKey" IN (SELECT case_mkey FROM case_phases WHERE main = 990)
ORDER BY c."eventDate" DESC, c."ntsbNumber" DESCRun it at the DuckDB prompt, or in any tool that reads Parquet over HTTPS. More ways to query the release are on Use the data.
NTSB GAA26WA233Accident · 3 fatalClass 5 · ForeignRockwell 690 · Fort Simpson, CanadaNTSB GAA26WA230Accident · 2 fatalClass 5 · ForeignCirrus SR22 · Warsaw, PolandNTSB GAA26WA228Accident · No injuriesClass 5 · ForeignCessna 401 · Ciudad del Carmen, MexicoNTSB GAA26WA227Accident · No injuriesClass 5 · ForeignLake LA4 · Egelsbach, GermanyNTSB GAA26WA226Accident · 2 fatalClass 5 · ForeignPiper PA28 · Al Hoceïma, MoroccoNTSB WPR26FA224Accident · 3 fatalClass 3 · FieldPreliminary reportPiper PA-24-250 · Middlefield, OHOn June 20, 2026, about 1535 eastern daylight time, a Piper PA-24-250, N6403P, was substantially damaged when it was involved in an accident near Middlefield, Ohio. The pilot and two passengers sustained fatal injuries. The airplane was operated as a Title 14…NTSB GAA26WA220Accident · 2 fatalClass 5 · ForeignCessna 421 · La Baule-Escoublac, FranceNTSB ANC26FA054Accident · 1 fatalClass 3 · FieldPreliminary reportAir Tractor AT-502B · Forbes, MOOn June 15, 2026, about 2015 Central daylight time, an Air Tractor AT-502B airplane, N503GK, sustained substantial damage when it was involved in an accident near Forbes, Missouri. The pilot was fatally injured. The airplane was operated as a Title 14 Code of…NTSB GAA26WA216Accident · 9 fatalClass 4 · ForeignBell 206 · Recreio dos Bandeirantes, Rio de Janeiro., BrazilNTSB GAA26WA217Accident · 1 fatalClass 5 · ForeignCessna 172 · 6th of October City, EgyptNTSB GAA26WA225Accident · No injuriesClass 5 · ForeignRobinson R44 · Nadi, FijiNTSB GAA26WA222Occurrence · No injuriesClass 5 · ForeignBombardier CL-600-2B16 · Asaba, NigeriaNTSB GAA26WA218Accident · 2 fatalClass 5 · ForeignBeech 58 · Marilia-Sao Paulo, BrazilNTSB GAA26WA210Accident · 2 fatalClass 5 · ForeignGulfstream Gulfstream 200 · La Romana, Dominican RepublicNTSB GAA26WA224Accident · 1 fatalClass 5 · ForeignShort SC7 · Be'er Sheva, IsraelNTSB GAA26WA207Accident · 4 fatalClass 5 · ForeignBeech G36 · Medulin, CroatiaNTSB GAA26WA209Accident · 1 fatalClass 5 · ForeignRobinson R44 · Kasina Wielka, PolandNTSB GAA26WA293Accident · No injuriesClass 5 · ForeignChampion 8KCAB · Stockholm, SwedenNTSB GAA26WA206Accident · 4 fatalClass 5 · ForeignCessna TU206 · La Macarena, ColombiaNTSB GAA26WA205Accident · 1 fatalClass 5 · ForeignCessna 152 · Valbrembo, ItalyNTSB WPR26FA202Accident · 1 fatalClass 3 · FieldPreliminary reportPipistrel D O O Sinus 912 · Columbus, MSOn May 31, 2026, about 1236 central daylight time, a Pipistrel D O O Sinus 912, N1277P, was destroyed when it was involved in an accident near Columbus, Mississippi. The pilot was fatally injured. The airplane was operated as a Title 14 Code of Federal…NTSB GAA26WA331Accident · 1 fatalClass 5 · ForeignSocata Rallye 100S · Roquebrune-sur-Argens, FranceNTSB GAA26WA204Accident · No injuriesClass 5 · ForeignPiper PA28RT · Liverpool, United KingdomNTSB GAA26WA203Incident · No injuriesClass 5 · ForeignCirrus SR22 · Nyíregyháza, HungaryNTSB GAA26WA201Incident · No injuriesClass 5 · ForeignPiper PA28 · Aguadulce District, PanamaNTSB GAA26WA244Accident · 2 fatalClass 5 · ForeignMaxair MU582 · Tel Adashim, IsraelNTSB GAA26WA248Accident · 2 fatalClass 5 · ForeignNorth American T28 · Limburghof, GermanyNTSB GAA26WA197Accident · No injuriesClass 5 · ForeignCessna FRA150 · Retford, United KingdomNTSB GAA26WA189Accident · Minor injuriesClass 3 · ForeignBeech 300 · Atlantic Ocean, BahamasNTSB GAA26WA208Incident · No injuriesClass 5 · ForeignBeech 35 · Griffith, AustraliaNTSB GAA26WA193Accident · 4 fatalClass 5 · ForeignCessna 210 · Hammerstein, NamibiaNTSB GAA26WA229Accident · No injuriesClass 5 · ForeignCessna 172 · Munnekezijl, NetherlandsNTSB GAA26WA188Incident · No injuriesClass 5 · ForeignHawker Beechcraft B300 · Augsburg, GermanyNTSB ANC26FA039Accident · 2 fatalClass 3 · FieldPreliminary reportCessna 182T · Armistead, CAOn May 7, 2026, about 1055 pacific daylight time (PDT), a Cessna 182T airplane, N227TF, was destroyed when it was involved in an accident near Armistead, California. The flight instructor and the pilot receiving instruction were fatally injured. The airplane…NTSB GAA26WA187Accident · Serious injuriesClass 5 · ForeignMD Helicopter 369 · Haast, New ZealandNTSB GAA26WA183Accident · 1 fatalClass 5 · ForeignCessna 182 · Santa Cruz Barillas, GuatemalaNTSB GAA26WA195Incident · No injuriesClass 5 · ForeignPiper PA32R · Victoria, AustraliaNTSB GAA26WA185Accident · No injuriesClass 5 · ForeignVans RV10 · Carmo do Rio Verde, BrazilNTSB GAA26WA181Incident · No injuriesClass 5 · ForeignPiper PA-23-250 · Cumayasa, La Romana, Dominican RepublicNTSB GAA26WA179Accident · 2 fatalClass 5 · ForeignDiamond DA42 · Parafield, AustraliaNTSB GAA26WA319Accident · 1 fatalClass 5 · ForeignShark Aero Shark · Oldenburg Hatten, GermanyNTSB GAA26WA196Incident · No injuriesClass 5 · ForeignRobinson R44 · Tindal, AustraliaNTSB GAA26WA178Accident · 14 fatalClass 5 · ForeignCessna 208 · Jubasu, SudanNTSB GAA26WA174Accident · 1 fatalClass 5 · ForeignThrush S2R · Tiquisate, Escunintia, GuatemalaNTSB GAA26WA172Accident · Serious injuriesClass 5 · ForeignTextron 182T · La Bastide Clairence, FranceNTSB GAA26WA176Accident · 1 fatalClass 5 · ForeignRobinson R22 · Jericho, AustraliaNTSB GAA26WA190Accident · 1 fatalClass 5 · ForeignCessna U206 · Sao Paulo, BrazilNTSB GAA26WA168Accident · No injuriesClass 5 · ForeignBell 222 · Munda, Solomon IslandsNTSB GAA26WA166Incident · No injuriesClass 5 · ForeignHonda HA420 · Narita, JapanNTSB GAA26WA163Accident · No injuriesClass 5 · ForeignCessna 550 · Cochabamba, Bolivia