Trim filter values for one brand and model
brand and model are both required — omitting either is a 400.
Returns the trims flat in types, each carrying the model it belongs to, and again in grouped keyed by that model, so a sidebar can nest them under the model the user picked without regrouping client-side.
A model is stored under each source's own spelling of its name (5-Series, 5 Series, 5-серия). All of them are accepted here and their trims are returned once, under the one canonical name /api/models offers, with the counts summed.
Request
- Base URL: https://api.thecarapi.com
- URL: https://api.thecarapi.com/api/types
- Auth: one of:
- API key in header X-API-Key
- HTTP bearer
- API key in query parameter api_key
Query parameters
true restricts to damaged/broken vehicles, false to undamaged ones. Also accepts 1/0/yes/no.
true restricts to Buy-Now listings. Also accepts 1/0/yes/no.
ISO country code from /api/countries, or the pseudo-country europe. Accepted and ignored by /api/sites and /load-models.
Brand display name, slug (from /api/brands), or numeric brand_id.
Model name from /api/models. Comma-separated values select several.
Lower bound on registration year, inclusive.
Upper bound on registration year, inclusive.
Lower bound on production year, inclusive. production_year falls back to the registration year where the source publishes no build year, with registration-year fallback when build-year evidence is absent.
Upper bound on production year, inclusive.
Canonical fuel group from /api/fuels.
Canonical gearbox group from /api/gearboxes.
Lower bound on mileage in kilometres.
Upper bound on mileage in kilometres.
Lower bound on the public EUR price.
Upper bound on the public EUR price.
Trim / version, as listed by /api/types. Comma-separated values select several. Cars with no trim recorded are kept, so a trim filter narrows the list without hiding unclassified stock.
true restricts to auctions ending within roughly two hours.
Comma-separated source slugs from /api/sites, OR within the parameter. Case-insensitive; padding and empty members are ignored. An unknown slug is a 400 naming the offender.
Comma-separated source slugs to leave out. Same rules as site.
Substring filter on the facet value name.
Maximum facet values to return.
Which side the steering wheel is on. The parameter takes two values, left and right; lhd/left-hand/left_hand and rhd/right-hand/right_hand are equivalent spellings of them. Any other value is a 400.
Derived rather than stored. The side is taken from the car's registration market, so a car from an ISO country that drives on the left (GB, IE, JP, CY, MT, AU, NZ, ZA, IN, TH, HK, SG) is right and everything else is left. Every listing resolves to one side or the other, so the two values partition the inventory and their totals sum to the unfiltered total. The same value is published on each result as steering.
Accepted by /api/search, /api/listVehicles, /api/top-offers and every facet endpoint, which narrow their option lists by it. Sending it to a facet endpoint takes that request off the precomputed facet table and onto a live aggregate, so it is slower than an unfiltered facet call.
Headers
Echo back the ETag from your last response for this URL. An unchanged page answers 304 Not Modified with no body. ETags are weak, so the tag stays valid whether or not the body came back compressed.
Response
Trim values.
Example response
{
"success": true,
"contract_version": "2026-09-03",
"types": [
{
"name": "520d",
"count": 1612,
"model": "5-Series"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.