GET/searchАвтомобили

Поиск автомобилей

Фильтрация активных автомобилей по всем включённым источникам. Результаты облегчённые: у каждого автомобиля есть флаги отчётов, но не сами отчёты.

  • vehicle_type=automobile / 1 — по умолчанию; motorcycle / 2 выбирает мотоциклы в /search, /search/count и /cars. В справочниках используйте тот же тип.
  • Полная вложенность: brands[] → models[] → generations[] → variants[] / trims[]. У каждого объекта бренда, модели и поколения обязателен id. Между соседями и значениями в списках variants/trims — ИЛИ; между условиями одной ветки — И. Отсутствующий или пустой дочерний список означает любых потомков. В каждом массиве до 100 элементов. Неизвестные или несовместимые ID дают пустой результат; неверный формат — 422.
  • Прежний brands[0][models][]=573 работает. Для потомков используйте brands[0][models][0][id]=573. Уберите прежнее поле добавления ID перед вводом объектов моделей этого бренда, иначе PHP перезапишет индекс 0.
  • is_auction принимает true/false/1/0. False включает false, null и отсутствующий флаг; отсутствие параметра отключает фильтр. Должен совпадать с is_leasing в одном активном объявлении доступного домена; другие объявления могут остаться в listings[].
  • perPage — от 2 до 50 (по умолчанию 50). perPage=1 возвращает 422.
  • Держите page × perPage не выше 10,000. Чтобы читать дальше, используйте /cars.
  • data может содержать perPage + 1 автомобилей, а meta.total ограничен 10,000. Для точного количества используйте /search/count.
  • sort=auction_nearest выбирает машины с предстоящим аукционом: auction_at >= now в активном объявлении выбранного домена. Передайте тот же sort в /search/count.
  • Сортировки по цене (cheaper, expensive) сравнивают цены в currency.
  • Используйте price для Buy Now, current_bid для текущей ставки, а /listing-fields — для доступных дополнительных сумм. Денежные сравнения требуют исходную валюту внутри каждого условия custom-field; суммы источника не пересчитываются.

Параметры запроса

48
Запрос, страницы и охват
vinstring1–19 chars

Частичный VIN без учёта регистра. Для точного VIN из 16–19 символов используйте /cars/vin/{vin}.

pageinteger≥ 1 · default 1

Номер страницы. Для /search явно передавайте perPage и соблюдайте page × perPage ≤ 10000. /search/count игнорирует пагинацию и пропускает эту проверку смещения.

perPageinteger2–50 · default 50

Размер страницы поиска: минимум 2, максимум 50. perPage=1 возвращает 422; для небольшой выборки используйте perPage=2. Если значения пагинации не переданы или равны null, используются page=1 и perPage=50, в том числе при проверке окна результатов поиска. Недопустимые значения возвращают 422.

sortstring

Sort order. Price sorting requires a resolved currency. auction_nearest selects only cars with an active listing in an enabled/selected domain with auction_at >= now; past dates do not participate in sorting. Pass the same sort to /search/count for a matching count.

currencystring3 chars · default usd

Код валюты без учёта регистра для фильтрации/сортировки по цене. Должен существовать в справочнике валют. Не конвертирует цены объявлений в ответе.

currency_idinteger≥ 1

Необязательный внутренний ID валюты; имеет приоритет над currency.

domains[]integer[]≥ 1

Необязательный набор источников. Используйте ID, возвращаемые GET /domains. Если не указан, используются все включённые домены. Повторяйте параметр со скобками: domains[]=33&domains[]=34. Каждый ID должен быть включён для этого ключа.

vehicle_typestringdefault automobile

vehicle_type=automobile / 1 — по умолчанию; motorcycle / 2 выбирает мотоциклы в /search, /search/count и /cars. В справочниках используйте тот же тип.

langstring

Локаль ответа. Переводы опций также ограничены языками аккаунта. Страница автоматически подставляет текущий язык.

Марка, модель и местоположение
brands[0][id]integer≥ 1

Полная вложенность: brands[] → models[] → generations[] → variants[] / trims[]. У каждого объекта бренда, модели и поколения обязателен id. Между соседями и значениями в списках variants/trims — ИЛИ; между условиями одной ветки — И. Отсутствующий или пустой дочерний список означает любых потомков. В каждом массиве до 100 элементов. Неизвестные или несовместимые ID дают пустой результат; неверный формат — 422.

brands[0][models][]integer[]≥ 1 · ≤ 100 items

Прежний brands[0][models][]=573 работает. Для потомков используйте brands[0][models][0][id]=573. Уберите прежнее поле добавления ID перед вводом объектов моделей этого бренда, иначе PHP перезапишет индекс 0.

