Авто.ру API для дилеров API

Отрасль: Маркетплейсы. Актуально на 2026-10-24.

API Авто.ру для автодилеров: управление объявлениями (снятие с продажи, активация, удаление, подключение платных услуг), личный кабинет дилера (баланс, тарифы, статистика), прайс-листы, звонки и колл-трекинг, аукционы звонков, бронирования, чаты, оценка стоимости автомобиля и каталог. Доступ к API выдаёт менеджер Авто.ру.

Сценарии

Подключиться и проверить баланс кабинета

Первый шаг интеграции дилерской системы: сессия, баланс и подключённые тарифы.

  1. Запроси токен авторизации у аккаунт-менеджера Авто.ру. Он передаётся в заголовке x-authorization в каждом запросе.
  2. Создай сессию: POST /auth/login с login (телефон или email) и password пользователя кабинета. В ответе session.id — передавай его в заголовке x-session-id во всех операциях с кабинетом и объявлениями.
  3. Сессия живёт долго (ttl_sec в ответе), поэтому храни её и создавай новую только после ответа 401, а не перед каждым запросом.
  4. Проверь баланс: GET /dealer/account, подключённые тарифы — GET /dealer/campaigns.
  5. Если работаешь через агентский аккаунт, добавляй x-dealer-id с ID клиента.
TOKEN='<токен от менеджера>'
SESSION=$(curl -s -X POST https://apiauto.ru/1.0/auth/login \
  -H "x-authorization: $TOKEN" -H 'Content-Type: application/json' -H 'Accept: application/json' \
  -d '{"login": "dealer@example.ru", "password": "<пароль>"}' | jq -r .session.id)

curl -s https://apiauto.ru/1.0/dealer/account  -H "x-authorization: $TOKEN" -H "x-session-id: $SESSION"
curl -s https://apiauto.ru/1.0/dealer/campaigns -H "x-authorization: $TOKEN" -H "x-session-id: $SESSION"

Снять с продажи проданные автомобили

Синхронизация со складом дилера: машина продана в салоне — объявление снимается с Авто.ру, вернулась в продажу — активируется.

  1. Найди объявление по VIN: GET /user/offers/{category} с category = cars, vin и status = active. Для обхода всего склада листай page и page_size (до 100 объявлений на странице).
  2. Сними объявление с продажи: PUT /user/offers/{category}/{offerID}/hide. Объявление остаётся в кабинете и не удаляется.
  3. Если сделка сорвалась, верни его: POST /user/offers/{category}/{offerID}/activate.
  4. Удалять объявление насовсем — DELETE /user/offers/{category}/{offerID} — стоит только для ошибочных объявлений: снятое можно вернуть, удалённое — нет.
  5. Ответ 404 — объявление не найдено: проверь категорию и ID.
H=(-H "x-authorization: $TOKEN" -H "x-session-id: $SESSION" -H 'Accept: application/json')

OFFER=$(curl -s -G https://apiauto.ru/1.0/user/offers/cars "${H[@]}" \
  -d vin=XW8ZZZ61ZJG012345 -d status=active | jq -r '.offers[0].id')

curl -s -X PUT "https://apiauto.ru/1.0/user/offers/cars/$OFFER/hide" "${H[@]}"

Продвинуть объявления платными услугами

Поднять в выдаче или выделить автомобили, которые долго стоят на складе.

  1. Выбери объявления без продвижения: GET /user/offers/{category} с status = active, no_active_services = true и create_date_to — например, старше 30 дней.
  2. Посмотри, как они смотрятся: GET /user/offers/{category}/{offerID}/stats — статистика просмотров.
  3. Подключи услугу: POST /user/offers/{category}/{offerID}/products с products[].code — all_sale_fresh (поднятие), all_sale_premium (премиум) и т. д. Для all_sale_badge добавь badges — до трёх рекламных текстов.
  4. Ответ 402 — на балансе не хватает средств: проверь GET /dealer/account и не повторяй запрос, пока баланс не пополнен.
  5. Отключить услугу можно тем же путём методом DELETE.
curl -s -X POST "https://apiauto.ru/1.0/user/offers/cars/1022557788-4a6efe8b/products" \
  -H "x-authorization: $TOKEN" -H "x-session-id: $SESSION" \
  -H 'Content-Type: application/json' -H 'Accept: application/json' \
  -d '{"products": [{"code": "all_sale_fresh"}, {"code": "all_sale_badge", "badges": ["Один владелец", "Гарантия"]}]}'

Базовые URL

Авторизация

Тип: API-ключ

Токен авторизации запрашивают у аккаунт-менеджера Авто.ру и передают в заголовке x-authorization в каждом запросе. Операции с объявлениями и кабинетом дилера дополнительно требуют сессию пользователя: её получают методом POST /auth/login и передают в заголовке x-session-id. При работе через агентский аккаунт клиента указывают в x-dealer-id.

