Access-Control-Allow-Origin: *) — можна звертатися прямо з браузера. Базове використання безкоштовне; за умови посилання на джерело (map.megainet.art).Ендпоінти
| Ендпоінт | Що повертає |
|---|---|
GET /api/alerts.php | Стан тривог по областях + районні тривоги |
GET /api/threats.php | Активні загрози (дрони, ракети, КАБи) з координатами й курсом |
GET /api/feed.php | Стрічка повідомлень моніторів + носії (МіГ-31К тощо) |
GET /api/stats.php | Статистика за добу по типах + погодинна гістограма |
GET /api/history.php | Історія тривог: добова агрегація (?hours=24) або переходи однієї області (?region=UA-XX) |
GET /api/analytics.php | Зведена аналітика за 24/48/168 год: ритм, типи, теплова карта областей, напрямки, монітори |
GET /api/keyinfo.php | Тариф, ліміт і витрата ВАШОГО ключа (потребує ключа; CORS закритий) |
GET /api/fires.php | Термоточки NASA FIRMS за 24 год (bbox України) |
GET /api/occupied.php | Лінія фронту й сіра зона (GeoJSON) |
Приклад
curl -s https://map.megainet.art/api/alerts.phpВідповідь (скорочено)
{
"source": "siren/districts",
"updated": "2026-07-23 20:15:02",
"regions": {
"UA-63": { "alert": true, "changed_ts": 1784500000 },
"UA-12": { "alert": false, "partial": [ { "name": "Нікопольський район", "ts": 1784499000 } ] }
},
"local": [ { "name": "Нікопольський район", "oblast": "Дніпропетровська область", "lat": 47.57, "lon": 34.4 } ]
}Ліміти й тарифи
Без ключа — 60 запитів за хвилину з IP-адреси, з безкоштовним ключем — 120. Потрібно більше або без посилання-кредиту? Дивіться тарифи.
Підписка на події (вебхуки)
Замість того щоб опитувати /api/alerts.php раз на 15 секунд — 5 760 запитів на добу заради десятка подій, — можна отримувати подію в момент, коли вона сталася. Ми надсилаємо POST на вашу адресу https:// з тілом {event, region, alert, ts, source}; подія — alert.start або alert.end, можна обмежити перелік областей. Кожна доставка підписана: заголовок X-Map-Signature = HMAC-SHA256 від «X-Map-Timestamp \n тіло» вашим секретом — перерахуйте його в себе й порівняйте, тоді підробити виклик не можна. Не відповіли 2xx — повторимо через 1, 5, 30 хвилин, 2 і 6 годин; підписка, що падає двадцять разів поспіль, вимикається, і причина видно в кабінеті. Керування — GET/POST/DELETE /api/hooks.php з вашим ключем. Можливість платна (Pro, Business); безкоштовний рівень від цього не гіршає.
Авторизація і ключі
Базові ендпоінти працюють без ключа — тоді ліміт рахується по IP. Безкоштовний ключ рівня Free (120 запитів/хв) видається в один клік на сторінці ключа, без реєстрації. Передавайте його параметром ?key=ak_… або заголовком X-API-Key. У кожній відповіді є заголовки X-RateLimit-Limit, X-RateLimit-Remaining і X-RateLimit-Tier; при перевищенні ліміту повертається 429 із Retry-After.
Методи
Усі — GET, відповідь JSON, CORS відкритий. Ключ не обов’язковий: без нього діє ліміт 60 запитів за хвилину на адресу.
/api/alerts.phpGETСтан тривог по всіх областях і локальні тривоги.
/api/threats.phpGETЦілі за останні 45 хвилин: тип, координати, курс, ціль.
/api/feed.phpGETСтрічка повідомлень моніторів і плашка носіїв.
/api/stats.phpGETСуми за добу: за типами цілей і по годинах.
/api/history.phpGETІсторія тривог: добова агрегація або переходи однієї області.
/api/analytics.phpGETЗведена аналітика: ритм, типи, теплова карта, напрямки.
/api/occupied.phpGETЛінія фронту й сіра зона (GeoJSON, DeepStateMap).
/api/fires.phpGETТермоточки NASA FIRMS за добу.