Decode VINs in bulk: make, model, year, trim, body, engine, fuel, drive, transmission and plant from official NHTSA data. Optional safety report per vehicle: recalls for its model year, complaint statistics, NCAP crash-test stars. $1 per 1,000 decoded VINs; safety report $2 per 1,000.
Decode one VIN or tens of thousands in a single run and get a clean, normalized vehicle record per VIN: make, model, model year, trim, body class, vehicle type, engine (cylinders, displacement, HP), fuel type, drive type, transmission and assembly plant. Data comes from the official NHTSA vPIC database (US government public data), queried in batches of 50 VINs. Turn on the optional vehicle safety report to add, per vehicle, the NHTSA recalls issued for its model year, complaint statistics by component, NCAP crash-test stars and the number of defect investigations. Built for dealer and fleet tools, insurance and lending workflows, marketplaces and AI agents that need a quick, structured answer.
Price
Price per delivered record
Event
Price
Per 1,000
Charged for
Decoded VIN vin-decoded
$0.001
$1 / 1,000
Charged once per VIN for which NHTSA vPIC returned vehicle data (make, model or model year).
Vehicle safety report vehicle-safety-report paid plans only
$0.002
$2 / 1,000
NHTSA recalls issued for the decoded make, model and model year, complaint statistics by component, NCAP crash-test stars and the investigation count.
Apify free plan: up to 10 items per run. Paid plans have no per-run cap; set maxTotalChargeUsd to cap spend.
POST https://api.apify.com/v2/actors/sfoln~vin-decoder/runs?maxTotalChargeUsd=1
GET https://api.apify.com/v2/actor-runs/{runId} # until status is SUCCEEDED
GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items?format=json
Authenticate with an Apify API token. MCP clients can instead sign in with OAuth when prompted. Example prompt for an agent: Decode the VIN 1HGCM82633A004352 and list the recalls issued for that model year with their remedies.
Input
Input fields
Paste 17-character VINs (one per line) or pass an array. Each VIN produces one dataset record with a normalized `status`.
Field
Type
Default
Meaning
vins *
array
required
VINs Vehicle Identification Numbers (17 characters, 1981+), one per line; several VINs on one line can be separated by spaces, commas or semicolons. Spaces and dashes inside a VIN are removed, duplicates dropped. Objects with a `vin` field are accepted too. Accounts on the Apify free plan can process up to 10 VINs per run.
maxVins
integer
10000
Max VINs Safety cap on the number of VINs processed in this run. Range 1–100000.
includeSafetyReport
boolean
false
Include vehicle safety report Add NHTSA safety data for each decoded vehicle: recalls issued for its make, model and model year, complaint statistics by component, NCAP crash-test star ratings and the number of NHTSA investigations. Charged as `vehicle-safety-report` ($0.002) per VIN with safety data, on paid Apify plans only.
concurrency
integer
5
Concurrency Parallel workers. VINs are sent to NHTSA in batches of 50 regardless of this value. Range 1–10.
includeRaw
boolean
false
Include raw upstream response Attach all ~150 raw NHTSA vPIC fields to each record (larger output).
Records land in the run's dataset; a synchronous call returns them directly. Each has a status (ok is charged; everything else is free) and a charged flag. The run's OUTPUT record totals items and charges.
Field
Type
Meaning
input
string
Input The VIN as submitted (upper-cased, spaces/dashes removed).
vin
string
VIN Normalized 17-character VIN. e.g. "1HGCM82633A004352"
decoded
boolean
Decoded NHTSA returned make, model or model year.
make
string | null
Makee.g. "HONDA"
manufacturer
string | null
Manufacturer
model
string | null
Modele.g. "Accord"
modelYear
integer | null
Model yeare.g. 2003
trim
string | null
Trim
series
string | null
Series
bodyClass
string | null
Body class
vehicleType
string | null
Vehicle type
doors
integer | null
Doors
engineCylinders
integer | null
Engine cylinders
displacementL
number | null
Displacement (L)
engineHp
number | null
Engine HP
engineModel
string | null
Engine model
fuelTypePrimary
string | null
Primary fuel
fuelTypeSecondary
string | null
Secondary fuel
electrificationLevel
string | null
Electrification level
driveType
string | null
Drive type
transmissionStyle
string | null
Transmission
transmissionSpeeds
integer | null
Transmission speeds
gvwr
string | null
GVWR class
plantCity
string | null
Plant city
plantState
string | null
Plant state
plantCountry
string | null
Plant country
checkDigitOk
boolean
Check digit OK Position 9 matches the ISO 3779 check digit.
Vehicle safety report Only with includeSafetyReport: NHTSA recalls issued for the make, model and model year (VIN-level repair status is not public), complaint statistics, NCAP ratings of the tested variants and the investigation count. Null when the report was skipped (see warnings).
warnings
array
Warnings
status
string
Status ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan e.g. "ok"
charged
boolean
Charged Whether this record incurred a pay-per-event charge.
Does the safety report tell me whether this exact car still has an open recall?
No. NHTSA publishes recalls per make, model and model year, so the report lists every recall issued for the vehicle's model year (recallScope "make-model-year"). Whether a recall was already repaired on one specific VIN is only available from the manufacturer or NHTSA's VIN lookup page, not from a public API. Each recall has a link to its NHTSA page.
What is in the vehicle safety report?
Recalls (campaign number, date, component, summary, consequence, remedy, park-it and park-outside flags), complaint statistics (total, crashes, fires, injuries, deaths, first and last filing date, the ten components named most often), NCAP crash-test stars of each tested variant with the best match to the decoded VIN marked, and the number of NHTSA defect investigations. Complaint texts are not included.
Which VINs can be decoded?
17-character VINs from model year 1981 on. Coverage is best for vehicles sold in the United States; vehicles built for other markets may decode partially or not at all, and NHTSA has no safety data for models not sold in the US.