Search by task, endpoint, field, or error.
Vehicle API
Decode a VIN into year, make, model, and vehicle type.
Decode a 17-character VIN. Core gives validity, year, make, model, trim, body and vehicle type. Spaces and case do not matter. Junk or a failed ISO 3779 check digit answers valid: false as a 200, never a 404. The data comes from the manufacturer's own filings with official sources. Fields the filing leaves blank are null. If a lookup fails and no cached answer is available, the request returns HTTP 503 service_unavailable. The message explains the failure when known and tells you whether to retry or contact support with the request ID. Coverage reflects US-market filings; other VINs may be incomplete or rejected by the checksum rule.
?deep=true adds technical specifications, assembly details and deep.recalls on paid plans: recall campaigns for the decoded year, make, and model. Each row carries the campaign number, report date, component, and the summary verbatim. [] when none are returned. Campaigns describe the year, make, and model. They do not establish whether this specific VIN is affected or whether its repair was completed.
Decode
import { parseAPI } from '@parseapi/sdk';
const parse = parseAPI("YOUR_API_KEY");
const result = await parse.vehicle("1HGCM82633A004352");
console.log(result);Run on your server with a secret key. Calling from a browser or app?
{
"vin": "1HGCM82633A004352",
"valid": true,
"year": 2003,
"make": "Honda",
"model": "Accord",
"trim": "EX-V6",
"body": "coupe",
"type": "passenger car"
}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? Email