API Documentation

Let's dive right into the API documentation. If you're still unsure about what APIs are and how to get started, we highly recommend watching this video.

Getting Started

Before you you will be able go use the Edmunds API, you will need to read and agree to our Terms of Use.

Ready to rock and roll? Awesome.

  1. Register an account
  2.  Get your API Key(s) 
  3. Read the API Documentation or test it in the API Console  

The Edmunds APIs at a Glance

All our API calls have the following format:

http://api.edmunds.com/{version}/{call path}?{call parameters}&fmt={format}&api_key={api_key}&callback={fn}

So let's break it down:

Base URI http://api.edmunds.com/
API Version {version}
HTTP methods GET, POST
Response Format JSON

Now let's take a look at what lies within the braces within the API call.

Common Parameters

The following parameters may or may not be required in every single API call:

Name and Description Required? Default Value

version

The API version

Yes

v1

Note: If the version of a particular API is different, it will be called out on that API's documentation page

format

The API response format

Yes

json

Note: The format has to be always set to json. To return jsonp, you need to set the fn parameter described below.

api_key

The API Key

Yes Get your API Key now

fn

JSONP Callback function

No Pass the name of a JavaScript function in your code and our response will be wrapped around it

The {call path} and {call parameters} are specific to the API endpoints and will be called out explicitly for each endpoint.

Available APIs

The following APIs are currently available:

The Vehicle API

Everything you need to know about a vehicle from specs, features, photos, pricing, maintenace, and incentives to vehcile ratings, reviews, and VIN decoding capabilities. 

The Editorial API

Access to Edmunds.com's quality editorial content from editor reviews to vehicle-specific articles.

The Inventory API (partner-only)

All the data you need to help build a meaningful automotive experience for dealerships and their customers

The Dealer API

Get dealership information, ratings and reviews. All dealership details are available through this API

Examples

Request 1:

Get all information on BMW M3 2011

http://api.edmunds.com/v1/api/vehicle/bmw/m3/2011?api_key={api_key}&fmt=json

Response 1:

