NTSB Aviation Accident Reports and Docket PDF Scraper
Pricing
from $8.00 / 1,000 record scrapeds
NTSB Aviation Accident Reports and Docket PDF Scraper
Scrape NTSB aviation accident investigations with probable cause, findings, narratives, aircraft, injuries, Final Report text and every Public Docket PDF. Built for aviation insurance, litigation, fleet-risk analytics and safety benchmarking.
Pricing
from $8.00 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape aviation accident and incident investigations from the NTSB CAROL database. Each investigation comes back as a structured record with the probable cause, findings, narratives, aircraft, injuries and the text of the investigation report PDF. Every document in the Public Docket (factual reports, witness statements, ATC records, maintenance records) comes back as its own record with the PDF text extracted. Coverage runs from 1962 to the latest events.
NTSB Aviation Accident Scraper Features
- Pull recent events (last 90 days), a whole year range, or specific NTSB numbers such as
ENG22LA049 - Probable cause statement, finding statements, and the factual and analysis narratives as clean text
- Aircraft registration, make, model, serial number, engine type and damage level for every aircraft involved
- Operator, regulation the flight was flown under (Part 91, 121, 135 and others), flight phase and the defining event
- Fatal, serious, minor and uninjured counts
- Full text of the newest investigation report PDF, preliminary or final
- Every Public Docket attachment as its own row, with page count, title, type, download link and extracted text
- OCR fallback for scanned PDFs such as logbooks, ATC strips and handwritten statements
- Docket PDF links collected on each event record, so you can fetch the originals yourself
Who Uses NTSB Accident Data?
- Aviation insurance underwriters price operators and aircraft types from probable causes and findings across years of accidents
- Aviation litigators pull the factual reports, witness statements and maintenance records filed in a case docket
- Safety and risk teams benchmark their own incident rates against NTSB trends by flight phase, regulation part or aircraft model
- Fleet and maintenance analysts search findings for component failures on a specific make and model
- Aviation journalists get the text of a probable cause or docket document without paging through the site
How the NTSB Scraper Works
- Choose an event source: the last 90 days, a year range, or a list of NTSB numbers.
- The scraper lists every matching aviation event, newest first.
- For each event it collects the case details and, when you ask for it, extracts the text of the report PDF.
- When a Public Docket exists, it lists the attachments and extracts the text of each PDF.
- You get one
eventrow per investigation and onedocket_documentrow per attachment.
Rows from events and from docket attachments both count toward maxItems. A docket with 40 attachments uses 41 rows.
Input
{"eventMode": "year_range","yearFrom": 2022,"yearTo": 2023,"includeReportPdfText": true,"includeDocketPdfs": true,"ocrFallback": true,"maxItems": 100}
| Field | Type | Default | Description |
|---|---|---|---|
eventMode | string | recent | recent (last 90 days), year_range, or event_ids. |
yearFrom | integer | 2024 | First year when eventMode is year_range. Coverage starts in 1962. |
yearTo | integer | current year | Last year when eventMode is year_range. |
eventIds | array | [] | NTSB numbers such as ENG22LA049, used when eventMode is event_ids. |
includeReportPdfText | boolean | true | Extract the text of the newest investigation report PDF. |
includeDocketPdfs | boolean | true | Return every Public Docket attachment as its own row with extracted text. |
ocrFallback | boolean | true | OCR image-only PDFs. Limited to the first 30 pages of each file. |
maxItems | integer | 20 | Maximum rows returned. Event rows and docket attachment rows both count. |
Look up one known investigation:
{"eventMode": "event_ids","eventIds": ["ENG22LA049"],"maxItems": 10}
Events only, no PDF text, for a fast trend dataset:
{"eventMode": "year_range","yearFrom": 2015,"yearTo": 2025,"includeReportPdfText": false,"includeDocketPdfs": false,"maxItems": 5000}
NTSB Aviation Accident Scraper Output Fields
An event row:
{"record_type": "event","event_id": "ENG22LA049","case_key": "106762","event_type": "INC","event_date": "2022-03-31","event_datetime": "2022-03-31T19:05:00Z","location": { "city": "Riyadh", "state": null, "country": "SA", "latitude": 24.715122, "longitude": 46.658257, "airport_id": null, "airport_name": null },"aircraft": [{ "registration": "9H-VIG", "make": "BOMBARDIER", "model": "Global 7500", "serial_number": "70086", "category": "AIR", "engine_count": 2, "engine_type": "TF", "damage": "Minor", "amateur_built": false }],"operator": "VistaJet Ltd","far_part": "NUSC","flight_phase": "Initial Climb","defining_event": "Fire/smoke (non-impact)","injury_summary": { "fatal": null, "serious": null, "minor": null, "none": null },"probable_cause_text": "An in-flight engine fire resulted from a fuel leak from fuel nozzle No. 18 pigtail-to-fuel manifold b-nut connection...","findings": ["Aircraft Fuel distribution - Design", "Personnel issues Installation - Maintenance personnel"],"has_safety_recommendations": false,"investigation_status": "Completed","latest_report_type": "Final","report_pdf_url": "https://data.ntsb.gov/carol-repgen/api/Aviation/ReportMain/GenerateNewestReport/106762/pdf","report_text": "Aviation Investigation Final Report ...","report_pages": 12,"docket_url": "https://data.ntsb.gov/Docket?ProjectID=106762","docket_document_count": 2,"public_docket_pdf_urls": ["https://data.ntsb.gov/Docket/Document/docBLOB?ID=15334415&FileExtension=pdf&FileName=GE%20Passport%20Fire%20-%20Saudi%20Arabia-Rel.pdf"]}
A docket_document row:
{"record_type": "docket_document","event_id": "ENG22LA049","case_key": "106762","event_date": "2022-03-31","document_number": 1,"document_title": "POWERPLANTS GROUP CHAIRMAN'S FACTUAL REPORT","document_type": "Text/Image","document_pages": 43,"document_url": "https://data.ntsb.gov/Docket/Document/docBLOB?ID=15334415&FileExtension=pdf&FileName=GE%20Passport%20Fire%20-%20Saudi%20Arabia-Rel.pdf","document_text": "NATIONAL TRANSPORTATION SAFETY BOARD Office of Aviation Safety ...","text_source": "pdf_text","text_truncated": false,"docket_url": "https://data.ntsb.gov/Docket?ProjectID=106762"}
| Field | Type | Description |
|---|---|---|
record_type | string | event or docket_document |
event_id | string | NTSB event number |
case_key | string | NTSB internal case key used by CAROL and the Public Docket |
event_type | string | ACC accident or INC incident |
event_date | string | Event date, YYYY-MM-DD |
event_datetime | string | Event date and time as published (UTC) |
location | object | City, state, country, latitude, longitude, airport id and name |
aircraft | array | One entry per aircraft: registration, make, model, serial number, category, engines, damage |
operator | string | Operator name when published |
far_part | string | Regulation the flight was conducted under, for example 091, 121, 135 |
flight_phase | string | Phase of flight of the defining event |
defining_event | string | First occurrence in the event sequence |
injury_summary | object | Fatal, serious, minor and uninjured counts |
probable_cause_text | string | Probable cause statement, once the investigation reaches its final determination |
findings | array | Finding statements |
factual_narrative | string | Factual narrative from the investigation record |
analysis_narrative | string | Analysis narrative from the investigation record |
has_safety_recommendations | boolean | Whether the NTSB issued safety recommendations |
investigation_status | string | In work or Completed |
latest_report_type | string | Prelim or Final |
report_pdf_url | string | Newest investigation report PDF |
report_text | string | Extracted text of that PDF |
report_pages | integer | Page count of that PDF |
docket_url | string | Public Docket page for the event |
docket_document_count | integer | Number of docket attachments |
public_docket_pdf_urls | array | Links to every PDF attachment in the docket |
document_number | integer | Position of the attachment in the docket (docket_document rows) |
document_title | string | Attachment title |
document_type | string | Attachment type as listed in the docket |
document_pages | integer | Page count listed in the docket |
document_url | string | Download link of the attachment |
document_text | string | Extracted attachment text |
text_source | string | pdf_text, ocr, too_large (file over 25 MB, not parsed), or none when nothing could be extracted |
text_truncated | boolean | true when the text was cut at 900,000 characters |
source_url | string | Page the record was taken from |
Newly opened investigations have only the basics: aircraft, location, injuries and the opening report. The probable cause, findings and narratives appear once the NTSB publishes its final determination. Docket attachments that are not PDFs (photos, spreadsheets) are listed with their link and no text. Foreign-state investigations often have fewer fields than NTSB-led ones.
FAQ
How do I scrape NTSB aviation accident reports?
Choose an event source and run the actor. No NTSB account is needed. Use event_ids when you already know the event numbers, year_range for a historical pull, or recent for the latest 90 days.
What is in the NTSB Public Docket?
Factual reports from each investigative group, witness interview summaries, ATC records, maintenance and training records, photos and test reports. Larger accidents carry dozens of attachments. This actor returns each one as a row.
Does it read scanned PDFs?
Yes. Text PDFs are read directly. Image-only PDFs go through OCR when ocrFallback is on, up to 30 pages per file. A file that cannot be read, or is over 25 MB, comes back with text_source of none or too_large and its link, so you can still download the original.
How far back does the data go?
Coverage starts in 1962. Older records carry fewer fields than recent ones, and most have no docket.
Why did my run return fewer rows than maxItems?
maxItems is a ceiling. A run returns fewer rows when fewer events match your filters, or when docket attachments are switched off.
Need More Features?
Need custom fields, filters, or other NTSB transportation modes? File an issue or get in touch.
Why Use the NTSB Aviation Accident Scraper?
- Reports and docket in one run - the investigation record, the report text and every docket attachment, not just the summary page
- Clean, structured fields - probable cause, findings and aircraft come back as fields and arrays, ready for a database
- Full history - from the latest event back to 1962, by year range or by event number