Air raid alert & statistics API
A public JSON API with current air raid alerts and statistics for Ukrainian oblasts and districts. No registration or key required. Same data as the statistics page and the map.
General rules
- Base URL:
https://tryvoha.online/api/v1(the same API is served fromhttps://xn--80adds5ajn.online/api/v1). - JSON, UTF-8. CORS is open (
Access-Control-Allow-Origin: *), so requests work straight from the browser. - Rate limit: 120 requests per minute per IP. Responses are cached for 30–60 seconds, so polling faster than every 30 seconds gains nothing.
- All timestamps are UTC in ISO-8601. Durations are in minutes.
- The
periodparameter accepts24h,7dor30d; it defaults to24h. Windows are rolling — counted back from the moment of the request. - Regions are addressed by
slug. The full list is in/api/v1/regions.
Endpoints
| Endpoint | Returns |
|---|---|
GET /api/v1/regions | Region directory: 24 oblasts, the city of Kyiv and every district. For a district, oblast_slug points to its oblast. |
GET /api/v1/alerts | Every alert active right now — oblasts and districts together, with start times. |
GET /api/v1/alerts/{slug} | State of a single region. For an oblast it also lists districts under alert and an active_anywhere flag. |
GET /api/v1/stats?period=24h | Period summary: threats by type and oblasts ranked by time spent under alert. |
GET /api/v1/stats/{slug}?period=7d | Statistics for one region: alerts in the period, recent episodes, threats by type and a district breakdown (for an oblast). |
GET /api/v1/districts/{slug}?period=7d | Alerts per district of the given oblast for the period. |
Examples
GET /api/v1/alerts
curl https://tryvoha.online/api/v1/alerts
{
"updated_at": "2026-08-31T08:47:35Z",
"active": 43,
"alerts": [
{
"slug": "brovarskii-raion",
"type": "district",
"name_uk": "Броварський район",
"name_en": "Brovarskyi district",
"oblast_slug": "kyivska",
"started_at": "2026-08-31T08:21:06Z"
}
]
}
GET /api/v1/alerts/kyivska
{
"slug": "kyivska",
"type": "state",
"name_uk": "Київська область",
"active": false,
"started_at": null,
"districts_active": [
{ "slug": "brovarskii-raion", "name_uk": "Броварський район", "started_at": "2026-08-31T08:21:06Z" }
],
"active_anywhere": true
}
GET /api/v1/stats/kyivska?period=24h
{
"slug": "kyivska",
"type": "state",
"period": "24h",
"from": "2026-08-30T08:47:36Z",
"to": "2026-08-31T08:47:36Z",
"alerts": {
"count": 5,
"minutes_total": 746,
"minutes_avg": 149,
"minutes_max": 278,
"recent": [
{ "started_at": "2026-08-31T08:20:51Z", "ended_at": null, "minutes": 27 },
{ "started_at": "2026-08-31T04:41:58Z", "ended_at": "2026-08-31T07:20:20Z", "minutes": 158 }
]
},
"threats": { "d": 35 },
"districts": [
{
"slug": "brovarskii-raion",
"name_uk": "Броварський район",
"alerts": 7,
"minutes_total": 1096,
"minutes_avg": 157,
"minutes_max": 457
}
]
}
GET /api/v1/districts/kyivska?period=7d
{
"oblast_slug": "kyivska",
"period": "7d",
"districts": [
{
"slug": "brovarskii-raion",
"name_uk": "Броварський район",
"name_en": "Brovarskyi district",
"alerts": 42,
"minutes_total": 4466,
"minutes_avg": 106,
"minutes_max": 506
}
]
}
How alerts are counted
- Alerts are mostly declared at district level, so "an alert in the oblast" means the time when at least one of its districts was under alert. Overlapping district intervals are merged into one episode, which is why an oblast
countis lower than the sum of its districts' alerts. - An ongoing episode is returned with
ended_at: null, and its duration is counted up to the moment of the request. - The alert log starts on 2 July 2026, so the 30-day window is always complete.
- Threats (
threats) are recognised reports of drones, missiles and guided bombs:d— strike drones,rd— reconnaissance drones,m— missiles and guided bombs,a— threat warning,u— other.
Terms of use
The API is free for non-commercial and commercial use provided you credit Tryvoha.online. This is an informational service based on open sources — it is not an official alert channel and must not be relied upon for life-safety decisions. No availability guarantees. Questions and requests for higher limits — via the email or Telegram in the footer.
Alert & threat statistics →
Tryvoha.online is an informational service based on open sources. Data may be delayed or contain inaccuracies. For safety-critical decisions rely on official alert channels and follow instructions from the authorities.