{
    "modelYearHolder": [
        {
            "makeId": 200000081,
            "makeName": "BMW",
            "makeNiceName": "bmw",
            "modelId": "BMW_M3",
            "modelName": "M3",
            "modelNiceName": "m3",
            "id": 100531349,
            "styles": [
                {
                    "link": "/api/vehicle/style/101287988",
                    "publicationState": "NEW",
                    "id": "101287988",
                    "name": "4dr Sedan (4.0L 8cyl 6M)"
                },
                {
                    "link": "/api/vehicle/style/101287990",
                    "publicationState": "NEW",
                    "id": "101287990",
                    "name": "2dr Convertible (4.0L 8cyl 6M)"
                },
                {
                    "link": "/api/vehicle/style/101287989",
                    "publicationState": "NEW",
                    "id": "101287989",
                    "name": "2dr Coupe (4.0L 8cyl 6M)"
                }
            ],
            "newDefaultStyle": {
                "link": "/api/vehicle/style/101287988"
            },
            "equipment": [
                {
                    "link": "/api/vehicle/equipment/200074965"
                },
                {
                    "link": "/api/vehicle/equipment/200074964"
                },
                {
                    "link": "/api/vehicle/equipment/200074967"
                },
                {
                    "link": "/api/vehicle/equipment/200074992"
                }
            ],
            "subModels": [
                {
                    "identifier": "Sedan",
                    "name": "M3 Sedan",
                    "ruleType": "body",
                    "styleIds": [
                        101287988
                    ],
                    "publicationStates": [
                        "NEW"
                    ],
                    "submodelNewDefaultStyle": {
                        "link": "/api/vehicle/style/101287988"
                    }
                },
                {
                    "identifier": "Coupe",
                    "name": "M3 Coupe",
                    "ruleType": "body",
                    "styleIds": [
                        101287989
                    ],
                    "publicationStates": [
                        "NEW"
                    ],
                    "submodelNewDefaultStyle": {
                        "link": "/api/vehicle/style/101287989"
                    }
                },
                {
                    "identifier": "Convertible",
                    "name": "M3 Convertible",
                    "ruleType": "body",
                    "styleIds": [
                        101287990
                    ],
                    "publicationStates": [
                        "NEW"
                    ],
                    "submodelNewDefaultStyle": {
                        "link": "/api/vehicle/style/101287990"
                    }
                }
            ],
            "midYear": false,
            "year": 2011,
            "model": {
                "link": "/api/vehicle/bmw/m3",
                "id": "BMW_M3",
                "name": "M3"
            },
            "name": "2011",
            "attributeGroups": {
                "MAIN": {
                    "id": 1,
                    "name": "MAIN",
                    "attributes": {
                        "NAME": {
                            "id": 1,
                            "name": "NAME",
                            "value": "M3"
                        },
                        "USE_IN_NEW": {
                            "id": 10,
                            "name": "USE_IN_NEW",
                            "value": "Y"
                        },
                        "YEAR": {
                            "id": 2,
                            "name": "YEAR",
                            "value": "2011"
                        },
                        "USE_IN_USED": {
                            "id": 11,
                            "name": "USE_IN_USED",
                            "value": "N"
                        },
                        "USE_IN_PRE_PRODUCTION": {
                            "id": 12,
                            "name": "USE_IN_PRE_PRODUCTION",
                            "value": "N"
                        },
                        "USE_IN_FUTURE": {
                            "id": 595,
                            "name": "USE_IN_FUTURE",
                            "value": "N"
                        },
                        "MODEL_LINK_CODE": {
                            "id": 20,
                            "name": "MODEL_LINK_CODE",
                            "value": "M030046"
                        }
                    }
                },
                "LEGACY": {
                    "id": 64,
                    "name": "LEGACY",
                    "attributes": {
                        "ED_MODEL_ID": {
                            "id": 3,
                            "name": "ED_MODEL_ID",
                            "value": "100531349"
                        }
                    }
                }
            },
            "categories": {
                "PRIMARY_BODY_TYPE": [
                    "Car"
                ],
                "Vehicle Size": [
                    "Midsize"
                ],
                "Vehicle Style": [
                    "Convertible",
                    "Sedan",
                    "Coupe"
                ],
                "Vehicle Type": [
                    "Car"
                ],
                "Tier Five  - Vehicle Market Perception": [
                    "Factory Tuner",
                    "Luxury",
                    "Performance",
                    "High-Performance"
                ]
            },
            "publicationStates": [
                "NEW"
            ]
        }
    ]
}

Request 2:

Get the True Market Valuetm on BMW M3 2011 4dr Sedan (4.0L 8cyl 6M)

http://api.edmunds.com/v1/api/tmv/tmvservice/calculatetypicallyequippedusedtmv?styleid=101287988&zip=90404&api_key={api_key}&fmt=json

Response 2:

{
    "tmv": {
        "certifiedUsedPrice": 0,
        "colorAdjustment": {
            "usedPrivateParty": 0,
            "usedTmvRetail": 0,
            "usedTradeIn": 0
        },
        "conditionAdjustment": {
            "usedPrivateParty": 0,
            "usedTmvRetail": 0,
            "usedTradeIn": 0
        },
        "estimatedTmv": false,
        "mileageAdjustment": {
            "usedPrivateParty": 0,
            "usedTmvRetail": 0,
            "usedTradeIn": 0
        },
        "nationalBasePrice": {
            "usedPrivateParty": 0,
            "usedTmvRetail": 0,
            "usedTradeIn": 0
        },
        "optionTMVPrices": {
            "200074977": {
                "baseInvoice": 2640,
                "baseMSRP": 2900,
                "deliveryCharges": 0,
                "estimateTmv": false,
                "tmv": 2713,
                "tmvRecommendedRating": 0,
                "usedPrivateParty": 0,
                "usedTmvRetail": 0,
                "usedTradeIn": 0
            },
            "200074983": {
                "baseInvoice": 955,
                "baseMSRP": 1050,
                "deliveryCharges": 0,
                "estimateTmv": false,
                "tmv": 982,
                "tmvRecommendedRating": 0,
                "usedPrivateParty": 0,
                "usedTmvRetail": 0,
                "usedTradeIn": 0
            },
            "200074993": {
                "baseInvoice": 365,
                "baseMSRP": 400,
                "deliveryCharges": 0,
                "estimateTmv": false,
                "tmv": 375,
                "tmvRecommendedRating": 0,
                "usedPrivateParty": 0,
                "usedTmvRetail": 0,
                "usedTradeIn": 0
            }
        },
        "regionalAdjustment": {
            "usedPrivateParty": 0,
            "usedTmvRetail": 0,
            "usedTradeIn": 0
        },
        "totalWithOptions": {
            "usedPrivateParty": 0,
            "usedTmvRetail": 0,
            "usedTradeIn": 0
        }
    }
}

