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 — мы ничего не достраиваем.
- Оплата из России сейчас недоступна у наших платёжных провайдеров; ключ и бесплатные кредиты работают.