brands[0][models][0][id]integer≥ 1

Полная вложенность: brands[] → models[] → generations[] → variants[] / trims[]. У каждого объекта бренда, модели и поколения обязателен id. Между соседями и значениями в списках variants/trims — ИЛИ; между условиями одной ветки — И. Отсутствующий или пустой дочерний список означает любых потомков. В каждом массиве до 100 элементов. Неизвестные или несовместимые ID дают пустой результат; неверный формат — 422.

brands[0][models][0][generations][0][id]integer≥ 1

Полная вложенность: brands[] → models[] → generations[] → variants[] / trims[]. У каждого объекта бренда, модели и поколения обязателен id. Между соседями и значениями в списках variants/trims — ИЛИ; между условиями одной ветки — И. Отсутствующий или пустой дочерний список означает любых потомков. В каждом массиве до 100 элементов. Неизвестные или несовместимые ID дают пустой результат; неверный формат — 422.

brands[0][models][0][generations][0][variants][]integer[]≥ 1 · ≤ 100 items

Полная вложенность: brands[] → models[] → generations[] → variants[] / trims[]. У каждого объекта бренда, модели и поколения обязателен id. Между соседями и значениями в списках variants/trims — ИЛИ; между условиями одной ветки — И. Отсутствующий или пустой дочерний список означает любых потомков. В каждом массиве до 100 элементов. Неизвестные или несовместимые ID дают пустой результат; неверный формат — 422.

brands[0][models][0][generations][0][trims][]integer[]≥ 1 · ≤ 100 items

Полная вложенность: brands[] → models[] → generations[] → variants[] / trims[]. У каждого объекта бренда, модели и поколения обязателен id. Между соседями и значениями в списках variants/trims — ИЛИ; между условиями одной ветки — И. Отсутствующий или пустой дочерний список означает любых потомков. В каждом массиве до 100 элементов. Неизвестные или несовместимые ID дают пустой результат; неверный формат — 422.

countries[0][id]integer

Внутренний ID первой страны из /countries. Для дополнительных стран используйте countries[1][id] и т. д.

countries[0][regions][]integer[]

Необязательные внутренние ID регионов, относящихся к первой стране.

Диапазоны
seatsinteger1–200

Точное число посадочных мест.

price_fromint64≥ 0

Минимальная цена объявления в выбранной валюте. Максимум 9223372036854775807 (знаковое 64-битное целое); значения за пределами безопасных целых чисел JavaScript клиенты должны хранить как десятичный текст.

price_toint64≥ 1

Максимальная цена объявления в выбранной валюте. Максимум 9223372036854775807 (знаковое 64-битное целое); значения за пределами безопасных целых чисел JavaScript клиенты должны хранить как десятичный текст.

year_frominteger1,800–3,000

Минимальный год выпуска.

year_tointeger1,800–3,000

Максимальный год выпуска.

odometer_frominteger0–999,999,999

Минимальный пробег в километрах.

odometer_tointeger0–999,999,999

Максимальный пробег в километрах.

engine_volume_frominteger0–999,999,999

Минимальный объём двигателя.

engine_volume_tointeger0–999,999,999

Максимальный объём двигателя.

power_hp_frominteger0–100,000

Минимальная мощность в лошадиных силах.

power_hp_tointeger1–100,000

Максимальная мощность в лошадиных силах.

Флаги
is_leasingboolean

Необязательный фильтр лизинга. Передайте true (или 1) для объявлений, явно помеченных is_leasing=true. Передайте false (или 0), чтобы исключить true, включая сохранённые false, null и отсутствующие поля. Не передавайте, чтобы не фильтровать по лизингу; пустые или недопустимые значения возвращают 422. У автомобиля должно быть хотя бы одно подходящее активное объявление во включённом/выбранном наборе доменов. Другие объявления могут остаться в ответе, поэтому автомобили со смешанными типами объявлений могут соответствовать обоим значениям. Для /cars задайте его в первом запросе и следуйте next_url без изменений; false сохраняется. При продолжении только со scroll_id фильтр сохраняется. Изменение или добавление фильтра посреди прокрутки возвращает 422. Если сохранённое в кэше состояние фильтра утеряно или прокрутка начата до появления этого параметра, явное значение возвращает 422; начните новую прокрутку.

is_auctionboolean

Optional auction filter. Send true (or 1) for listings explicitly marked is_auction=true. Send false (or 0) to exclude true, including stored false, null and missing fields. Omit for no auction filter; empty or invalid values return 422. Combined is_auction and is_leasing must match the same listing. 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_availableinteger

У объявления есть ключи. Передайте 1 (true) или 0 (false). Не передавайте, чтобы учитывать оба значения; строки "true"/"false" не принимаются.

