GET /vin/{vin}

VIN Decoder API

Decode a VIN. Year, make, model, engine, and the plant that built it.

Try it

vin

Normalized VIN, uppercase, no spaces. Invalid input still echoes the fold

valid

17 characters and the ISO 3779 check digit both pass

year

Model year

make

Make (Honda, BMW)

model

Model name as the manufacturer filed it

trim

Trim level, or null

body

Body style (sedan, coupe, suv, pickup)

type

Vehicle type (passenger car, truck, motorcycle, bus, trailer)

cylinders

Engine cylinders, or null

fuel

Primary fuel (gasoline, diesel, electric)

drive

Drive type (fwd, rwd, awd, 4wd), or null

transmission

Transmission style (automatic, manual, cvt), or null

plant_country

Assembly plant country, or null

deep.recalls

Open recall campaigns for the decoded year, make, and model. campaign, date, component, summary verbatim. [] when none, null when the registry did not answer. Paid plans

1

Pass the VIN

17 characters. Spaces and case do not matter. Junk and a failed check digit answer valid false, never a 404.

2

Get the build

Year, make, model, trim, body, doors, engine, drive, transmission, manufacturer, and assembly plant. Blank filings are null, never a guess.

3

Deep adds recalls

Open recall campaigns for the decoded vehicle. Campaign, date, component, and the summary verbatim. Paid plans.

Every VIN since 1981.

Decoded from official filings. Pooled requests on every plan.

1981
model years back to
21
fields per decode

Pass a VIN. Spaces and case do not matter. You get the build: year, make, model, trim, body, doors, engine, drive, transmission, the manufacturer, and the plant that assembled it. The data comes from the manufacturer's own government filings.

Junk and a failed check digit answer valid: false as a 200. Fields the filing leaves blank are null. Deep adds open recall campaigns for the decoded vehicle on paid plans.

RESPONSE

$ curl "https://api.parseapi.com/vin/1HGCM82633A004352" \
  -H "X-API-Key: YOUR_API_KEY"

// 200 · ~34ms US · ~124ms worldwide
{
  "vin": "1HGCM82633A004352",
  "valid": true,
  "year": 2003,
  "make": "Honda",
  "model": "Accord",
  "trim": "EX-V6",
  "series": null,
  "body": "coupe",
  "type": "passenger car",
  "doors": 2,
  "cylinders": 6,
  "displacement": 3,
  "fuel": "gasoline",
  "horsepower": 240,
  "drive": null,
  "transmission": "automatic",
  "manufacturer": "American Honda Motor Co., Inc.",
  "plant_city": "Marysville",
  "plant_state": "Ohio",
  "plant_country": "United States",
  "gvwr": "Class 1C: 4,001 - 5,000 lb (1,814 - 2,268 kg)"
}

Response fields

vin
Normalized VIN, uppercase, no spaces. Invalid input still echoes the fold
valid
17 characters and the ISO 3779 check digit both pass
year
Model year
make
Make (Honda, BMW)
model
Model name as the manufacturer filed it
trim
Trim level, or null
series
Series, or null
body
Body style (sedan, coupe, suv, pickup)
type
Vehicle type (passenger car, truck, motorcycle, bus, trailer)
doors
Door count, or null
cylinders
Engine cylinders, or null
displacement
Engine displacement in liters, or null
fuel
Primary fuel (gasoline, diesel, electric)
horsepower
Engine horsepower when published, or null
drive
Drive type (fwd, rwd, awd, 4wd), or null
transmission
Transmission style (automatic, manual, cvt), or null
manufacturer
Manufacturer of record
plant_city
Assembly plant city, or null
plant_state
Assembly plant state or region, or null
plant_country
Assembly plant country, or null
gvwr
Gross vehicle weight rating class as filed, or null
deep.recalls
Open recall campaigns for the decoded year, make, and model. campaign, date, component, summary verbatim. [] when none, null when the registry did not answer. Paid plans

QUESTIONS

What is the check digit?
Position 9 of every VIN is a checksum over the other 16 characters, set by the ISO 3779 standard. A flipped or mistyped character breaks it. A VIN that fails answers valid: false as a 200, never a 404.
Where does the data come from?
The manufacturer's own government filings. Year, make, model, and the rest are what the maker filed for that VIN pattern, decoded from official sources.
Why are some fields null?
The filing left them blank. Foreign-market VINs decode partially. Null is the honest answer, never a guess.
What does deep add?
Open recall campaigns for the decoded year, make, and model. Each row carries the campaign number, report date, component, and the summary verbatim. Paid plans.
Market value or accident history?
No. This decodes the build and lists open recalls. Ownership, title, and valuation are different products from licensed sources.

SPEED

How long a lookup takes.

US

34ms

EU

60ms

APAC

148ms

LatAm

21ms

ME

124ms

See live status →

Coverage

Every 17-character VIN since 1981. Decoded from official filings.