Data sources
Everything here comes from NHTSA, is free, and needs no API key. The exact files are below so that any number on this site can be checked against them.
Consumer complaints
FLAT_CMPL.zip — every safety complaint filed since 1 January 1995, about 2.2 million rows, 1.6 GB uncompressed, regenerated daily. Field positions are documented in CMPL.txt , last revised 30 April 2026 when fields 50 and 51 were appended. The copy behind this site was published Thu, 20 Aug 2026 01:32:35 GMT.
Defect investigations
FLAT_INV.zip — every defect investigation opened since 1972: 154,249 vehicle rows covering 5,340 investigations, of which 223 are open. Documented in INV.txt . Published Wed, 19 Aug 2026 09:19:26 GMT.
Recalls, and a file that is no longer there
NHTSA published the whole recall history as a bulk file beside the two
above, at /odi/ffdd/rcl/FLAT_RCL.zip. Checked on 19 August 2026
it returns 404, while its own field documentation at
RCL.txt
is still published and the neighbouring archives still resolve. There is no
notice; the file is simply gone.
Recalls here are therefore rebuilt from the
campaign number API
. Campaign numbers are sequential within a year — 26V400000
is the 400th vehicle campaign filed in 2026 — so walking the sequence for
each year since 1995 reconstructs the withdrawn file at about a thousand
requests a year. Every response carries the campaign's full list of affected
vehicles, so the vehicle index is built here rather than asked for one car
at a time.
The most recent campaign held is 2026-08-12.
Things worth knowing before using these files yourself
- No header row. Columns are identified by position and documented separately. When NHTSA appends a field the record gets wider and nothing throws; a parser that trusts position without checking it publishes the wrong column as a number.
- Two date formats. The flat files use YYYYMMDD. The recall
API uses DD/MM/YYYY —
20/12/2023is 20 December — which is the only place in this data that is not American, and the one place a date can be read as the wrong month without anything failing. - Rows are not complaints. See how this is counted.
- The rate limit is not the published one. NHTSA documents five requests a second. A seed run pacing at four, with twenty-four in flight, was throttled hard after about thirteen thousand requests, on a campaign number that answered instantly once the run stopped.
Licence
These are US federal government works and are in the public domain. This site is not affiliated with NHTSA or with any manufacturer.
Compiled and maintained by guarledes
Independent developer and analyst