is_manufacturer_certifiedinteger

Объявление сертифицировано производителем или официальной дилерской программой. Передайте 1 (true) или 0 (false). Не передавайте, чтобы учитывать оба значения; строки "true"/"false" не принимаются.

has_inspectionsinteger

У корневого автомобиля есть публичный осмотр. Передайте 1 (true) или 0 (false). Не передавайте, чтобы учитывать оба значения; строки "true"/"false" не принимаются.

has_history_reportsinteger

У объявления в выбранном наборе доменов есть публичный отчёт об истории. Передайте 1 (true) или 0 (false). Не передавайте, чтобы учитывать оба значения; строки "true"/"false" не принимаются.

Категории
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.

transmissioninteger

One value.

seller_typeinteger

One value.

steering_wheel_positioninteger

One value.

airbagsinteger

One 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.

interior_colors[]integer[]≤ 100 items

ID цветов салона из справочника цветов. Внутри списка действует ИЛИ; отсутствующие значения не совпадают. Применяется в /search, /search/count и /cars. Не меняйте при продолжении scroll.

cylinders[]integer[]1–99 · ≤ 99 items

Точное число цилиндров (1–99), ИЛИ внутри списка; неизвестные значения не совпадают. Применяется в /search, /search/count и /cars. Не меняйте при продолжении scroll.

Дополнительные поля листингов

Загрузите /listing-fields после проверки ключа. Определения, ограничения, операторы и пояснения источников относятся только к этому ключу и выбранным доменам.

Для строк: eq, in, exists. Для чисел и дат также gt, gte, lt, lte. Для boolean: eq или exists. Выберите eq, in, exists либо диапазон; exists используется отдельно. До 20 полей и 100 значений в in.

Все условия, выбранные домены и активность должны совпасть в одном листинге. Ноль и false — настоящие значения. Для массива подходит совпадающий элемент. Неизвестные или недоступные поля/операторы возвращают 422.

Фильтровать можно только filterable-поля. Индексируемые значения находятся в listings[].custom_fields, остальные — в listings[].source_data. Публикация включает фильтры; значения заполняются при следующих штатных импортах. Старые документы отдельно не обновляются.

В /cars условия сохраняются на весь scroll. Несовместимое определение поля или потеря состояния фильтра требуют нового scroll. Сортировки и агрегации по этим полям не поддерживаются.

В примерах замените FIELD_KEY ключом из доступного вам каталога. Для денежных сравнений также укажите валюту самого листинга; пересчёт Buy Now здесь не применяется.

Исторические рыночные оценки источника — справочные неиндексируемые значения. Они описывают сопоставимые продажи, а не цену, ставку или резерв данного объявления. Проверяйте описание поля, критерии сравнения и дату расчёта; валюту листинга подставлять нельзя. Зарегистрированные числовые поля могут быть null, если оценки нет.

custom_fields[FIELD_KEY][gte]=2
custom_fields[FIELD_KEY][in][]=a&custom_fields[FIELD_KEY][in][]=b
custom_fields[FIELD_KEY][eq]=false
custom_fields[FIELD_KEY][lte]=15000&custom_fields[FIELD_KEY][currency]=cad

Дополнительные поля листингов

Подключите ключ, чтобы увидеть поля доступных вам доменов.

Возвращает · Страница объектов Car в data, с links и meta. Массивы inspections и vehicle_history_reports не включаются.
GET/search
curl -g "https://api.auctionsapi.com/search?perPage=5&api_key=$CARS_API_KEY" \
  -H "Accept: application/json"
ПримерыЗаписано
{3 keys
"data": [1 item
0: {21 keys
"id": "l_eCJb-8zB_XcJ-z6Y7oZWjw"
"has_inspections": true
"has_history_reports": true
"year": 2014
"month": 4
"vin": "wddhf0cb3ea952710"
"brand": {2 keys}
"model": {2 keys}
"engine_volume": 2143
"seats": 5
"body_type": {2 keys}
"transmission": {2 keys}
"transmission_steps": 6
"fuel": {2 keys}
"color": {2 keys}
"power_hp": 170
"market_origin": {2 keys}
"badge": "E220 CDI Avantgarde"
"option_ids": [53 items]
"listings": [1 item]
"hash": "093563801f92d9cfa23a07346b26b69db32df8da05d7c5ee60fa5fd876a7fe0b"
}
]
"links": {4 keys}
"meta": {7 keys}
}

Получите доступ к API

Подключите ключ, чтобы выполнять любой запрос с этих страниц на своих данных. Ключа ещё нет? Попросите у нас демо-ключ: тот же JSON, что и в платных тарифах.

У меня есть ключ