Vehicle VIN Decoder + Recall & Complaint Check (NHTSA) avatar

Vehicle VIN Decoder + Recall & Complaint Check (NHTSA)

Pricing

from $8.00 / 1,000 vehicle records

Go to Apify Store
Vehicle VIN Decoder + Recall & Complaint Check (NHTSA)

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

Doohan Kim

Maintained by Community

Actor 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)

SectionFields
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 checkcheckDigit.valid (computed locally), checkDigit.required (true for vehicles built in North America)
RecallsrecallsCount, recalls[]: campaignNumber, actionNumber, reportReceivedDate, manufacturer, component, summary, consequence, remedy, parkIt, parkOutSide, overTheAirUpdate (newest first)
ComplaintscomplaintsCount, complaintsSummary{crashes, fires, injuries, deaths} (counts only; complaint texts are not returned)
Name checkwhen a model has 0 recalls: modelKnownToNhtsa (true / false / null = could not check) and modelSuggestions[]
FreshnessdataAsOf.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: false with 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: false and 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: null and an error; 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 is null (not 0) with the reason in sectionErrors.
  • 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.