API

Avito API: поиск объявлений и карточка объявления в JSON

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

Эндпоинты

endpointЧто возвращаетОбязательные
searchПоиск по Avito.ru: по ключевому слову и/или категории, по всей России или в одном городе. В строке — id, заголовок, цена, город, дата и ссылка.все необязательные
cars/searchАвито Авто: подержанные и новые автомобили, цена (включая дилерское «от»), марка, модель, год, пробег, тип кузова и коробка.все необязательные
real_estate/searchНедвижимость: квартиры, комнаты, дома, участки, гаражи и коммерция. Аренда и продажа разделены параметром transaction.transaction
listingПолная карточка объявления по id или URL в любой категории: заголовок, статус, цена (от/диапазон/бесплатно/не опубликована), параметры, фотографии и продавец.ad_id
categoriesДерево категорий Avito: 591 узел — транспорт, недвижимость, работа, услуги, электроника, дом.все необязательные
locationsПоиск slug'ов городов, посёлков и регионов для параметра location.query
suggestПодсказки поисковой строки Avito с категорией и фильтрами.query

Каждый вызов тарифицируется в кредитах. Неудачные и заблокированные вызовы бесплатны.

Рабочий пример

Сначала найдите slug города через locations, затем ищите внутри него. Без slug поиск идёт по всей России, и для городского мониторинга это обычно не то, что нужно.

Запрос
curl -X POST https://api.reefapi.com/avito/v1/search \
  -H "x-api-key: ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"query": "iphone 15", "location": "moskva"}'
Ответ (сокращён)
{
  "ok": true,
  "data": {
    "results": [
      {
        "ad_id": "...",
        "title": "...",
        "price": 65000,
        "location": "Москва",
        "url": "https://www.avito.ru/..."
      }
    ]
  },
  "meta": { "record_count": 50, "cache_hit": false, "mode": "live" }
}

Вместо собственного парсера Avito

Парсер Avito с GitHub — обычный первый шаг, и он действительно работает. Проблема приходит не в первый запуск, а на второй месяц: когда сайт меняет разметку, ваш парсер молча возвращает пустоту, а когда срабатывает защита от ботов — блокирует IP.

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

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

Ограничения и честные замечания

  • Это не официальный API Avito, и партнёрства с Avito у нас нет.
  • Цена может быть не опубликована или указана как «от» — в этом случае поле приходит null, а не выдуманное число.
  • Оплата из России сейчас недоступна у наших платёжных провайдеров; ключ и бесплатные кредиты при этом работают.
  • Каждый вызов живой: кэшированных ответов нет, вы видите состояние на момент запроса.