API

Drom API: объявления об автомобилях в JSON

У Drom нет открытого API для разработчиков. Здесь возвращается то, что сайт показывает публично — марка, модель, год, пробег, цена и город — в виде готового JSON. Поиск устроен так же, как им пользуется посетитель: сначала марка и модель, потом город или регион.

Эндпоинты

endpointЧто возвращаетОбязательные
searchПоиск по auto.drom.ru: марка и модель, сужение до города или региона, фильтры по цене, году и пробегу.все необязательные
detailОдно объявление целиком по числовому id или по URL: запрашиваемая цена в рублях, пробег, год, комплектация, фотографии и продавец.listing
modelsВсе модели, которые Drom публикует для одной марки, со слагом, который нужен поиску.make

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

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

Слаг модели лучше брать из models, а не придумывать: на Drom написание не всегда совпадает с общепринятым, и неверный слаг даёт пустую выдачу, которая выглядит как «объявлений нет».

Запрос
curl -X POST https://api.reefapi.com/drom/v1/search \
  -H "x-api-key: ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"make": "toyota", "model": "camry", "city": "novosibirsk"}'
Ответ (сокращён)
{
  "ok": true,
  "data": {
    "results": [
      {
        "listing_id": "...",
        "title": "Toyota Camry",
        "year": 2019,
        "mileage_km": 86000,
        "price": 2450000,
        "city": "Новосибирск"
      }
    ]
  },
  "meta": { "record_count": 20, "cache_hit": false, "mode": "live" }
}

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

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

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

Для разовой выгрузки свой скрипт дешевле, и мы говорим это прямо. Для регулярного мониторинга цен платить приходится за поломки, а не за код.

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

  • Это не официальный API Drom, и партнёрства с Drom у нас нет.
  • Слаг модели берётся из эндпоинта models; произвольное написание даёт пустую выдачу, а не ошибку.
  • Если продавец не указал пробег или год, поле приходит null — мы ничего не достраиваем.
  • Оплата из России сейчас недоступна у наших платёжных провайдеров; ключ и бесплатные кредиты работают.