- Previous:Spec: Vehicle Style
- Up:The Vehicle API
- Next:The Inventory API
Post has been republished with updates since its original publish date November 2011. As you might expect we get a lot of questions about VINs. There is a lot of confusion about what a VIN is, how is it used, what information is captured within it and what is not.
When you have a Vehicle Identification Number, or VIN, you can get both basic and full vehicle details by decoding that VIN using one of the two calls below. Please note that our VIN decoding capabilities only handle North American VINs (i.e. VIN with the last five characters always numeric).
Go to:
Please read the API Documentation page for information that applies to all our APIs. To immediately interact with this API, please go to API Console, select Vehicle API and look for the VIN Decoder calls.
Call 1: Get full vehicle details by VIN
Get all vehicle details from make, model, year and fuel type to list of options, features and standard equipment. All this information is returned by decoding the vehicle's VIN.
Call 2: Get basic vehicle information by VIN
Get vehicle make, model, year, type, fuel type, number of cylinders and list of styles by decoding the vehicle's VIN
Example 1:top
Get full vehicle details for VIN JTEBU17R848028574. The response is a Style object.
Example 1 Response:
Example 2:top
Get basic vehicle information for VIN JTEBU17R848028574. The response is much smaller than the first call, but enough to give you an idea of what vehicle this is.
Example 2 Response:
- Previous:Spec: Vehicle Style
- Up:The Vehicle API
- Next:The Inventory API
28 Comments
- When I use this API it responds with message 'Developer Inactive'. When I use the other API's (with the same key) I get results. Is there a bug right now?
- can I use this Api for several VIN...please reply ASAP
- By the way, are you getting null object for all vins you're requesting through the API?
- Hi there. Very new to this and I find it very easy to use. But I have not read all of the documentation, and before I get started, I was just wondering.What is the easiest way to enter mileage and vin, and then get the used car price?If I get the time, perhaps I will write a PHP class that will make this easier for people. Unless one has already been written.Congrats Ismail, this is something we dealers have wanted for a while.
- Thanks!The best way to do this right now is as follows:
- Use the VIN Decoder to decode the VIN into a style object.
- Use the Style ID and zipcode, milage, and condition to get the USED TMV value.
Both API resources are under the Vehicle API. You can use the API Console to test it out :-)It would be awesome if you could actually build a PHP class that does that for folks. Will feature it on our site.Cheers,Ismail - We really appreciate the VIN decode API, but we have run into a few cases where the VIN is returning an empty result - {'styleHolder':[]}. The VIN I am currently testing is returning vehicle information using the page http://www.edmunds.com/car-buying/vin-check.html, which I assume works off of the same database (I could be wrong). The VIN I am testing with is for a 2006, so the issue isn't that it is too new.I didn't know if posting the VIN here was appropriate, so just let me know the best way to get the sample VIN over to you.Thanks.
- Hello Ismail. I am having my developers look into adding your this VIN decoder API into our new system and I am curious about a couple things. First, does this API decode things other than vehicles such as ATV's, Motorcycles and Boats, etc...? And second, if your technology works correctly and we decide to keep it in our system, would you like me to name drop Edmunds.com on my site so my users know who brought them this feature?
- Hi,Sorry for the late response.No, the VIN Decoder is only for vehicle and trucks. No boats or motorcycles :(Part of the Terms of Service of using our API is to give us attribution. Please make sure you read the TOC before you implement the API :-) http://developer.edmunds.com/Api_terms_of_useCheers,@EdmundsAPI
- That's perfect and I appreciate the quick response. Looks like your API works perfectly and I will be sure to make to follow the TOS. Is there anything I can get you to allow the API to work on other types of items? I can get the VIN codes for other stuff if needed and give it to you and I would have more of what I need and the rest of the people using your API would have a more useful piece of software that could help them as well. Not a problem if you do not wish to go this way for whatever reason.
- How to translate edmunds equipment ID codes to something customer viewable? also is there a way to get xml data rather than JSON data?
- Hello. I tried using the decoder for a couple of cars and ran into issues of it giving incorrect transmission and drive-line and trim levels. For example, this vehicle 4T1BF32K72U514815 is automatic, and the response is manual; this vehicle 1GNDT13S052221323 is 4WD and the response is 2wd; this vehicle KMHDN55D43U094338 is GT model and the reposne is GLS.I cannot figure out if I am reading the data wrong or there is a mistake in VIN decoder?Thank you
- Great news to all VIN Decoder users!We have updated our VIN Decoder to deliver more accurate results. We also released a VIN Decoder that returns smaller payload with basic vehicle information: http://api.edmunds.com/api/v1/vehicle/vin/[THE VIN YOU WANT TO DECODE]/configuration?api_key=[YOU VEHICLE API KEY]For more interactive API goodness, please check out our API Console and interact with the API in realtime! http://developer.edmunds.com/io-docsThanks,Ismail
- Thanks for putting this together and making it available.I understand the API limit is 5000 requests. What will happen on request # 5001? Is there an error code I can use to program against?Thanks,Ramin
- Hi Andy,You will get the following object:{ 'error': {'code':403, 'message':'Account Over Queries Limit'}}
- There appears to be an issue with vin 'case'.When I type 1b3es56c55d209296 I get{'error':{'errorType':'INCORRECT_PARAMS','message':'No matching SquishVIN: 1b3es56c55d209296'}}But when i type 1B3ES56C55D209296 I get all the info.
- Thanks for the fantastic API!Question: when I'm doing a vin decode, I'm presented with a list of styles. For example: KNDJT2A2XB7202068 gives me a list of styleIids: [101357069, 101357072, 101357070, 101357071]. How do I know which specific styleId is associated with this vin?I'm trying to get to the specific trim by vin.Thanks!
- Kryptonit3: Thanks for your comment. We're aware of the issue and working to resolve it.waljock: Sometimes we can't match the VIN to a specific vehicle so what we do is narrow it down to a specific vehicle (i.e. make/model/year) and its possible configurations.
- how to implement Edmuds Api in PHP programming Languages?
- how to implement Edmuds Api in PHP programming Languages?
- how to implement Edmuds Api in PHP programming Languages?
- @deepanbvg There are probably many ways to do this in PHP, but here is a very simple example:*Disclaimer: This was just taken from an excerpt of old code, and was not tested.
- Does the VIN lookup decode cars that are sold in international markets i.e. outside North America?
- @walz10 - no, unfortunately our VIN decoder does not cover vehicles sold outside of the United States.
- ow damn, that would have been awsome didn't notice its only america. A cover for europe would be great!!
- Hi Guys,Quick question... When I attempt to call the VIN Decoder API in my iOS app, I receive the following error:'INCORRECT_PARAMS' 'Resource not found.'However, when I call the exact same URL via my browser, the call works perfectly, and the data is rendered perfectly in the browser. I then immediate call the same URL via my iOS app and it works perfect... This one has me stumped... Any ideas?
- Hi @Matthew - can you send me some details over email (API Key being used, example call where this happened and exact time frame).. [email protected]Thanks!
Docs Navigation
- The Vehicle API
- The Dealer API
CarMD VIN Decoder API works on all vehicles sold in the US since 1996. It provides information on the year, make, model, and engine provided VIN.
The feature is free up to 200 uses per month.
This API provides data on the following elements:
- Year
- Make
- Model
- Engine
For specific details, please see our API Documentation for VIN Decode.
Testing the API
This document will guide a user to testing the endpoint without having to touch any code other than the endpoint data.
1 – Register an account or login to grab your API keys.
Once you reach your dashboard, click Next as shown below to view your keys.
2 – Download and open your RESTful client
Install Advanced REST client for Google Chrome.
Open the client by going to the app. Then click Launch app.
3 – Add VIN Decode API endpoint and data
Once you’re at the main screen of the client insert the endpoint and parameter data into the Request URL field at the top.
Example endpoint and parameter data 1 (copy and paste the line below into the client):
http://api.carmd.com/v3.0/decode?vin=1GNALDEK9FZ108495
4 – Adding your header
At this point we’re prepping to add your authorization and partner keys to the header, first lets setup the header.
Under Parameters, click Insert headers set.
The default header will display, then click USE THIS SET
The result should look like below:
5 – Adding your keys to the header
Here we’re going to add your keys to the header. First lets open up some fields in your header by clicking ADD HEADER twice.
It should look like this.
Now add your keys to the empty header fields.
6 – Sending your request
Submit your request by clicking SEND. The response may take a few seconds.
Your response should look something like the below.
If so, congrats and thank you for using CarMD’s API!
Response
Each response is broken down into two portions, one is the message which contains basic diagnostic results of the request and the other is the data.
Your Year, Make, Model, and Engine information will be contained in the ‘data’ field.
Resources
CarMD VIN Decoder API works on all vehicles sold in the US since 1996. It provides information on the year, make, model, and engine provided VIN.
The feature is free up to 200 uses per month.
This API provides data on the following elements:
- Year
- Make
- Model
- Engine
For specific details, please see our API Documentation for VIN Decode.
Testing the API
This document will guide a user to testing the endpoint without having to touch any code other than the endpoint data.
1 – Register an account or login to grab your API keys.
Once you reach your dashboard, click Next as shown below to view your keys.
2 – Download and open your RESTful client
Install Advanced REST client for Google Chrome.
Open the client by going to the app. Then click Launch app.
3 – Add VIN Decode API endpoint and data
Once you’re at the main screen of the client insert the endpoint and parameter data into the Request URL field at the top.
Example endpoint and parameter data 1 (copy and paste the line below into the client):
http://api.carmd.com/v3.0/decode?vin=1GNALDEK9FZ108495
4 – Adding your header
At this point we’re prepping to add your authorization and partner keys to the header, first lets setup the header.
Under Parameters, click Insert headers set.
The default header will display, then click USE THIS SET
The result should look like below:
5 – Adding your keys to the header
Here we’re going to add your keys to the header. First lets open up some fields in your header by clicking ADD HEADER twice.
It should look like this.
Now add your keys to the empty header fields.
6 – Sending your request
Submit your request by clicking SEND. The response may take a few seconds.
Your response should look something like the below.
If so, congrats and thank you for using CarMD’s API!
Response
Each response is broken down into two portions, one is the message which contains basic diagnostic results of the request and the other is the data.
Your Year, Make, Model, and Engine information will be contained in the ‘data’ field.