⚙️ api v1

Публичное API «Лесничего»

Бесплатно, без регистрации и ключей. Данные о 10 121 видах, 59 617 водоёмах и 216 регионах — берите в свои приложения, боты и сайты.

Базовый адресhttps://lesnichiy.com/api/v1
Авторизацияне требуется
ФорматJSON, UTF-8
CORSоткрыт — можно звать из браузера
Лимит120 запросов в минуту с одного IP
Условиеуказывайте ссылку на источник (lesnichiy.com)

Эндпоинты

GET /api/v1/ — список эндпоинтов и статистика

Самодокументируемый корень API. Начните отсюда.

Попробовать →

GET /api/v1/species — список видов

Параметры: q (поиск по русскому/английскому/латыни), category (fish, mammal, bird), environment (freshwater, marine, brackish), limit (1–100), offset.

Пример: поиск «щук» →

GET /api/v1/species/{slug} — карточка вида

Полные данные: таксономия, размеры, наживки, способы ловли, нерест, коэффициенты длина-вес, ареал по странам.

Пример: щука →

GET /api/v1/klev/{slug} — календарь клёва

Активность 0–5 по каждому месяцу с вердиктом. Параметр region пересчитывает календарь под климат региона (на юге сезон раньше, на севере позже).

Пример: щука в Татарстане →

GET /api/v1/calendar/{месяц} — что клюёт в месяце

Рейтинг всех видов по активности. Слаг месяца: yanvar, fevral, mart… dekabr.

Пример: июль →

GET /api/v1/solunar — прогноз по луне

Параметры: lat, lon (обязательны), days (1–30). Возвращает большие и малые периоды активности и оценку каждого дня 0–100.

Пример: Москва на 3 дня →

GET /api/v1/waters — водоёмы

Параметры: q, region, type (lake, river, reservoir, pond…), поиск рядом: lat+lon+radius (км, до 300), limit, offset. При поиске рядом каждый результат содержит distance_km.

Пример: водоёмы в 30 км от Минска →

GET /api/v1/regions — регионы

Параметр country — код страны (RU, BY, UA, KZ…).

Пример: регионы Беларуси →

GET /api/v1/weight — вес рыбы по длине

Параметры: species (slug), length (см). Считает по научной формуле W = a·L^b.

Пример: щука 70 см →

Пример использования

// JavaScript — что клюёт сегодня
fetch('https://lesnichiy.com/api/v1/calendar/oktyabr')
  .then(r => r.json())
  .then(d => console.log(d.results.slice(0, 5)));

// PHP — прогноз по луне
$json = file_get_contents('https://lesnichiy.com/api/v1/solunar?lat=55.75&lon=37.62');
$data = json_decode($json, true);
echo $data['forecast'][0]['score']; // оценка дня 0-100

Вопросы и предложения — Telegram @denissatoshi. Если API вам полезно, поставьте ссылку на lesnichiy.com — это всё, что мы просим.