Vehicle API
United States Department of Transportation
Report a Problem
Vehicle API<br>Powered by
Version: 4.04 Last Code Change 4/18/2026
Release Notes
Subscribe/Unsubscribe
F.A.Q.
The NHTSA Product Information Catalog Vehicle Listing (vPIC) Application Programming Interface (API) provides different ways to gather information on Vehicles and their specifications. The vPIC Dataset is populated using the information submitted by the Motor Vehicle manufacturers through the 565 submittals. All the information on how a VIN is assigned by the manufacturer is captured in this catalog and used to decode a VIN and extract vehicle information.
Users/Applications attempting to use vPIC APIs will be controlled by an automated traffic rate control mechanism to ensure optimal performance of the NHTSA websites and minimize adverse impact to our users.
Click here to see examples in Multiple Languages.
Standalone Databases
Standalone vPIC Databases are available for download here.
API Methods
Output Format
Decode VIN
/vehicles/DecodeVin/5UXWX7C5*BA?format=xml&modelyear=2011
XML<br>CSV<br>JSON
More Information<br>Less Information
The Decode VIN API will decode the VIN and the decoded output will be made available in the format of Key-value pairs.<br>The IDs (VariableID and ValueID) represent the unique ID associated with the Variable/Value.<br>In case of text variables, the ValueID is not applicable.<br>Model Year in the request allows for the decoding to specifically be done in the current, or older (pre-1980),<br>model year ranges. It is recommended to always send in the model year.<br>This API also supports partial VIN decoding (VINs that are less than 17 characters).<br>In this case, the VIN will be decoded partially with the available characters. In case of partial VINs,<br>a "*" could be used to indicate the unavailable characters. The 9th digit is not necessary.
Decode VIN (flat format)
/vehicles/DecodeVinValues/5UXWX7C5*BA?format=xml&modelyear=2011
XML<br>CSV<br>JSON
More Information<br>Less Information
The Decode VIN Flat Format API will decode the VIN and the decoded output will be made available in a flat file format.<br>Model Year in the request allows for the decoding to specifically be done in the current, or older (pre-1980),<br>model year ranges. It is recommended to always send in the model year.<br>This API also supports partial VIN decoding (VINs that are less than 17 characters).<br>In this case, the VIN will be decoded partially with the available characters. In case of partial VINs,<br>a "*" could be used to indicate the unavailable characters.
Decode VIN Extended
/vehicles/DecodeVinExtended/5UXWX7C5*BA?format=json&modelyear=2011
XML<br>CSV<br>JSON
More Information<br>Less Information
This is exactly like the Decode VIN method but provides additional information on variables<br>related to other NHTSA programs like NCSA etc.
Decode VIN Extended (flat format)
/vehicles/DecodeVinValuesExtended/5UXWX7C5*BA?format=json&modelyear=2011
XML<br>CSV<br>JSON
More Information<br>Less Information
This is exactly like the Decode VIN (flat format) method but provides additional information on variables<br>related to other NHTSA programs like NCSA etc.
Decode WMI
/vehicles/DecodeWMI/1FD?format=xml
XML<br>CSV<br>JSON
More Information<br>Less Information
This provides information on the World Manufacturer Identifier for a specific WMI code.<br>WMIs may be put in as either 3 characters representing VIN position 1-3 or 6 characters representing VIN positions 1-3 & 12-14.<br>Example "JTD", "1T9131".
Get WMIs for Manufacturer
/vehicles/GetWMIsForManufacturer/hon?format=xml
XML<br>CSV<br>JSON
/vehicles/GetWMIsForManufacturer/987?format=xml
XML<br>CSV<br>JSON
/vehicles/GetWMIsForManufacturer/hon?vehicleType=car&format=xml
XML<br>CSV<br>JSON
/vehicles/GetWMIsForManufacturer/987?vehicleType=2&format=xml
XML<br>CSV<br>JSON
More Information<br>Less Information
Provides information on the all World Manufacturer Identifier (WMI) for a specified Manufacturer. Only WMI registered in vPICList are displayed.
If first parameter is a number - method will do exact match on Manufacturer's Id.
If first parameter is a string - it will look for manufacturers whose name is LIKE the provided name (it accepts a partial manufacturer name as an input). Multiple results are returned in case of multiple matches.
If VehicleType is a number - method will do exact match on VehicleType's Id.
If VehicleType is a string - it will look for VehicleType whose name is LIKE the provided name (it accepts a partial VehicleType name as an input). Multiple results are returned in case of multiple matches.
Both parameters are optional but at least one must be provided.
Get All Makes
/vehicles/GetAllMakes?format=csv
XML<br>CSV<br>JSON
More Information<br>Less Information
This provides a list of all the Makes available in vPIC Dataset.
Get...