До вмісту
Наживо13 областей під тривогоюВідкрити мапу
API

API для розробників

Прості JSON-ендпоінти. Без ключа для базового використання.

Усі ендпоінти віддають JSON із дозволом CORS (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 за добу.

Спробувати в кабінеті

Мапа тривог — і в кишені

Той самий захист, але з push навіть коли телефон заблоковано, радаром «що летить поруч» і віджетами на головному екрані.

Відкрити мапу

На які запити відповідає ця сторінка