VIN Decoder: Bulk NHTSA vPIC Lookup (Make, Model, Year, Engine) avatar

VIN Decoder: Bulk NHTSA vPIC Lookup (Make, Model, Year, Engine)

Pricing

$2.50 / 1,000 vin decodeds

Go to Apify Store
VIN Decoder: Bulk NHTSA vPIC Lookup (Make, Model, Year, Engine)

VIN Decoder: Bulk NHTSA vPIC Lookup (Make, Model, Year, Engine)

Input: a list of VINs. Output: VIN decoder results with make, model, year, trim, body class, engine, fuel type, drive type and plant country from the official NHTSA vPIC database. $2.50 per 1,000 VINs.

Pricing

$2.50 / 1,000 vin decodeds

Rating

0.0

(0)

Developer

Winters Works

Winters Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Decode hundreds of VINs in one run with the US government's NHTSA vPIC vehicle database. For each VIN you get make, model, model year, trim, body class, engine size and cylinders, fuel type, drive type, manufacturer and plant location. Export JSON, CSV or Excel.

Use cases

  • Used-car dealers and flippers: validate and enrich inventory lists from VINs.
  • Insurance and fleet tools: normalize vehicle details for quoting or fleet records.
  • Data cleaning: turn raw VIN columns into structured vehicle attributes.
  • Marketplace research: verify listing claims against the VIN.

How it works

  1. Each VIN is sent to the official NHTSA vPIC DecodeVinValues API.
  2. Results are flattened into one clean record per VIN.
  3. The NHTSA error code and text are included so you can spot partial decodes.
  4. Coverage is vehicles sold in the US market; non-US VINs may decode only partially.

Input

{
"vins": [
"1HGCM82633A004352"
],
"modelYear": ""
}

Empty input {} runs a small demo. Other options: modelYear, maxResults, concurrency.

Output (one item per result)

{
"vin": "1HGCM82633A004352",
"make": "HONDA",
"model": "Accord",
"modelYear": "2003",
"trim": "EX",
"bodyClass": "Coupe",
"fuelTypePrimary": "Gasoline",
"engineCylinders": "6",
"displacementL": "3.0",
"driveType": null,
"manufacturer": "HONDA MANUFACTURING OF ALABAMA, LLC",
"plantCountry": "UNITED STATES (USA)",
"decoded": true,
"error": null
}

Example output

Real output from a default run (some fields omitted for width):

vinmakemodelmodelYearbodyClassengineHPplantCountryerrorText
1HGCM82633A004352HONDAAccord2003Coupe240UNITED STATES (USA)0 - VIN decoded clean. Check Digit (9th position) is correct

Every run also produces a ready-made table view in the Output tab, and you can export to JSON, CSV or Excel.

Pricing

Pay per event: $0.0025 per vin decoded ($2.50 per 1,000). Duplicates, failed lookups and empty results are not charged.

Limitations

  • Decodes factory specifications only: no owner, accident, title, mileage or recall history.
  • Accuracy depends on what the manufacturer reported to NHTSA vPIC. Fields can be null and decoded is false when no make is found; check errorCode and errorText. Vehicles built before 1981 or not sold in the US are often poorly covered.
  • Input must be 11-17 characters of A-Z (no I, O or Q) and 0-9, or * wildcards. Anything else returns an error row that is not charged. Pass modelYear to disambiguate.
  • Calls the NHTSA DecodeVinValues endpoint one VIN at a time, 3 in parallel by default (max 20) with a 100 ms pause. The vPIC API publishes no hard rate limit but asks for reasonable use, and NHTSA may throttle heavy traffic.
  • Each request times out after 30 s and is retried up to 4 times on 429, 5xx or network errors. Up to 1,000 VINs per run by default.

FAQ

Is this legal? Yes. It uses the free public NHTSA vPIC API run by the US government. A VIN decode returns vehicle specifications, not personal data. NHTSA's API is offered as is, so check its terms if you plan to redistribute at scale. You are responsible for how you use the results.

Does it return owner or history data? No. VINs decode to factory vehicle specifications only, not ownership, accidents or title history.

Why are some fields empty? NHTSA only has the data the manufacturer reported for that VIN.

Are failures charged? No. Malformed VINs and API errors are not charged.

Is the data guaranteed correct? No. It is whatever NHTSA holds, as reported by manufacturers, with no warranty. Verify with the manufacturer or a dealer before a purchase or insurance decision.

Use from code and AI agents

Call it from any language with the Apify API, or let an AI agent find and run it through the Apify MCP server.

from apify_client import ApifyClient
run = ApifyClient("<YOUR_APIFY_TOKEN>").actor("wintersworks/vin-decoder-nhtsa").call(run_input={"vins": ["1HGCM82633A004352", "5YJ3E1EA7KF317000"]})
items = ApifyClient("<YOUR_APIFY_TOKEN>").dataset(run["defaultDatasetId"]).list_items().items

Results land in the run's dataset (JSON, CSV, Excel). Set a maximum charge per run in the run options to cap spend.

About

Built and maintained by Winters Works. Questions or feature requests: open an issue on the Actor page or email wintersworks.shop@gmail.com.