Methodology
How the data on this site gets from NHTSA to the page you’re reading.
Sources
- Recalls. NHTSA flat file
FLAT_RCL— every recall campaign since the agency began publishing. - Consumer complaints. NHTSA flat file
COMPLAINTS_RECEIVED_*— per-period dumps of every complaint filed with the agency. - Defect investigations. NHTSA flat file
FLAT_INV— every Office of Defects Investigation action. - Manufacturer service bulletins. NHTSA flat file
TSBS_RECEIVED_*— counted but not displayed in full (volume is too high). - NCAP star ratings. NHTSA SaferCar dataset.
Pipeline
- Parse. Each NHTSA flat file is parsed against a typed schema into a local DuckDB warehouse — roughly 8.8 million rows across recalls, complaints, investigations, bulletins, and ratings.
- Aggregate. The warehouse is projected into a small read-only SQLite file. Per-vehicle counts, per-component complaint tallies, and severity rollups are precomputed. Long campaign and investigation descriptions are stored once and joined, not duplicated per affected model.
- Render. The site is a static Next.js build that reads only from the shipped SQLite. No data is fetched from NHTSA at request time.
- Refresh. A nightly job pulls deltas from NHTSA’s public APIs and rebuilds the SQLite. The site redeploys automatically.
Caveats
- Complaints are filings, not findings. A complaint count is the number of reports NHTSA received from consumers. Complaints are not validated incidents and are not evidence that the vehicle has a defect.
- Severity tallies are reported, not verified. “Crashes,” “fires,” “injuries,” and “fatalities” come from individual complaints. NHTSA does not verify each one.
- No data is not no defect. An empty page is just an empty page. Low-volume models attract fewer complaints simply because fewer of them are on the road.
- Recalls are by campaign. One campaign can apply to multiple models and multiple years. The same campaign will appear on every affected vehicle’s page.
- NCAP coverage is partial. NHTSA only crash-tests a subset of model years. Older and low-volume models often have no rating.
For the original data and primary documentation, see nhtsa.gov/nhtsa-datasets-and-apis.