Auto.dev

Search Vehicle Listings

Get comprehensive vehicle listings from U.S. physical & online dealers. Returns an array of listings with detailed vehicle information, dealership data, specifications, and market pricing.

GET
/listings
AuthorizationBearer <token>

Use your API key in the Authorization header: Authorization: Bearer YOUR_API_KEY

In: header

Query Parameters

page?integer

Page number to retrieve (starting from 1)

Default1
limit?integer

Number of listings to return per page. Maximum 500. Per-plan caps (Free/Starter: 20, Growth: 100, Scale: 500) will be enforced in a future release; callers will be emailed before the change ships.

Default100
Range1 <= value <= 500
cursor?string

Opaque pagination token. Issued by the API in links.next at page 50+. Conflicts with ?page= — pick one mode. Follow the emitted cursor URL rather than constructing manually.

sort?string

Sort field with optional direction. Format: or .. Supported fields: createdAt, updatedAt, price, miles, mileage, year. Direction: asc or desc (default asc). Default when omitted: updatedAt.desc. Single field only; multi-column sort, random, and distance are not supported.

Default"updatedAt.desc"
Value in"createdAt" | "createdAt.asc" | "createdAt.desc" | "updatedAt" | "updatedAt.asc" | "updatedAt.desc" | "price" | "price.asc" | "price.desc" | "miles" | "miles.asc" | "miles.desc" | "mileage" | "mileage.asc" | "mileage.desc" | "year" | "year.asc" | "year.desc"
vehicle.year?string

The year of the vehicle. Use specific year (2018) or range (2018-2020)

Default""
vehicle.make?string

Vehicle manufacturer. Use comma for multiple: Ford,Chevrolet

Default""
vehicle.model?string

Vehicle model. Use comma for multiple: F-150,Silverado

Default""
vehicle.trim?string

Trim level. Use comma for multiple: XLT,LT

Default""
vehicle.bodyStyle?string

Body style. Use comma for multiple: sedan,coupe

Default""
vehicle.engine?string

Engine size. Use comma for multiple: 2.0L,3.5L

Default""
vehicle.transmission?string

Transmission type. Use comma for multiple: automatic,manual

Default""
vehicle.interiorColor?string

Exterior color. Use comma for multiple: white,black

Default""
vehicle.exteriorColor?string

Exterior color. Use comma for multiple: white,black

Default""
vehicle.doors?integer

Number of doors (2, 4, 5)

Default0
retailListing.price?string

Vehicle price. Use range: 10000-20000

Default""
retailListing.state?string

State where vehicle is located (e.g., CA)

Default""
retailListing.miles?string

Vehicle mileage. Use range: 10000-20000

Default""
retailListing.used?boolean

Used vs new. true for used vehicles, false for new.

retailListing.cpo?boolean

Certified Pre-Owned flag. true filters to CPO listings.

vehicle.fuel?string

Fuel type. Use comma for multiple: Gasoline,Hybrid,Electric,Plug-In Hybrid,Diesel.

Default""
zip?string

5-digit ZIP code to center the search around. Pair with distance for radius search.

Default""
distance?integer

Radius in miles from the zip ZIP code to include in results.

Default50
dealerId?string

Canonical dealer ID(s). Use comma for multiple: dlr_123,dlr_456.

Default""
dealerZip?string

ZIP code(s) the dealer is located in. Distinct from the top-level zip (buyer-center for radius search). Use comma for multiple.

Default""
includeUnpriced?boolean

Opt in to listings with retailListing.price = null. Off by default; zero/null-price rows are filtered out unless set to true.

Defaultfalse
includes?array<string>

Opt-in response extensions. total adds "total": <number> (matching rows ignoring pagination). facets adds a "facets": {...} object with bucketed counts and drill-down URLs per filterable dimension. Pass either or both as a comma-separated list; order is not significant (?includes=total,facets and ?includes=facets,total are equivalent).

select?string

Comma-separated list of field paths to project, e.g. vehicle.vin,vehicle.year,retailListing.price. Nested fields require dot notation (vehicle.vin, not vin); top-level fields without a nested equivalent (createdAt, updatedAt, location) use their bare name. When set, data[] rows come back with flat dot-keyed properties (e.g. "vehicle.year": 2025) rather than the nested objects of the default response. Omit to receive the full default response.

vin?string

17-character VIN to filter on as a query parameter. Equivalent to the /listings/{vin} path form but returns an array wrapper instead of a single-listing wrapper.

Response Body

curl -X GET "https://api.auto.dev/listings?page=1&limit=100&cursor=string&sort=createdAt&vehicle.year=&vehicle.make=&vehicle.model=&vehicle.trim=&vehicle.bodyStyle=&vehicle.engine=&vehicle.transmission=&vehicle.interiorColor=&vehicle.exteriorColor=&vehicle.doors=0&retailListing.price=&retailListing.state=&retailListing.miles=&retailListing.used=true&retailListing.cpo=true&vehicle.fuel=&zip=&distance=50&dealerId=&dealerZip=&includeUnpriced=false&includes=total&select=string&vin=string"

{
  "data": [
    {
      "@id": "https://api.auto.dev/listings/10ARJYBS7RC154562",
      "vin": "10ARJYBS7RC154562",
      "location": [
        -77.0334,
        40.2476
      ],
      "vehicle": {
        "vin": "10ARJYBS7RC154562",
        "squishVin": "10ARJYBSRC",
        "year": 2024,
        "make": "Jeep",
        "model": "Grand Cherokee",
        "trim": "4xe",
        "drivetrain": "4WD",
        "engine": "Plug-In Hybrid",
        "fuel": "Plug-In Hybrid",
        "transmission": "Automatic",
        "confidence": 0.005,
        "doors": 4,
        "seats": 5
      },
      "wholesaleListing": null,
      "retailListing": {
        "vdp": "http://details.vast.com/details/cars/...",
        "price": 0,
        "used": false,
        "cpo": false,
        "carfaxUrl": "https://www.carfax.com/VehicleHistory/p/Report.cfx?vin=10ARJYBS7RC154562&partner=FRD_2",
        "dealer": "Faulkner Dodge Ram Mechanicsburg New",
        "city": "Mechanicsburg",
        "state": "PA",
        "zip": "17050",
        "primaryImage": "https://retail.photos.vin/10ARJYBS7RC154562-1.jpg",
        "photoCount": 1
      },
      "history": null
    }
  ]
}