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".
FieldTypeMeaning
istringEvent id; the event page is /e/<i>
lanumberLatitude, 4 decimals
lonumberLongitude, 4 decimals
pint | nullLocation precision: 1 exact site, 2 town, 3 district, 4 province, 5 linear feature, 6 country only, 7 offshore/airspace
sstringSeverity initial: c critical, h high, m medium, l low
cstringCategory (e.g. airstrike, missile, ground_battle; other when unset)
dstringEvent date, YYYY-MM-DD (UTC)
tstring | nullConflict theatre slug (e.g. ukraine, israel_gaza)
knumber | nullHighest reported killed figure, as reported
uintLast updated, unix seconds
xnumberCounted figure: the stored casualties figure (killed and injured) this event adds to headline totals under the Methodology rules (0 when it does not count)
nstring | nullCountry
cfstring | nullConflict name
dpnumber | nullDisplaced people reported
tistringTitle, first 120 characters
rstring | nullContinent / 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.
Dedicated to the people of Ukraine · Donate directly →

By using WarHeatMap you agree to the Terms of Service and Privacy Policy.

This site reports on armed conflict, including deaths and injuries.