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 GAA26WA163Accident · No injuriesClass 5 · ForeignCessna 550 · Cochabamba, BoliviaNTSB GAA26WA165Incident · Minor injuriesClass 5 · ForeignPiper PA30 · Goiânia,, BrazilNTSB GAA26WA164Accident · 1 fatalClass 5 · ForeignCessna 208 · Imbaimadai, GuyanaNTSB GAA26WA177Accident · No injuriesClass 5 · ForeignHawker Hawker 800 · Atene, GreeceNTSB ANC26FA024Accident · 2 fatalClass 3 · FieldPreliminary reportAirplane Factory Ltd The Sling · Avalon, CAOn April 09, 2026, about 1224 Pacific daylight time, an Airplane Factory (Pty) Ltd. Sling 2 airplane, N166TW, was substantially damaged when it was involved in an accident near Avalon, California. The pilot and pilot-rated passenger were fatally injured. The…NTSB GAA26WA157Accident · 1 fatalForeign investigationCessna F172 · Middelburg, NetherlandsNTSB GAA26WA253Accident · No injuriesClass 5 · ForeignCessna 206 · Hwange, ZimbabweNTSB GAA26WA162Accident · No injuriesClass 5 · ForeignHonda HA420 · Biggin Hill, United KingdomNTSB GAA26WA151AccidentClass 5 · ForeignCessna 150 · Cambridgeshire, United KingdomNTSB GAA26WA150Accident · 4 fatalClass 5 · ForeignPiper PA46 · Capão da Canoa, BrazilNTSB GAA26WA170Incident · No injuriesClass 5 · ForeignPiper PA28 · Bankstown, AustraliaNTSB GAA26WA152Accident · No injuriesClass 5 · ForeignCessna 150 · Corrientes, ArgentinaNTSB GAA26WA199Accident · No injuriesClass 5 · ForeignCessna CE525 · Jeju Jeong-seok, South KoreaNTSB GAA26WA145Accident · No injuriesForeign investigationBeech B100 · Panama City, PanamaNTSB GAA26WA161AccidentClass 5 · ForeignBeech 200 · Retford, United KingdomNTSB GAA26WA153Accident · Minor injuriesClass 5 · ForeignCessna T210 · Antônio João, BrazilNTSB GAA26WA171Accident · 1 fatalForeign investigationRobinson R44 · New Brunswick, CanadaNTSB GAA26WA140Accident · 1 fatalClass 5 · ForeignThrush S2R · San Juan, EcuadorNTSB GAA26WA139Accident · No injuriesClass 5 · ForeignPiper PA46 · Mayaguana, BahamasNTSB CEN26FA147Accident · 1 fatalClass 3 · FieldPreliminary reportExperimental Homebuilt Airshark · Statesboro, GAOn March 25, 2026, about 1453 eastern daylight time, an experimental homebuilt Airshark airplane, N220AS, was substantially damaged when it was involved in an accident near Statesboro, Georgia. The pilot was fatally injured. The airplane was operated as a…NTSB GAA26WA143Accident · Serious injuriesClass 5 · ForeignSikorsky S61 · Cheonan, South KoreaNTSB ANC26FA021Accident · 2 fatalClass 3 · FieldPreliminary reportRobinson Helicopter R44 · Boynton Beach, FLOn March 23, 2026, about 1221 eastern daylight time, a Robinson R44 Raven I helicopter, N478AT, was destroyed when it was involved in an accident near Boynton Beach, Florida. The flight instructor and the pilot receiving instruction were fatally injured. The…NTSB GAA26WA135Accident · 2 fatalClass 5 · ForeignCessna 152 · Amazonas, BrazilNTSB CEN26FA141Accident · 1 fatalClass 3 · FieldPreliminary reportPiper PA-28-140 · Rock Falls, ILOn March 20, 2026, about 1503 central daylight time, a Piper PA-28-140 airplane, N9913W, was destroyed when it was involved in an accident near Rock Falls, Illinois. The student pilot sustained fatal injuries. The airplane was being operated as a Title 14…NTSB GAA26WA154Accident · Serious injuriesClass 5 · ForeignCessna 441 · Djugun, AustraliaNTSB GAA26WA136Accident · Serious injuriesClass 5 · ForeignAdams Balloon A55S · Teotihuacan, MexicoNTSB GAA26WA129Accident · 4 fatalClass 5 · ForeignCessna 182 · San Marcos, GuatemalaNTSB GAA26WA127Accident · No injuriesClass 5 · ForeignAir Tractor AT401 · Tiquisate, GuatemalaNTSB GAA26WA257Accident · 1 fatalClass 5 · ForeignVans RV14 · Cima di Lago, SwitzerlandNTSB GAA26WA128Accident · Serious injuriesClass 5 · ForeignCessna U206 · Tanque, Costa RicaNTSB GAA26WA132Accident · No injuriesClass 5 · ForeignCessna 170 · San Rafael, ArgentinaNTSB GAA26WA125Occurrence · No injuriesClass 5 · ForeignPiper PA-28-181 · Goose Bay, GreenlandNTSB GAA26WA124Accident · 1 fatalClass 5 · ForeignThrush S2R · La Lima, HondurasNTSB GAA26WA123IncidentClass 5 · ForeignSikorsky S92 · Aberdeen, United KingdomNTSB CEN26FA132Accident · 1 fatalClass 3 · FieldPreliminary reportCessna T210M · Deerfield, ILOn March 4, 2026, about 2145 central standard time, a Cessna T210M airplane, N19FB sustained substantial damage when it was involved in an accident near Deerfield, Illinois. The pilot was fatally injured. The airplane was operated under Title 14 Code of…NTSB WPR26FA109Accident · 1 fatalClass 3 · FieldPreliminary reportPiper PA-22-150 · Oroville, CAOn February 28, 2026, about 0948 Pacific standard time, a Piper PA-22-150, N3170Z, was destroyed when it was involved in an accident near Oroville, California. The pilot was fatally injured. The airplane was operated as a Title 14 Code of Federal Regulations…NTSB GAA26WA119Accident · No injuriesClass 5 · ForeignCessna 150 · Gosport, United KingdomNTSB GAA26WA122Accident · No injuriesClass 5 · ForeignPiper PA36 · Zona Rural, Jesús María, Córdoba, BrazilNTSB GAA26WA118Accident · 1 fatalClass 5 · ForeignAir Tractor AT502 · Wesselsbron, South AfricaNTSB CEN26LA123Accident · No injuriesClass 3 · LimitedPreliminary reportGrumman AA5 · Admire, KSOn February 23, 2026, about 0958 central standard time, a Grumman AA-5A airplane, N9939U, was substantially damaged when it was involved in an accident near Admire, Kansas. The pilot and passenger were not injured. The airplane operated under the provisions…NTSB GAA26WA111Accident · 1 fatalClass 5 · ForeignAir Tractor AT-802 · Long Taan, MalaysiaNTSB GAA26WA112AccidentForeign investigationCessna 150 · Ripon, United KingdomNTSB GAA26WA109Accident · No injuriesClass 5 · ForeignCessna 150 · Mendoza Chico, UruguayNTSB GAA26WA113Accident · No injuriesClass 5 · ForeignRobinson R44 · Algés, PortugalNTSB GAA26WA126Accident · No injuriesForeign investigationRobin DR400 · Quimper, FranceNTSB GAA26WA107Accident · No injuriesClass 5 · ForeignPiper PA36 · Blanca Piedra, EcuadorNTSB GAA26WA105Accident · Minor injuriesClass 5 · ForeignHughes 369 · Conques sur Orbiel, FranceNTSB GAA26WA103Accident · No injuriesClass 5 · ForeignPiper PA34 · Palmira, ColombiaNTSB GAA26WA148Accident · Serious injuriesClass 5 · ForeignRobinson R22 · Quambone, AustraliaNTSB GAA26WA101Accident · 3 fatalClass 5 · ForeignCessna 210 · Goolwa, Australia