Discover/Edmunds API
live

Edmunds APIedmunds.com

Search new and used car listings on Edmunds by make, model, year, and ZIP. Retrieve full vehicle details by VIN including price, specs, dealer info, and history.

Endpoint health
verified 4d ago
search_inventory
get_vehicle_details
get_makes
3/3 passing latest checkself-healing
Endpoints
3
Updated
21d ago

What is the Edmunds API?

The Edmunds API gives developers access to 3 endpoints covering car inventory search, VIN-level vehicle details, and a full list of available makes. The search_inventory endpoint returns up to 21 listings per request with fields like price, mileage, trim, driveType, and transmission. The get_vehicle_details endpoint provides dealer information, ownership history, and CPO/used/new status for any 17-character VIN found on Edmunds.

Try it

No input parameters required.

api.parse.bot/scraper/37c43a2b-0815-4e77-a389-93f5080c3359/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/37c43a2b-0815-4e77-a389-93f5080c3359/get_makes' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace edmunds-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Edmunds SDK — search car inventory and inspect vehicle details."""
from parse_apis.edmunds_api import Edmunds, Condition, VehicleNotFound

client = Edmunds()

# List available car makes
for make in client.makes.list(limit=5):
    print(make.name, make.nice_name)

# Search used Honda vehicles near NYC
vehicle = client.vehicles.search(
    make="honda", condition=Condition.USED, zip="10001", limit=1
).first()

if vehicle:
    print(vehicle.year, vehicle.make, vehicle.model, vehicle.trim)
    print(vehicle.price, vehicle.mileage, vehicle.deal_rating)
    print(vehicle.dealer.name, vehicle.dealer.city, vehicle.dealer.state)

    # Fetch full details by VIN
    try:
        detail = client.vehicles.get(vin=vehicle.vin)
        print(detail.exterior_color, detail.interior_color)
        print(detail.transmission, detail.drive_type, detail.fuel_type)
    except VehicleNotFound as exc:
        print(f"Vehicle no longer listed: {exc.vin}")

print("exercised: makes.list / vehicles.search / vehicles.get")
All endpoints · 3 totalmissing one? ·

Retrieves the full list of car makes available in Edmunds used car inventory. Each make includes a display name and a URL-friendly slug (niceName). The list includes both current and discontinued brands (69 total). No pagination or filtering — returns all makes in a single response.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "makes": "array of objects with name (display name) and niceName (URL-friendly slug)"
  },
  "sample": {
    "data": {
      "makes": [
        {
          "name": "Honda",
          "niceName": "honda"
        },
        {
          "name": "Toyota",
          "niceName": "toyota"
        },
        {
          "name": "BMW",
          "niceName": "bmw"
        }
      ]
    },
    "status": "success"
  }
}

About the Edmunds API

Endpoints Overview

The API exposes three endpoints. get_makes returns an array of all car makes currently listed in Edmunds used car inventory, each with a name (display label) and niceName (the URL-friendly slug used as input to other endpoints). search_inventory accepts up to five optional filters — zip, make, model, year, and condition — and returns a listings array alongside a count (results in this response) and total (full match count across all pages). Each listing includes vin, price, mileage, year, make, model, trim, bodyType, colors, transmission, driveType, and fuel type.

VIN Detail Lookup

get_vehicle_details takes a single required input — a 17-character vin — and returns a richer object than the inventory search. Response fields include price, type (USED, NEW, or CPO), usage, owners (number of previous owners), trim, and a dealer object with name, city, state, and distance. This endpoint is the right choice when you need authoritative details on a specific listing rather than browsing a result set.

Filtering and Pagination Notes

All search_inventory filter parameters are optional, so an unfiltered call returns the broadest available inventory. The make and model inputs expect niceName slugs (e.g., honda, civic) — use the values returned by get_makes to construct valid queries. Results are capped at 21 listings per request; the total field tells you how many matches exist overall, but offset or cursor pagination is not exposed as an input parameter in this version.

Reliability & maintenanceVerified

The Edmunds API is a managed, monitored endpoint for edmunds.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when edmunds.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official edmunds.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a used car price tracker that monitors listing prices for a specific make/model/year combination over time.
  • Aggregate dealer inventory by ZIP code to surface local availability for a given vehicle type.
  • Enrich a VIN database with ownership count, CPO status, and dealer location from get_vehicle_details.
  • Power a car comparison tool that pulls trim, driveType, and transmission data from search_inventory results.
  • Generate a lead list of dealers carrying specific models by extracting the dealer object from VIN detail responses.
  • Validate or categorize vehicles in an existing dataset by resolving VINs against Edmunds listings.
  • Populate a used car marketplace feed by filtering inventory on condition, make, and geographic ZIP.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Edmunds have an official developer API?+
Edmunds previously offered a public developer API at developer.edmunds.com, but that program has been discontinued and new API keys are no longer issued.
What does the search_inventory endpoint return, and can I paginate through all results?+
Each call returns up to 21 listings alongside a count field for results in that response and a total field for the full match count. Offset or page-number parameters are not currently exposed as inputs, so you cannot step through additional pages within this API version.
Does get_vehicle_details return full vehicle history reports (accidents, title events)?+
Not currently. The endpoint returns owners (number of previous owners), type (USED/NEW/CPO), usage, and dealer info, but does not expose accident records, title events, or odometer rollback flags. You can fork this API on Parse and revise it to add an endpoint pulling from a dedicated vehicle history source.
Can I search new car inventory in addition to used listings?+
Yes. The condition parameter on search_inventory accepts used or new, so you can target either segment or omit the parameter to return both.
Is vehicle review or expert rating data available through this API?+
Not currently. The API covers inventory listings, VIN-level specs and dealer data, and the makes list. Editorial reviews, expert scores, and consumer ratings are not included in any of the three endpoints. You can fork the API on Parse and revise it to add an endpoint targeting Edmunds review pages.
Page content last updated . Spec covers 3 endpoints from edmunds.com.
Related APIs in AutomotiveSee all →
autotrader.com API
Search Autotrader.com vehicle listings and access detailed information like pricing, specifications, and VIN data with flexible filtering options. Browse all available vehicle makes and models to refine your search across thousands of listings.
cars.com API
Search for vehicles on Cars.com using filters like price, make, and model, then get detailed specifications and dealer inventory information for any listing you're interested in. Access comprehensive vehicle details including pricing, features, and dealer contact information all in one place.
carvana.com API
Search Carvana's used car inventory by make, model, price, fuel type, and more. Retrieve paginated listings with pricing, specs, and delivery details, or fetch comprehensive information for a specific vehicle by ID.
carsforsale.com API
Search vehicle listings and browse detailed car inventory by make, model, and trim to find the perfect vehicle on CarsForSale.com. Access comprehensive listing details including pricing, specifications, and availability all in one place.
carmax.com API
Search CarMax's inventory to find vehicles by make, model, price, and features, then access detailed specs, photos, and pricing for any car that interests you. Locate nearby CarMax stores, view their hours and contact information, and browse the specific inventory available at each location.
carfax.com API
carfax.com API
carsales.com API
Search for cars on Carsales and retrieve detailed listings with technical specifications, makes, and models. Filter and browse available vehicles by make to find exactly what you're looking for.
autobidmaster.com API
Search and browse vehicle auction inventory with detailed lot information, filters by make, type, body style, and damage condition, plus discover featured items and auction locations. Find the perfect vehicle by accessing comprehensive inventory data and exploring popular makes and damage types across AutoBidMaster auctions.