ramas
← Projects

Парсер Авито без официального API

Бот собирает объявления Авито без партнёрского API — обращаясь к тем же внутренним JSON-эндпоинтам, что использует само приложение. Мониторинг цен, новых объявлений и лидов в реальном времени.

TL;DR. Бот снимает с Авито объявления, цены и новые лоты — без официального партнёрского API: он закрытый и доступен не всем. Секрет простой: у самого сайта и приложения Авито есть свои внутренние JSON-эндпоинты, которыми они пользуются, чтобы отрисовать вам выдачу и карточку. Бот стучится в те же эндпоинты напрямую и получает чистый структурированный JSON вместо хрупкого парсинга HTML. → Написать в Telegram

Проблема

У Авито нет открытого публичного API. Партнёрская программа существует, но она закрытая и платная — доступна не всем и не сразу. А мониторить объявления, цены конкурентов и новые лоты в нише всё равно надо: руками это нереально, особенно когда категорий и запросов больше одной-двух.

Идея: без API — за счёт API

Официального API нет, но у сайта и мобильного приложения Авито есть свои внутренние JSON-эндпоинты — именно ими пользуется само приложение, чтобы отрисовать вам ленту объявлений, карточку, продавца. Это не дыра и не эксплойт — тот же самый механизм, которым Авито каждый день обслуживает миллионы обычных пользователей.

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

Как устроено

1. Разведка эндпоинтов

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

2. Воспроизведение запросов

Бот повторяет эти запросы с нужными заголовками и параметрами. На выходе — чистый JSON: без вёрстки, без рекламных блоков, без хрупких CSS-селекторов, которые ломаются при любом редизайне сайта.

3. Инфраструктура устойчивости

Прямой повтор запросов без защиты живёт недолго — прилетает бан или rate-limit. Поэтому вокруг ядра — обвязка:

  • ротация прокси и user-agent на каждый запрос
  • троттлинг под «человеческий» темп, а не пулемётная очередь
  • работа в рамках лимитов площадки — ровный темп без пулемётных очередей, чтобы не создавать нагрузку
  • адаптер-модуль, который переживает смену схемы эндпоинтов (Авито их время от времени меняет — это штатная ситуация, а не авария)

Что это даёт

  • мониторинг цен по нише в реальном времени
  • алерт на новое объявление за секунды, а не когда его случайно заметят руками
  • сбор лидов из объявлений под нужные критерии
  • аналитика ниши — сколько предложений, какой разброс цен, кто демпингует
  • алерты в Telegram
  • готовая интеграция в воронку — данные сразу попадают туда, где их ждут

Честно про грани

Это серая зона по правилам Авито — площадка не заключала со мной договор на такой доступ, и это стоит проговорить прямо, а не прятать за красивыми словами. Инструмент задуман для личного мониторинга и аналитики, а не для массового абьюза: без лишней нагрузки на инфраструктуру Авито, с троттлингом и уважением к rate-limit. Если нужен большой объём и легальный статус — правильный путь всё равно официальная партнёрка Авито, когда она доступна.

Итог

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

Нужно похожее под свою нишу — пишите. → Написать в Telegram

Связь · кратко и по делу

Понравилось — забирай в Telegram. Хочешь увидеть всё сразу — на главную.