Vehicle VIN Decoder + Recall & Complaint Check (NHTSA)
Pricing
from $8.00 / 1,000 vehicle records
Vehicle VIN Decoder + Recall & Complaint Check (NHTSA)
Decode US VINs with the official NHTSA vPIC service (make, model, year, engine, plant country, with decoder error codes shown) and add the recalls and consumer complaint count NHTSA lists for that make, model and year. Official public data, no API key.
Pricing
from $8.00 / 1,000 vehicle records
Rating
0.0
(0)
Developer
Doohan Kim
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Decode vehicle identification numbers (VINs) and see the safety recalls and consumer complaints that the US National Highway Traffic Safety Administration (NHTSA) lists for that make, model and model year. Built on three official public NHTSA services, no scraping and no API key:
- vPIC VIN decoder (
vpic.nhtsa.dot.gov/api) - Recalls by vehicle (
api.nhtsa.gov/recalls/recallsByVehicle) - Complaints by vehicle (
api.nhtsa.gov/complaints/complaintsByVehicle)
Typical uses: used-car lead lists, fleet and dealer intake, insurance and lending checks, data enrichment of a VIN column.
Important: recalls are per model, not per VIN
NHTSA publishes no open API that tells whether a specific VIN still has an unrepaired recall
(the VIN lookup on nhtsa.gov/recalls is a web form). This Actor therefore returns the recalls that
exist for the decoded make, model and model year (recalls[], recallsScope). It cannot say whether
this particular car has already been fixed. Use the official NHTSA VIN lookup for that final check.
What you get (one row per VIN or vehicle)
| Section | Fields |
|---|---|
Decoded vehicle (decoded) | make, manufacturer, model, modelYear, series, trim, bodyClass, vehicleType, doors, driveType, gvwr, transmission, engine{cylinders, displacementL, horsepower, model, configuration, fuelTypePrimary, electrificationLevel}, plant{country, state, city, company} |
| Decoder errors (never hidden) | decoderErrorCodes[], decoderErrors[] (code + NHTSA message), decoderAdditionalErrorText, suggestedVin, possibleValues |
| VIN check | checkDigit.valid (computed locally), checkDigit.required (true for vehicles built in North America) |
| Recalls | recallsCount, recalls[]: campaignNumber, actionNumber, reportReceivedDate, manufacturer, component, summary, consequence, remedy, parkIt, parkOutSide, overTheAirUpdate (newest first) |
| Complaints | complaintsCount, complaintsSummary{crashes, fires, injuries, deaths} (counts only; complaint texts are not returned) |
| Name check | when a model has 0 recalls: modelKnownToNhtsa (true / false / null = could not check) and modelSuggestions[] |
| Freshness | dataAsOf.decoder, dataAsOf.recalls, dataAsOf.complaints (time of the query), recallLookup (the exact make/model/year queried), disclaimer |
An empty decoded field means NHTSA has no data for it, not that the vehicle lacks the feature.
No silent failures
- A VIN with the wrong length or illegal letters (I, O, Q) is returned as
found: falsewith an English reason and is not looked up (not charged). - If the decoder reports an error that makes the result unreliable (incomplete VIN, manufacturer not
registered for the US market, invalid characters, no make/model/year, or a wrong check digit on a
North American VIN), the row is
found: falseand not charged, but the full decoder output and error codes are still included so you can see what NHTSA said. - If NHTSA cannot be reached the row has
found: nulland anerror; it never claims the VIN is invalid or that there are no recalls. If only the recall or complaint service fails, the decoded vehicle is returned and the failed count isnull(not 0) with the reason insectionErrors. - Non-US VINs: the decoder knows many foreign makes, but a vehicle not sold in the US may have a partial or empty decode (error codes 7, 14 and 400 are shown as returned).
Input
{"vins": ["1HGCM82633A004352"],"vehicles": [{"make": "Honda", "model": "Accord", "modelYear": 2003}],"includeComplaints": true}
All fields are optional; with an empty input the Actor decodes the example VIN above (a 2003 Honda
Accord). Up to 200 VINs and 100 vehicles per run. VINs are cleaned (spaces removed, upper-cased) and
duplicates are processed once. vehicles rows return recalls and complaints only; NHTSA spells models
its own way (F-150, not F150), so use modelSuggestions when a model is not found.
includeComplaints: false skips the complaint lookup, which is the slowest call (the full complaint
list of a popular model is about 1 MB and has taken up to 20 seconds). A malformed input
(for example vins that is not an array) fails the run with an English error message.
Pricing
Pay-per-event, event name vehicle-record (one successfully decoded vehicle, or one make/model/year
with at least one recall or complaint). Rows that are not found, are rejected or fail are not charged.
Data sources and limits
- vPIC: VINs are decoded in batches of up to 50 through
DecodeVINValuesBatch; NHTSA's FAQ states the service is free for public use and asks heavy users to run large jobs at night (US Eastern) or at weekends. This Actor makes one batch request per 50 VINs, one recall request, one complaint request and (only for 0-recall models) one model-list request per distinct make/model/year, with a pause between requests and exponential back-off on throttling or server errors. - The decoder is reliable for model years 1995 and later; NHTSA states lower confidence for 1980-1994 and no data before 1980.
- Recall and complaint data are reported by manufacturers and consumers and are not verified by this Actor. NHTSA public data, provided for informational purposes only; verify open recalls for a specific vehicle on nhtsa.gov/recalls before relying on it.