GET /vehicle/{vin}

VIN Decoder API

A VIN in. Year, make and model ready for your app.

Try it

Example response/vehicle/1HGCM82633A004352
{
  "vin": "1HGCM82633A004352",
  "valid": true,
  "year": 2003,
  "make": "Honda",
  "model": "Accord",
  "trim": "EX-V6",
  "body": "coupe",
  "type": "passenger car",
  ?deep=true
}

1M requests · $20/mo.

Get started

What comes back.

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)

deep.cylinders

Engine cylinders, or null

deep.fuel

Primary fuel (gasoline, diesel, electric)

deep.drive

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

deep.transmission

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

deep.plant_country

Assembly plant country, or null

deep.recalls

Recall campaigns for the decoded year, make, and model. campaign, date, component, summary verbatim. [] when none are returned, null when the registry did not answer. Paid plans. Does not establish whether this VIN needs a repair.

1

Pass the VIN

Start with a 17-character VIN. The check digit catches many transcription errors. Spaces and case do not matter.

2

Fill the vehicle record

Read year, make, model, trim, body and type from US-market manufacturer filings. Unreported fields stay null.

3

Add specifications

Paid detail includes engine, drivetrain, assembly information and recall campaigns for the decoded year, make and model.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/vehicle/1HGCM82633A004352" \
  -H "X-API-Key: YOUR_API_KEY"
// Example response · 200
{
  "vin": "1HGCM82633A004352",
  "valid": true,
  "year": 2003,
  "make": "Honda",
  "model": "Accord",
  "trim": "EX-V6",
  "body": "coupe",
  "type": "passenger car"
}

API referenceSDKsKeys and authentication

Every response field

Response fields

vinstring or null
Normalized VIN, uppercase, no spaces. Invalid input still echoes the fold
validboolean
17 characters and the ISO 3779 check digit both pass
yearinteger or null
Model year
makestring or null
Make (Honda, BMW)
modelstring or null
Model name as the manufacturer filed it
trimstring or null
Trim level, or null
bodystring or null
Body style (sedan, coupe, suv, pickup)
typestring or null
Vehicle type (passenger car, truck, motorcycle, bus, trailer)

Deep fields

deep.seriesstring or null
Series, or null
deep.doorsnumber or null
Door count, or null
deep.cylindersnumber or null
Engine cylinders, or null
deep.displacementnumber or null
Engine displacement in liters, or null
deep.fuelstring or null
Primary fuel (gasoline, diesel, electric)
deep.horsepowernumber or null
Engine horsepower when published, or null
deep.drivestring or null
Drive type (fwd, rwd, awd, 4wd), or null
deep.transmissionstring or null
Transmission style (automatic, manual, cvt), or null
deep.manufacturerstring or null
Manufacturer of record
deep.plant_citystring or null
Assembly plant city, or null
deep.plant_statestring or null
Assembly plant state or region, or null
deep.plant_countrystring or null
Assembly plant country, or null
deep.gvwrstring or null
Gross vehicle weight rating class as filed, or null
deep.recallsarray or null
Recall campaigns for the decoded year, make, and model. campaign, date, component, summary verbatim. [] when none are returned, null when the registry did not answer. Paid plans. Does not establish whether this VIN needs a repair.

Build with Vehicle

All tutorials →

QUESTIONS

What is the check digit?
The API checks position 9 against the other 16 characters using the VIN check-digit algorithm. A failed check answers valid: false as a 200. The check catches many transcription errors, but it is not proof that a vehicle exists.
Which VINs are supported?
17-character VINs with a matching check digit. Vehicle specifications come from US-market manufacturer filings for the matching VIN pattern.
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?
Each specification comes from the matching manufacturer filing. A field returns null when that filing does not include it.
What does deep add?
Technical vehicle specifications, manufacturer and assembly details, and model-level recall campaigns. Each recall includes campaign, date, component, and summary. Included on paid plans.
Does a recall mean this vehicle still needs a repair?
The response lists campaigns for the year, make, and model. It does not establish that this specific VIN is affected or whether its repair was completed.
Market value or accident history?
This decodes vehicle specifications and lists recall campaigns. Ownership, title, and valuation require separate vehicle-history data.