Static Value Sets

Here's a list of values that will help you get the most of the Edmunds APIs.

Vehicle Types:

Car Truck SUV
Van Minivan



Vehicle Styles:

4dr Hatchback  Coup  Convertible  Sedan 
2dr Hatchback  Wagon Regular Cab Pickup  Extended Cab Pickup 
Crew Cab Pickup  2dr SUV  4dr SUV Convertible SUV
Cargo Van Passenger Van  Cargo Minivan Passenger Minivan 

Vehicle Sizes:

Compact   Midsize   Large  

API Call Rate Limit

All our APIs come with the standard 2 queries per second, and 5000 queries per day. Should an API offer a different call rate, we will note that out in the API's documentation page. Some API Keys might have different call rate limit. If you want us to increase your rate limit, please contact us at api [at] edmunds [dot] com.

Common Errors

While using our APIs, you might receive one or more of the following errors:

HTTP StatusDescription
400 Bad Request
401 Unauthorized
403 Forbidden
414 Request-URI Too Long
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout

Sample Error Response

JSON Response:

{ "error": {"code":400, "message":"Bad Request"}} 

JSONP Response:

somefunction({ "error": {"code":400, "message":"Bad Request"}});

Known Issues

We are aware and working on the following issues:

  • RESOLVED on 10/06/2011 - API response errors are formated in XML and not JSON. This breaks JSONP implementation of the API.

