/search/countVehiclesCount matching vehicles
Count the cars that match a filter set. Accepts every /search filter; pagination and sort are ignored.
- Exact, unlike
meta.totalon /search, which stops at 10,000. - No matches returns
{"count": 0}with status 200.
Query parameters
41querystring≤ 200 charsFull-text vehicle search. Omit unused filters.
vinstring1–19 charsCase-insensitive partial VIN. For an exact 16–19 character VIN, use /cars/vin/{vin}.
pageinteger≥ 1 · default 1Page number. For /search, explicitly pass perPage and keep page × perPage ≤ 10000. /search/count ignores pagination and skips this offset check.
perPageinteger2–50 · default 50Search page size: minimum 2, maximum 50. perPage=1 returns 422; use perPage=2 to fetch a small sample. Omitted or null pagination values use page=1 and perPage=50, including the search result-window check. Invalid values return 422.
sortstringSort order. Price sorting requires a resolved currency.
currencystring3 chars · default usdCase-insensitive currency code for price filtering/sorting. Must exist in the currency dictionary. Does not convert serialized listing prices.
currency_idinteger≥ 1Optional internal currency ID; overrides currency.
domains[]integer[]≥ 1Optional source scope. Use IDs returned by GET /domains. Omit to use all enabled domains. Repeat the bracketed parameter: domains[]=33&domains[]=34. Every ID must be enabled for this key.
langstringResponse locale. Option translations are also limited by the account languages. The page selects its current language automatically.
brands[0][id]integerFirst brand ID from /brands. Additional brands use brands[1][id], etc.
brands[0][models][]integer[]Optional model IDs for the first brand, returned by /models/{brand_id}. Omit for all models.
countries[0][id]integerFirst internal country ID from /countries. Additional countries use countries[1][id], etc.
countries[0][regions][]integer[]Optional internal region IDs belonging to the first country.
seatsinteger1–200Exact seating capacity.
price_fromint64≥ 0Minimum listing price in the selected currency. Maximum 9223372036854775807 (signed 64-bit integer); values beyond JavaScript safe integers must be preserved as decimal text by clients.
price_toint64≥ 1Maximum listing price in the selected currency. Maximum 9223372036854775807 (signed 64-bit integer); values beyond JavaScript safe integers must be preserved as decimal text by clients.
year_frominteger1,800–3,000Minimum production year.
year_tointeger1,800–3,000Maximum production year.
odometer_frominteger0–999,999,999Minimum mileage in kilometres.
odometer_tointeger0–999,999,999Maximum mileage in kilometres.
engine_volume_frominteger0–999,999,999Minimum engine displacement.
engine_volume_tointeger0–999,999,999Maximum engine displacement.
power_hp_frominteger0–100,000Minimum power in horsepower.
power_hp_tointeger1–100,000Maximum power in horsepower.
is_leasingbooleanOptional leasing filter. Send true (or 1) for listings explicitly marked is_leasing=true. Send false (or 0) to exclude true, including stored false, null and missing fields. Omit for no leasing filter; empty or invalid values return 422. A car must have at least one matching active listing in the enabled/selected domain scope. Other listings can remain in the response, so cars with mixed listing types can match both values. For /cars, set this on the first request and follow next_url unchanged; false is preserved. Continuing with only scroll_id retains the filter. Changing or adding the filter mid-scroll returns 422. If cached filter state is lost or the scroll predates this parameter, an explicit value returns 422; start a new scroll.
keys_availableintegerListing has keys. Send 1 (true) or 0 (false). Omit for either value; strings "true"/"false" are rejected.
is_manufacturer_certifiedintegerListing is certified by the manufacturer or official dealer program. Send 1 (true) or 0 (false). Omit for either value; strings "true"/"false" are rejected.
has_inspectionsintegerRoot car has a public inspection. Send 1 (true) or 0 (false). Omit for either value; strings "true"/"false" are rejected.
has_history_reportsintegerA listing in the selected domain scope has a public history report. Send 1 (true) or 0 (false). Omit for either value; strings "true"/"false" are rejected.
body_types[]integer[]Repeat to match any of the values.
colors[]integer[]Repeat to match any of the values.
fuels[]integer[]Repeat to match any of the values.
transmissionintegerOne value.
seller_typeintegerOne value.
steering_wheel_positionintegerOne value.
airbagsintegerOne value.
damages[]integer[]Repeat to match any of the values.
conditions[]integer[]Repeat to match any of the values.
availabilities[]integer[]Repeat to match any of the values.
emissions[]integer[]Repeat to match any of the values.
drive_wheels[]integer[]Repeat to match any of the values.
{"count": integer}/search/countcurl -g "https://api.lotarius.com/search/count?api_key=$CARS_API_KEY" \
-H "Accept: application/json"