Папа БУ Попробовать 3 дня

API Авито: с чего начать

6 мин чтения · инструкция · для опытных · обновлено 2026-08-20

API Авито с чего начать — вопрос, у которого есть короткий ответ: с тарифа, а не с кода. Технически всё просто, это обычный HTTP с токеном в заголовке. Но половина людей, начинающих в пятницу вечером, к полуночи упирается не в синтаксис, а в то, что площадка не отдаёт нужные данные на их подписке.

Поэтому порядок такой: сначала проверяем условия доступа, потом создаём приложение в кабинете, потом делаем один самый простой запрос и убеждаемся, что он вернул осмысленный ответ. И только затем пишем что-то похожее на продукт.

Шаг 0. Проверить, что доступ вам вообще дадут

Разные разделы API открываются на разных условиях. Списки объявлений и статистика обычно доступны шире, а вот содержимое переписки с покупателями — только на тарифах, где есть API мессенджера. Это не техническое ограничение, которое обходится кодом, а коммерческое условие площадки.

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

Шаг 1. Приложение и ключи

В кабинете продавца есть раздел для разработчиков, где создаётся приложение. На выходе вы получаете два значения: публичный идентификатор клиента и секрет. Секрет — это пароль. Он не должен попадать в репозиторий, в скриншот в чате поддержки и в переменную, которую логирует ваш фреймворк при старте.

Практическое правило первого дня: сразу заведите файл с переменными окружения и добавьте его в исключения системы контроля версий. Переносить секреты в код «на время отладки» — самый популярный способ потом искать их по всей истории коммитов.

Шаг 2. Получить токен

Дальше идентификатор и секрет меняются на токен доступа: вы отправляете их в специальный запрос авторизации и получаете обратно строку токена и срок его жизни. Все последующие запросы несут этот токен в заголовке авторизации.

Точные адреса, имена параметров и формат ответа берите из официальной документации Авито. Их бессмысленно переписывать в статью: они уточняются, и устаревший фрагмент кода вреднее, чем его отсутствие. Что важно понимать сразу и что от версии не зависит: токен временный. Значит, ещё до первого полезного запроса стоит завести функцию, которая умеет получать токен заново и подставлять свежий. Об этом подробно — в отдельной статье про авторизацию.

Шаг 3. Первый осмысленный запрос

Хороший первый запрос — тот, который не меняет ничего. Например, получить данные своего аккаунта или список своих объявлений. Задача этого шага не в данных, а в том, чтобы убедиться: ключи верные, токен принимается, сеть проходит.

Псевдокод в любом языке выглядит одинаково:

token = get_token(client_id, client_secret)   # обмен ключей на токен
response = http_get(URL_СПИСКА_ОБЪЯВЛЕНИЙ, headers={"Authorization": "Bearer " + token})
if response.status == 401:                     # токен протух — обновить и повторить один раз
    token = get_token(client_id, client_secret)
    response = http_get(...)
print(response.status, response.body[:500])

Обратите внимание на две вещи, которых нет в большинстве примеров из интернета: печать статуса и печать куска тела ответа. Когда что-то пойдёт не так, вам нужен текст ошибки от площадки, а не исключение вашей библиотеки.

Шаг 4. Понять формат сущностей

Прежде чем строить логику, потратьте вечер на разглядывание ответов. Что вам действительно нужно знать:

  • как идентифицируется объявление и как — диалог;
  • где в сообщении лежит идентификатор, по которому можно понять, что это то же самое сообщение;
  • как отличить своё сообщение от сообщения покупателя (иначе бот начнёт отвечать сам себе);
  • какие поля могут отсутствовать. Отсутствующее поле — норма, а не аномалия.

Последний пункт экономит больше всего времени. Код, написанный по одному удачному примеру ответа, ломается на первом объявлении без фотографии или на первом чате без последнего сообщения.

Если цель — не изучение API, а работающие ответы покупателям, то тот же результат даёт готовый сервис: «Папа БУ» подключается к магазину без единой строчки кода и отвечает в чатах вашими словами.

Шаг 5. Лимиты и вежливость

У площадки есть ограничения на частоту запросов. Точные числа смотрите в документации и не считайте их постоянными. Что нужно заложить в код независимо от чисел:

  • Пауза между запросами. Не «спать секунду», а нормальный интервал, из которого видно, сколько запросов в минуту вы делаете.
  • Обработка отказа «слишком часто». Получили такой ответ — увеличили паузу, повторили позже. Не повторять сразу же: это добивает остаток лимита.
  • Кеш. Список объявлений почти не меняется в течение часа. Тянуть его перед каждым сообщением — верный способ упереться в лимит на ровном месте.

Шаг 6. Что делать с ошибками

Разделите ошибки на три корзины, и дальнейшая жизнь станет проще.

Ваши. Неверный запрос, отсутствующее поле, опечатка в адресе. Чинятся кодом, повторять запрос бессмысленно.

Временные. Таймаут, сетевой сбой, ответ «сервис недоступен». Повторять — можно и нужно, с растущей паузой и ограничением на число попыток.

Авторизационные. Токен истёк или отозван. Обновить токен и повторить один раз; если и после этого отказ — звать человека, а не крутить цикл.

Когда начинать с API не стоит

  • Нет платного тарифа и не планируется. Без него значительная часть задач просто не решается, и первый вечер закончится ничем.
  • Вы один продавец с десятком объявлений. Затраты времени не вернутся: руками быстрее.
  • Нужен автопостинг или сбор чужих данных. Через официальный доступ так не делают, а обходные пути стоят аккаунта.
  • Нет места, где код будет жить. Скрипт на ноутбуке — это демонстрация, а не автоматизация; смотрите статью про программы для Авито, чтобы понять, с чем вы конкурируете.

Коротко

Начинать работу с API Авито надо с проверки тарифа, потом создать приложение и получить ключи, обменять их на токен, сделать один безопасный запрос и внимательно прочитать формат ответа. Дальше — лимиты, повторы и аккуратная работа с ошибками. Всё это займёт вечер-другой; цифры для примера и зависят от вашего опыта.

Если задача звучит как «хочу, чтобы покупателям отвечали за минуту», а не «хочу разобраться в API», то путь короче: подключить магазин и посмотреть на свои же диалоги в готовом сервисе.

Если решение под свой бизнес нужно, а разбираться самому некогда — напишите мне в Telegram: @artem_sergeevic. Я делаю такие сервисы на заказ: обсудим задачу и честно разберём, что в ней действительно нужно, а что можно не делать вовсе.

Пока вы читаете, кто-то отвечает вашему покупателю. «Папа БУ» отвечает в чатах Авито за минуту вашими словами и передаёт вам тех, кто готов к сделке.

Попробовать 3 дня бесплатно

Частые вопросы

Что нужно, чтобы начать работать с API Авито?
Аккаунт продавца, подходящий тариф площадки, созданное в кабинете приложение и пара ключей. Дальше — обычные HTTP-запросы с токеном.
Можно ли попробовать API бесплатно?
Часть возможностей доступна без платной подписки, но доступ к содержимому переписки требует тарифа с API мессенджера. Уточняйте условия в своём кабинете.
На каком языке писать?
На любом, где есть HTTP-клиент. Python и Node.js популярнее просто из-за количества примеров, преимущества у них перед другими нет.
Есть ли песочница для тестов?
Наличие тестового контура зависит от раздела API, проверяйте в актуальной документации Авито. На практике первые опыты обычно ставят на живом, но отдельном аккаунте.
Помогла статья?

Ответ видят другие читатели: у полезных статей на витрине появляется оценка. А те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.