VIN Decoder
Decodes a 17-character vehicle identification number with the US NHTSA vPIC service: model year, make, model, trim, body, engine, drivetrain, assembly plant and the safety equipment NHTSA has on record.
- 1 credit per VIN that decodes (a VIN with no data is free)
- Charged only when it finds something
- Cached 7 days
1 credit per VIN that decodes (a VIN with no data is free)
Charged only when it finds something. A repeat inside 7 days is free.
Every LookValid product draws on one shared balance. See pricing.
From key to answer in three steps
One key, one POST to /v1/vin-decoder and a JSON answer back. The same three steps work in any language that can send HTTPS.
- 01
Create a key
Sign up and copy a key from the dashboard. The same key works for every LookValid product and for the MCP server.
Terminal export LOOKVALID_API_KEY="lv_live_..." - 02
Send the request
POST a JSON body to /v1/vin-decoder. 1 credit per VIN that decodes (a VIN with no data is free).
request.sh curl -X POST https://YOUR_API_HOST/v1/vin-decoder \ -H "Authorization: Bearer $LOOKVALID_API_KEY" \ -H "Content-Type: application/json" \ -d '{"vin":"1HGCM82633A004352"}' - 03
Read the answer
A real run of this lookup on 2026-10-18. The data object has 24 named fields.
response.json { "product": "vin-decoder", "found": true, "data": { "vin": "1HGCM82633A004352", "model_year": 2003, "make": "HONDA", "model": "Accord", "trim": "EX-V6", "series": null, "vehicle_type": "PASSENGER CAR", "body_class": "Coupe", "doors": 2, "drive_type": null, "transmission": "Automatic", ...
A structured answer, not a page of text
The data object has 24 named fields. Every response also lists the sources behind the result, the credits charged and whether it was served from your cache.
Fields returned in data by VIN Decoder Field Type vin string model_year number or null make string or null model string or null trim string or null And 19 more fields in the API reference.
Named fields. The check digit is verified before NHTSA is called. Empty fields mean NHTSA has no data, not that the feature is missing.
- Your requestone API key
- Your cache7 daysRepeat: 0 credits
- Data sourcefirst lookupFound: 1 credit
- ResultJSON
A repeat lookup is free. Results are cached per account for 7 days. Ask the same question again inside that window and the response comes back with
cache_hit: trueand no charge.Terminal # Sent with every request, for every product Authorization: Bearer $LOOKVALID_API_KEYOne key for your code and your agents. Send your API key as a Bearer token. The same key and the same credit balance cover every other LookValid product. AI agents can call it as a tool on the MCP server at
https://YOUR_API_HOST/v1/mcp.
24
named fields in every answer
7
days a repeat lookup is free
14
lookups on the same key and balance
Latest from the changelog
All changesPriced in credits
Every LookValid product draws on one shared balance. VIN Decoder uses 1 credit per VIN that decodes (a VIN with no data is free).
Cost
1credit
Per VIN that decodes (a VIN with no data is free)
- Found1 credit
- Nothing found0 credits
- Repeat inside 7 days0 credits
- Errors and invalid requests0 credits
Questions about VIN Decoder
01How much does VIN Decoder cost?
1 credit per VIN that decodes (a VIN with no data is free). Credits come out of the one balance shared by every LookValid product.
02Am I charged when nothing is found?
No. When the lookup runs and finds nothing, it returns found: false and costs 0 credits. An error costs nothing either.
03How long are results cached?
For 7 days, per account. Repeating the same lookup inside that window returns cache_hit: true and costs 0 credits.
04Which API key do I use?
The same key as every other product. Send it as a Bearer token in the Authorization header. Email hello@lookvalid.com and we set up your account and send the key.