Krisha API: объявления о недвижимости в JSON
У Krisha.kz нет открытого API для разработчиков. Здесь возвращается то, что сайт показывает публично — цена, площадь, количество комнат, район — в виде JSON. Эндпоинта всего два, и мы говорим это сразу: поиск и карточка. Если этого достаточно для задачи, дальше читать незачем.
Эндпоинты
| endpoint | Что возвращает | Обязательные |
|---|---|---|
| search | Поиск по объявлениям о продаже и аренде недвижимости в Казахстане. Общее число объявлений возвращается так, как его публикует источник. | все необязательные |
| listing | Полная карточка объявления: передайте listing_id или URL, который вернул поиск. | все необязательные |
Каждый вызов тарифицируется в кредитах. Неудачные и заблокированные вызовы бесплатны.
Рабочий пример
Общее число объявлений приходит от самого сайта, а не считается нами. Это важно при постраничном обходе: если источник ограничивает выдачу, число покажет это честно, а не создаст иллюзию полного охвата.
curl -X POST https://api.reefapi.com/krisha/v1/search \
-H "x-api-key: ВАШ_КЛЮЧ" \
-H "content-type: application/json" \
-d '{"city": "almaty", "transaction": "sale", "rooms": 2}'{
"ok": true,
"data": {
"total": 14230,
"results": [
{
"listing_id": "...",
"title": "...",
"price": 38500000,
"currency": "KZT",
"area_m2": 62,
"rooms": 2
}
]
},
"meta": { "record_count": 20, "cache_hit": false, "mode": "live" }
}Вместо собственного парсера Krisha
Парсер Krisha написать несложно, и первый запуск обычно проходит. Ломается позже: меняется вёрстка выдачи и парсер молча отдаёт пустоту, а при длинном обходе срабатывает защита и часть страниц не доходит.
Здесь обслуживание на нашей стороне: меняется схема — чиним мы, появляется блокировка — возвращается код ошибки, и такой вызов не тарифицируется.
Для разовой выгрузки свой скрипт дешевле, и мы говорим это прямо. Для регулярного мониторинга цен платить приходится за поломки, а не за код.
Ограничения и честные замечания
- Это не официальный API Krisha.kz, и партнёрства с Krisha у нас нет.
- Эндпоинта два: поиск и карточка. Профиля продавца и дерева категорий в этом движке нет.
- Если объявление не публикует площадь или этаж, поле приходит null — мы ничего не достраиваем.
- Кэша нет: каждый вызов показывает состояние на момент запроса.