Vehicle Recalls & VIN Decoder API - Car Specs, NHTSA
Pricing
from $0.70 / 1,000 results
Vehicle Recalls & VIN Decoder API - Car Specs, NHTSA
No API key, no login. Decode up to 50 VINs per call with NHTSA vPIC and attach the open NHTSA recalls per vehicle, or look up recalls by year, make and model. Fleet monitor mode returns only new recalls. An NHTSA outage says unavailable, never a false no recalls.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
Martin Petrov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Features
Share
Problem: you run a fleet, a dealership, a marketplace, an insurance or repair workflow and need car specs and open safety recalls for many vehicles. The NHTSA websites check one vehicle at a time, and the raw vPIC answer has about 140 mostly empty fields.
This API: up to 50 VINs per call (plus up to 20 vehicles by year, make and model), answered from the official NHTSA services in a few seconds. For each vehicle you get a clean row:
- VIN decode (NHTSA vPIC): make, model, model year, trim, body class, vehicle type, engine (cylinders, displacement, hp, fuel), drive type, transmission, doors, plant country and city, manufacturer, GVWR, and safety equipment (ABS, ESC, TPMS, airbags, collision warning where NHTSA has data).
- Check digit:
checkDigitValidis computed locally for North American VINs, so typos are caught early. - Open recalls (NHTSA Recalls API):
recallCountand arecallslist with campaign number, component, summary, consequence, remedy, report date (ISO), park-it / park-outside flags, over-the-air flag and the NHTSA link.
Why it is different
- An outage is never a false "no recalls". If NHTSA does not answer, we retry 3 times; if it is still down, the row says
unavailablewith the reason. - Malformed VIN = instant answer (
invalid_format, checked locally, no upstream call). - Clean output: empty vPIC fields are dropped, numbers are numbers, dates are ISO.
- Fleet recall monitor:
onlyNew: true+monitorIdreturns one row per recall that is new for that Monitor ID. Schedule it daily or weekly. - Official public data only, no scraping, no personal data.
Example (API)
curl -X POST "https://api.apify.com/v2/acts/martin10291~vehicle-recalls-vin-decoder/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"vins": ["1HGCV1F35KA000001", "1FTFW1ET9DFC10312"], "vehicles": ["2021 toyota camry"], "includeRecalls": true}'
Output row (trimmed):
{"type": "vehicle", "vin": "1HGCV1F35KA000001", "status": "ok", "checkDigitValid": true,"make": "HONDA", "model": "Accord", "modelYear": 2019, "trim": "Sport", "bodyClass": "Sedan/Saloon","engine": {"cylinders": 4, "displacementL": 1.5, "hp": 192, "fuelType": "Gasoline"},"plantCountry": "UNITED STATES (USA)", "recallCount": 6,"recalls": [{"campaignNumber": "20V314000", "component": "FUEL SYSTEM, GASOLINE:DELIVERY:FUEL PUMP","reportDate": "2020-05-28", "parkIt": false, "url": "https://www.nhtsa.gov/recalls?nhtsaId=20V314000"}],"source": "NHTSA vPIC + NHTSA Recalls API (US market vehicles)", "checkedAt": "2026-11-12T10:00:00Z"}
Use from agents (MCP)
Add the Apify MCP server (https://mcp.apify.com?tools=martin10291/vehicle-recalls-vin-decoder) to Claude, Cursor or any MCP client and ask: "Decode these VINs and list their open recalls: ...".
Input
| Field | What it does |
|---|---|
vins | VINs, up to 50 (17 characters, no I, O, Q) |
vehicles | Recalls without a VIN: "2019 honda accord" or {year, make, model}, up to 20 |
includeRecalls | Attach recalls to every vehicle (default on) |
onlyNew / monitorId | Return only recalls not seen before for this Monitor ID (fleet monitor) |
Honest limits
- Recalls are matched by make, model and model year (NHTSA's open recalls API), not by the individual VIN's repair status. A listed recall means the model year is covered by that campaign; it does not tell you whether this particular car was already repaired.
- US market data. vPIC is built for vehicles sold in the US and Canada; many VINs from other markets decode partially or not at all (
not_decoded). - Some vPIC fields are empty for a given VIN because NHTSA has no data; they come back as
null, which does not mean the feature is missing from the car. - A make with several words (land rover) needs the object form in
vehicles. - A make/model that NHTSA does not know returns 0 recalls, the same as a model with no recalls.
FAQ
Pricing? $1 per 1,000 result rows (one row per vehicle, or per new recall in monitor mode). Do I need a key? No. NHTSA data is open. Can I check one VIN's repair status? Not through the open API. Owners can use NHTSA's own VIN lookup page.