29 Comments

  1. Jo8n2 years ago

    Loving the API.

    The api [at] edmunds [dot] com address is bouncing saying security is required. Where should we send info about typos, etc. in the docs?

    Thanks!

  2. Ismail Elshareef2 years ago

    Thank you. We are fixing the problem right now.

  3. Ismail Elshareef2 years ago

    Hi, the api [at] edmunds [dot] com address is now open tor receive emails. It's always best to send private messages to that email. For bugs and documentation related questions, please feel free to post in the Forum.

    Thanks again for your feedback.

  4. John_Donnelly2 years ago

    Great API thanks for this. I have been checking out the vehicle API and the few methods I have used work great. However today I am getting an error. I am using the vehicle API as follows:

    http://api.edmunds.com/v1/api/makerepository/findnewandusedmakesbymodelyear?year=2005&api_key=xxxxxxxxxxxxxxxxxx&fmt=json

    I'm getting a 596 error as follows:

    Exception calling "DownloadString" with "1" argument(s): "The remote server returned an error: (596)."

    Can you give me some guidance?

    Thanks!

  5. smichaels2 years ago

    has the Photos Repository been removed?

  6. Ismail Elshareef2 years ago

    We're having several issues with the Photo service at the moment. Developers that have started using it are continuing to do so, but we took it off temporarily until the fix is implemented and will put it up next week.

    Are you using the repository at the moment? If yes, please email us at api [at] edmunds.com and will assist you further.

    Thank you.

  7. CarChat242 years ago

    Does Edmunds API have Automotive data for Canada as well?

  8. Ismail Elshareef2 years ago

    We only have US data at this point in time.

  9. Ismail Elshareef2 years ago

    The Photo Repository is now back up.

  10. Mikhail Kozlov1 year ago

    Would be really awesome if you made equipment details available on per style ID or in any the way so it does not requer trip to the server for each item.

    I know they all returned with style, but equipment link has data that can actually be used and not guessed. Thanks.

  11. Ismail Elshareef1 year ago

    Mikhail,

    You can get all related information on a style ID by using the fmt "full_json" instead of "json" Try it!

  12. Greg Melton1 year ago

    I have tried "full_json" but I am still getting links for the equipment detail links. For instance.{"link":"/api/vehicle/equipment/-10092082630"}. I am using the api/vehicle/stylerepository/findbyid? path as well as the find by vin version.

  13. Ismail Elshareef9 months ago

    Greg, that's the only way you can get equipment information on a style. It's tedious, I agree. We're working on simplifying it with version 2.

  14. y4d7 months ago

    Great API, just starting to use it. Just curious what's the easiest way to get all vehicles of a certain body type (sedan, coup, van, etc)? I can accomplish this with a great many calls but I'm wondering if there's an easier way.

    Thanks!

  15. Ismail Elshareef7 months ago

    Unfortunately, there's not a single easy call to accomplish this at this time. What are the calls you're trying out now?

  16. Atitkumar Shah7 months ago

    I am trying to access Dealer API but I am continuously getting error as: java.lang.IllegalAccessError: com/google/gson/ExclusionStrategy I am able to access Vehicle API successfully but this is only happening for Dealer API. I tried in API Console also but no luck. I'm wondering what is it that I am doing wrong here. Can someone please guide me?

  17. Ismail Elshareef7 months ago

    Atitkumar,

    We're running into issues with the API. We're working on fixing it right now.

    Thanks!

  18. Yogen7 months ago

    We want to get options (option name, price etc., so that end user can select appropriate options) based on selected style Id.

    Thanks!

  19. Ismail Elshareef7 months ago

    In the Style object (i.e. the response to all your Style Repository calls), you will find an "Equipment" object which contains URLs to all options and colors and other equipments that belong to this vehicle. You will be able to access them that way.

    Thanks! Ismail

  20. bertomart1233 months ago

    Hi, thanks for the great api. I can't seem to get a list of submodels. For example, if I have a make say "Acura" and a model say "MDX", (and also a year), which call do I make to get a list of sub-models. Looking over the functions, I didn't see one. Thanks!

  21. ek27583 months ago

    Hi, the amount of data is great! But is there away for to limit the fields to only those I am interested in (i.e., for the Style Repository, id, makeName, tmv, and usedTmvRetail)? Thanks!

  22. Ismail Elshareef3 months ago

    List of submodels are available in the models repository. Please check the API Console for more info. http://developer.edmunds.com/io-docs

  23. Ismail Elshareef3 months ago

    We're actually doing that in API 2.0 which will be available this year.

  24. J1 month ago

    When I try to get the format from the API call back as XML it comes in an odd character set. When I make the call in JSON it comes out normal to where it is readable. In suggestions direction?

  25. Ismail Elshareef1 month ago

    XML isn't supported for all API calls. Please use the API Console to test out the calls and all its possible formats.

    Thanks, Ismail

  26. westche1 month ago

    Hello - How can I get this API working in wordpress? Any pointers or help would be great !!!!!

  27. Ismail Elshareef1 month ago

    Hi,

    You can use the API on the client side using JavaScript and add that snippet as an HTML widget on your page. Does this make sense?

  28. Easy Trade In2 weeks ago

    i have website building for other. i'm working on it inside localhost (in my computer). but when use jQuery.ajax , can not query data :(. but same link i paste into address browser then it working fine. How can i use apis first for test and working website

  29. Easy Trade In2 weeks ago

    nevermind, sorry for above comment. i was found my problem. This start from my side. sorry for wrong question :). Your APIs if so pro !!

Please sign in to post a comment.