Public API v1
No key, no sign-in. Within v1 fields may be added but are never removed or renamed. Licensed under CC BY 4.0: credit "WarHeatMap.app" with a link to the event page or https://warheatmap.app.
GET /functions/eventsLite
Compact feed of every live, mapped event (merged, excluded and deleted records are left out). https://warheatmap.app/functions/eventsLite returns a JSON array. With ?since=<unix seconds> it returns { events: [...], removed: [ids] }: events changed after that time, plus ids that were merged, excluded or deleted since then. POST { since } works too. Caching: Cache-Control: public, max-age=60, s-maxage=300, stale-while-revalidate=600. Every response carries Link: <https://creativecommons.org/licenses/by/4.0/>; rel="license".
| Field | Type | Meaning |
|---|---|---|
| i | string | Event id; the event page is /e/<i> |
| la | number | Latitude, 4 decimals |
| lo | number | Longitude, 4 decimals |
| p | int | null | Location precision: 1 exact site, 2 town, 3 district, 4 province, 5 linear feature, 6 country only, 7 offshore/airspace |
| s | string | Severity initial: c critical, h high, m medium, l low |
| c | string | Category (e.g. airstrike, missile, ground_battle; other when unset) |
| d | string | Event date, YYYY-MM-DD (UTC) |
| t | string | null | Conflict theatre slug (e.g. ukraine, israel_gaza) |
| k | number | null | Highest reported killed figure, as reported |
| u | int | Last updated, unix seconds |
| x | number | Counted figure: the stored casualties figure (killed and injured) this event adds to headline totals under the Methodology rules (0 when it does not count) |
| n | string | null | Country |
| cf | string | null | Conflict name |
| dp | number | null | Displaced people reported |
| ti | string | Title, first 120 characters |
| r | string | null | Continent / region |
GET /e/<id> (event pages)
One page per event at https://warheatmap.app/e/<id>, where id is the eventsLite i. Ids of merged duplicates resolve to the surviving event. The server-rendered HTML version is https://warheatmap.app/functions/eventPage?e=<id>: per-event title and description, facts, sources, public revisions and one NewsArticle JSON-LD block. It returns 404 for unknown or deleted ids. Caching: Cache-Control: public, max-age=300, s-maxage=3600.
Counting rules
How x is decided is set out in the Methodology.