Note: If you plan on publishing graphics based upon this data or use it commercially, be mindful of the fact that it would not exist without the hard work of the folks from liveuamap.com. A subscription helps keep this vital source about the war alive.
Run python scrape.py
. The data is updated automatically via GitHub actions
once a day from nzz.ch.
Article: Interactive map: How the Ukraine war is developing, day by day
Endpoints: Served from q-server.st-cdn.nzz.ch
as base API server.
See the accompanying ipython jupyter notebook: nzz_territory.ipynb
Russian-occupied Ukrainian territory in km^2
Net territory control change in km²
NZZ says this about themselves:
For our map we use data from Liveuamap. This organization emerged in 2014 in Ukraine during the annexation of Crimea. Since then, the staff has dealt with various conflicts both in and outside Europe. The NZZ has also relied on its data for other conflicts.
NZZ also only periodically updates data and works in time frames, not daily changes. See "Limitations".