Search listings — ref filters + spec filters
Filters are entity refs, checked for grammar and then registry membership — an unknown ref returns a 400 naming it, never a silent fuzzy match. Sort: ?sort=<field>&order=<asc|desc>.
Request
- Base URL: https://api.cardog.app
- URL: https://api.cardog.app/v2/listings/search
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
Query parameters
Make ref, repeatable — e.g. "make:mini"
Model ref, repeatable — e.g. "model:mini/hardtop"
Nano ref (fungible build grain), repeatable — e.g. "nano:5TDGSKFCRS"
Body-style ref, repeatable — e.g. "body-style:sedan-saloon"
Fuel-type ref, repeatable — e.g. "fuel-type:electric"
Drive-type ref, repeatable — e.g. "drive-type:awd-all-wheel-drive"
Transmission ref, repeatable — e.g. "transmission:automatic"
Electrification-level ref, repeatable — e.g. "electrification-level:bev-battery-electric-vehicle"
Vehicle-type ref, repeatable — e.g. "vehicle-type:passenger-car"
Free-text trim (dealer-entered, no domain), repeatable
Seller id, repeatable
Normalized exterior color, repeatable
Normalized interior color, repeatable
Model year lower bound
Model year upper bound
Price lower bound
Price upper bound
Odometer lower bound
Odometer upper bound
Latitude (with lng + radius)
Longitude (with lat + radius)
Radius in km (with lat + lng)
Verified-only gate (defaults true)
Freshness floor on listing creation
Freshness floor on listing update
Canonical spec filter, dynamic keys: numeric attributes take spec.{id}.min/.max (e.g. spec.fuelEconomyCombined.min=35); availability attributes repeat tri-state values (spec.heatedSeatsFront=standard). Attribute ids come from GET /v2/specs/catalog; unknown ids 400 with the id named.
Page number
Page size
Sort field
Sort order
Response
Listings + pagination + echoed filters
Changes
No recorded changes to this operation across all 1 revision of this API.