curl -i -X GET 'GET https://apiauto.ru/1.0/dealer/account' -H 'x-authorization: fefernrjkgnerkj3453445...'

Методы

POST /auth/login — Создание сессии

Пример ответа (сокращён):

Параметр Где Тип Обяз. Описание
x-authorization header string да Токен авторизации
login body string да Логин: телефон или email
password body string да Пароль

Пример запроса:

curl -i -X POST 'https://apiauto.ru/1.0/auth/login' -H 'x-authorization: 2dtrer432...' -d '{"login":"ivan-ivanov@auto.ru","password":"autoru"}' -H 'Accept: application/json' -H 'Content-Type: application/json'

Пример ответа:

{
"session": {
"id": "11112233|152...019.777..0.oWEL...JwyqRHw...",
"user_id": "11112233",
"device_uid": "76ebe2f87d5850c5c12...",
"creation_timestamp": "2018-05-28T14:33:39.697Z",
"expire_timestamp": "2018-08-26T14:33:39.697Z",
"ttl_sec": 7776000
},
"status": "SUCCESS"
}

POST /auth/logout — Завершение сессии

Завершает сессию пользователя.

GET /dealer/account — Баланс дилера

Параметр Где Тип Обяз. Описание
x-authorization header string да Токен авторизации
x-session-id header string да Сессия пользователя

GET /dealer/campaigns — Подключённые тарифы дилера

Список тарифов, подключённых дилеру.

GET /user/offers/{category} — Список объявлений

Параметр Где Тип Обяз. Описание
category path string да cars, moto, trucks или all
x-session-id header string да Сессия пользователя
x-dealer-id header string нет ID клиента для агентского аккаунта
page query integer нет Номер страницы, 1–1000
page_size query integer нет Объявлений на странице, максимум 100
status query string нет active, inactive или banned; можно повторять
section query string нет NEW или USED
sort query string нет cr_date-asc (по умолчанию), cr_date-desc, price-asc, price-desc
price_from query number нет Цена от
price_to query number нет Цена до
vin query string нет VIN; можно повторять
mark_model query string нет Марка и модель через %23, например MERCEDES%23C_KLASSE
service query string нет Фильтр по услуге, например all_sale_premium
create_date_from query string нет Дата создания от, ISO 8601
create_date_to query string нет Дата создания до, ISO 8601
no_active_services query boolean нет Только объявления без услуг
auction query boolean нет Только объявления в аукционе

PUT /user/offers/{category}/{offerID}/hide — Снять объявление с продажи

Параметр Где Тип Обяз. Описание
category path string да Категория
offerID path string да ID объявления

POST /user/offers/{category}/{offerID}/activate — Активировать объявление

Возвращает в продажу ранее снятое объявление.

Параметр Где Тип Обяз. Описание
category path string да Категория
offerID path string да ID объявления

DELETE /user/offers/{category}/{offerID} — Удалить объявление

Параметр Где Тип Обяз. Описание
category path string да Категория
offerID path string да ID объявления

POST /user/offers/{category}/{offerID}/products — Подключить услуги объявлению

Отключение услуг — DELETE /user/offers/{category}/{offerID}/products.

Параметр Где Тип Обяз. Описание
category path string да cars, moto, trucks или all
offerID path string да ID объявления
x-session-id header string да Сессия пользователя
products body array да Подключаемые услуги
products[].code body string да all_sale_fresh (поднятие), all_sale_premium (премиум), all_sale_special (спецпредложение), package_turbo (турбо-продажа), reset (сброс)
products[].badges body array нет Рекламные тексты для услуги all_sale_badge, до трёх

Пример запроса:

curl -i -X POST 'https://apiauto.ru/1.0/user/offers/cars/1022557788-4a6efe8b/products' -H 'x-authorization: 2dtrer432...' -d '{"products":[{"code": "all_sale_fresh"}]}' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'x-session-id: 112_aoR02Tpv...'

Пример ответа:

{
"status": "SUCCESS"
}

GET /user/offers/{category}/{offerID}/stats — Статистика объявления

Статистика просмотров объявления.

POST /feeds/tasks/cars/{section} — Ручная загрузка прайс-листа

Загрузка прайс-листа легковых автомобилей; история загрузок — GET /feeds/history.

POST /stats/predict — Оценка стоимости

Оценка стоимости автомобиля по его параметрам. Оценка по VIN или госномеру — POST /stats/partner/predict_by_vin_or_lp.

POST /calltracking — Звонки дилера

Список звонков дилера; статистика по дням — POST /calltracking/aggregated.

Нюансы

Ошибки

Код Описание
400 Синтаксическая ошибка в запросе
401 Не удалось авторизовать пользователя
402 Недостаточно средств для оплаты
404 Объявление не найдено
500 Внутренняя ошибка сервера

Источники


Если этого недостаточно — официальная документация: https://yandex.ru/dev/autoru/doc/ru/ JSON: https://mcp-everything.ru/api/integrations/autoru. MCP: https://mcp-everything.ru/mcp