Guides
Search filter syntax
Filters go in the query string of /cars. All of them are optional and combine with AND.
Omit unused filters
Never send an empty value such as domain_id= or page=. Leave the parameter out.
Source and vehicle
domain_id=3 is Copart and domain_id=1 is IAAI. It selects vehicles with a matching listing; their nested lots can include other sources, so read lots[].domain.id.
Several manufacturers
manufacturer_id takes one string with comma-separated IDs, for example 16,20. Do not send an array.
Several statuses
Use repeated bracketed keys: status[]=4&status[]=5. Do not combine status and status[], and never send status=[].
VIN search
vin matches the whole stored VIN, case-insensitively. Use _ as a wildcard: YV1MC_ matches every VIN that starts with YV1MC. search_query accepts a VIN or a lot number.
Years
year is exact; from_year and to_year are inclusive bounds. On /cars they are applied together.
Auction dates
sale_date_from and sale_date_to are exclusive calendar dates (YYYY-MM-DD). sale_date_from overrides sale_date_in_days, and without_sale_date=1 overrides all three.
Recently changed
minutes=60 returns vehicles updated in the last hour. The supported range is 1–4320 minutes (72 hours).
Prices and odometer
buy_now_price_* and bid_price_* use stored source-price units without conversion or fees. If kilometer and mile bounds are both set, both must match.
Text filters
name, engine_name, damage and document_title are case-insensitive substrings. When damage or document_title matches nothing in its dictionary, the filter is not applied.