Парсер Авито без официального 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