GET /vehicle/{vin}
VIN Decoder API
A VIN in. Year, make and model ready for your app.
Try it
{
"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 startedWhat 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.