PullMonkey Blog

19 Feb

VIN API - VIN Decoder for anyone


UPDATES:
See Phase II details for complete dataset information.
Take a look at the PHP examples and the .NET examples.
And ... while it's been great being able to give this information away freely for about a year now, we have to share some of the cost with our users, so please read about our pricing model.
END UPDATES

VIN API came about through lots of work on a current project of ours - Mr. Quotey.  We are dealing with auto insurance and wanted a way to decode VINs.  The other solutions we found (API-wise) were too expensive for our small, unfunded startup.  So like the way most great things come about, we decided to build our own VIN decoding API.

Using VIN API:

This is explained in detail at VIN API's site, but I will give you a look at what it does here.

If you use Ruby on Rails like I do, then you have the option to use ActiveResource:

Then you can use it like this:

Current Limitations:

Right now each account is limited to 20 VIN requests a month, we are looking to take it slow and prevent abuse.  If you do need more VIN decodings a month, feel free to let us know at Mr. Quotey, we'd be happy to up the max for your account.

Where to next?:

It is too soon to really tell.  We'd like your feedback and to know if this service is useful.  If it gets enough buzz, we would probably pursue it a bit more and drop the monthly limitations.



25 Responses to “VIN API - VIN Decoder for anyone”

  1. By Kerry Wilson on Feb 24, 2010 | Reply

    Nicely done, not sure I would ever use it, but outstanding nonetheless.

  2. By charlie on Feb 25, 2010 | Reply

    Thanks Mr. Wilson — it is sort of one of those niche needs isn’t it? It is picking up a little interest though.

  3. By Marat on Apr 10, 2010 | Reply

    I can’t login, there is some error :-(

  4. By charlie on Apr 13, 2010 | Reply

    I see your account. I’ll email you.

  5. By charlie on Apr 14, 2010 | Reply

    Actually, I just added a “reset password” page for you off of the login page.
    http://vinapi.skizmo.com/forgot

  6. By Matthew on Apr 20, 2010 | Reply

    This is an awesome solution for a lot of companys, actually. Can’t thank you enough for providing this.

  7. By Matthew on Apr 20, 2010 | Reply

    Super duper impressed with this API. I’ll definitely be using it. Couple of questions:

    1) Do you have a rate limit?
    2) Do the results come through in all-caps because that is how it is in your data? If you are capping it before sending it through the API, it is more useful for *some* (meaning me) to have the data in its original form (hopefully proper case).

  8. By charlie on Apr 22, 2010 | Reply

    1) It’s limited to 20 free, unique requests per month right now, since I am still getting feedback.
    2) I don’t change any of the data, I send it in original form.

  9. By charlie on Apr 22, 2010 | Reply

    @Matthew - glad you like it, spread the word :)

  10. By Matthew on Apr 30, 2010 | Reply

    Hi Charlie. I sent an email about possibly getting a larger rate limit in exchange for writing a C# library and never heard back from your team. Should I take that as a “no”?

  11. By charlie on May 1, 2010 | Reply

    Matthew - sorry about taking so long to get back to your email. It’s definitely not a “no” and we look forward to working with you.

  12. By Jeremy Randolph on May 15, 2010 | Reply

    I emailed a few days ago and haven’t received a reply back. I’d also like to know about changing the rate.

  13. By charlie on May 17, 2010 | Reply

    We are a few days behind on email with regards to VIN API and its 20 requests a month limit. A lot more interest than we anticipated :)

  14. By John Sig on Nov 3, 2010 | Reply

    DO you have an example of using this with
    PHP 5 and curl?

  15. By charlie on Nov 3, 2010 | Reply

    Hey John,

    I can help you come up with one, but other than the curl example at the bottom of vinapi.skizmo.com, I don’t have anything for you.
    I know that vinapi has been used with php, hopefully one of those users can offer up an example for you.

  16. By Vitalik on Nov 16, 2010 | Reply

    Here is an example of how to use this with php:

    ##SCRIPT##

    ##END OF SCRIPT##

    In this instance I have this script triggered when a vin is set in the url (example.com/vin.php?vin=VIN_NUMBER_HERE)

    You can just remove the if statement and set your own way to retrieve the vin and just use ## echo decodeVIN($vin); ## to trigger the function.

    BTW DONT FORGET TO CHANGE THE “YOUR_API_KEY_GOES_HERE” WITH YOUR API KEY

  17. By Vitalik on Nov 16, 2010 | Reply

    Apparently the PHP script was cut out from above, so here it is below (hope it works this time).

    ##SCRIPT##

    ##END OF SCRIPT##

  18. By Mike on Jan 14, 2011 | Reply

    Anyone having success with the PHP implementation?

    I’m getting “The XML page cannot be displayed” (IE8), “Invalid at the top level of the document. Error processing resource…” (FF3.5 always returns “1″).

    Suggestions?

  19. By charlie on Jan 14, 2011 | Reply

    Maybe we have some invalid XML? I’ll try the PHP version tonight and see what I get.

  20. By charlie on Jan 15, 2011 | Reply

    Ok, so I think I figured it out.

    curl_exec return true or false, not what we want, we want it to return the result set if it is works and false if it fails.

    To do this, we need to set the return transfer option, so I added this line:
    curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);

    The php example has been updated to reflect this change.

    @Mike - Let me know how it goes for you.

  21. By Mike on Jan 17, 2011 | Reply

    That worked like a charm! Thanks!

  22. By Ruben Kazantsev on Jan 18, 2011 | Reply

    We are about to launch a Automotive CRM/ILM software and wanted to know if you would be able to support unlimited vin decode? I know currently you only support 20. Or would you know where I can get past and current vin decoder download where we can upload to our data base?

    Regards,
    Ruben

  23. By charlie on Jan 19, 2011 | Reply

    We have been bumping people to 2000 VINs per month, since we don’t have a pricing plan. Legally there is no way to offer unlimited VIN decodings, unless you want to sign a lot of contracts and pay some non-trivial amount of money. Sorry about that, but give me a solid estimate of VINs per month and we will work something out. I’ll tell you this though, our pricing plans will only have soft limits, meaning you will be charged the monthly rate for some number of VINs then charged for any additional VINs (based on whatever plan you pick), so it may work out, such that it seems unlimited :)

  24. By charlie on Jan 19, 2011 | Reply

    Oh and btw - I’ve upped your account to the 2000 VINs per month, so you can at least do something while we work out merchant account issues and pricing plans :(

  1. 1 Trackback(s)

  2. Simple VIN API for decoding Vehicle Identification Numbers « Gooder Code - web development blog, php, java, asp.net, html, javascript

Post a Comment