Heat Risk Data API
Precision heat exposure metrics for any geography on Earth
Precision heat exposure metrics for any geography on Earth
Daily heat exposure metrics for any place on Earth.
The CrisisReady Heat Risk API is a geospatial data service that delivers heat exposure metrics for any user-defined area — from city neighborhoods to entire regions — to support emergency preparedness and response. Drawing on ERA5 reanalysis and Open-Meteo archives, it produces daytime, nighttime, and 24-hour aggregates of four physiological heat measures.
The four heat measures
Every location is scored against a 10-year WMO reference climatology, so responders can instantly tell whether today's conditions are anomalous or normal.
Socioeconomic indicators — relative wealth, population density, urban land cover, and healthcare access — help prioritize the communities most at risk.
An integrated layer translates raw metrics into plain-language risk summaries — actionable for officials and partners without technical expertise.
The Case
🌡️ Heat is the deadliest weather-related hazard globally — and climate change is making it more frequent and more severe.
ERA5 reanalysis covers the entire globe at hourly resolution. Scientifically authoritative — but it's a 28km grid, not a neighborhood.
Public health teams, city planners, and researchers need heat exposure for their specific communities — not regional averages.
💡 The gap: Transforming raw climate reanalysis into per-community daily metrics requires significant engineering — ERA5 API access, spatial extraction, heat index computation, database storage, and daily refresh pipelines. Most research teams don't have this infrastructure.
Overview
"You give us a map of your study area. We give you daily heat data — automatically, forever."
Cities, districts, counties — any set of polygons anywhere on Earth.
Initialize with 10 days of data. New data appends automatically each morning.
A scheduled process runs every day at 06:00 UTC and updates every active project.
Input
A single GeoJSON file — the same format used by QGIS, Google Maps, and every modern mapping tool.
A GeoJSON FeatureCollection — the standard open format for geographic data. Each feature is a named polygon.
A shape on a map defined by latitude/longitude coordinates. City districts, census tracts, health zones, river catchments — anything with a boundary.
Output
36 values per polygon per day: 2m temperature, heat index, UTCI (Universal Thermal Climate Index), and WBGT (Wet-Bulb Globe Temperature) — full-day, daytime, and nighttime windows, max/min/mean each.
Per-polygon indicators of social and physical vulnerability: wealth index, urban density, healthcare access, land cover, human development, and nighttime light intensity.
(On request) Percentile distributions per polygon per day-of-year from 10 years of ERA5 history. Enables anomaly detection: is this event historically unusual?
(Experimental) AI-generated risk interpretation: risk level, key findings, affected populations, and public health recommendations — in plain language.
Foundations
Fifth-generation global atmospheric reanalysis. Fuses satellite, radiosonde, and station observations with a climate model — the gold standard for historical heat analysis. Provides T2m, dew point, and wind.
Free open-data API that fills ERA5's ~5-day lag with near-real-time estimates. Also provides UTCI and WBGT directly. As ERA5 catches up, provisional values are overwritten with authoritative data.
Global, 0.25° (~28km), 1940–present
ERA5: ~5-day · Open-Meteo: same-day
Sub-kilometer population estimates for the entire globe. Used to compute the number of people in each study polygon — enabling population-weighted exposure analysis.
Pre-processed, globally-consistent rasters stored in S3 and sampled per polygon at project initialization:
Pipeline
Metrics
Four variables across three time windows — physiological heat stress captured the way public health and occupational safety agencies actually measure it.
| Time Window | Variable | Statistics |
|---|---|---|
| ☀️ Full Day (00:00–23:59 local) | ||
| 2m Temperature (°C) | Max · Min · Mean | |
| Heat Index (°F) | Max · Min · Mean | |
| UTCI (°C) | Max · Min · Mean | |
| WBGT (°C) | Max · Min · Mean | |
| 🌤️ Daytime (06:00–18:00 local) | ||
| 2m Temperature (°C) | Max · Min · Mean | |
| Heat Index (°F) | Max · Min · Mean | |
| UTCI (°C) | Max · Min · Mean | |
| WBGT (°C) | Max · Min · Mean | |
| 🌙 Nighttime (18:00–06:00 local) | ||
| 2m Temperature (°C) | Max · Min · Mean | |
| Heat Index (°F) | Max · Min · Mean | |
| UTCI (°C) | Max · Min · Mean | |
| WBGT (°C) | Max · Min · Mean | |
Air temperature at 2 metres above ground — the standard meteorological measurement. Degrees Celsius.
The "feels like" temperature — combines air temperature and humidity. Amplified dramatically in humid climates. Degrees Fahrenheit.
The physiological standard (ISO 15743). Models radiation, wind, humidity, and temperature together. Comparable across all climates — dry desert and humid tropics on equal footing. Degrees Celsius.
The occupational safety standard (ISO 7243). >32°C: moderate work suspended. >35°C: all outdoor work must stop. Degrees Celsius.
Context
Heat exposure ≠ heat risk. Risk depends on who is exposed and their adaptive capacity. Each indicator is extracted per polygon at project initialization.
Meta/World Bank satellite-derived wealth at sub-km resolution. Wealthier areas have better access to A/C and healthcare.
NASA satellite nighttime light intensity — proxy for economic activity, infrastructure quality, and energy access.
Urban density classification — urban core, dense urban, suburban, rural. Urban heat island effects are strongest in dense cores.
10m land cover — built-up, tree cover, grassland, water. Vegetation and water moderate local temperatures.
Number and type of healthcare facilities per polygon. Proximity to care is critical during heat emergencies.
Subnational HDI scores — composite of education, income, and life expectancy. Lower HDI = greater heat vulnerability.
Anomaly Detection
A 10-year historical baseline — one statistical distribution per polygon per day-of-year (1–366).
A heat index of 105°F in Delhi in June is expected. The same value in Paris in May is a record-breaking anomaly. The WMO baseline tells you how unusual today's heat is relative to that location and time of year.
p75 — Above normal · p95 — Extreme · p99 — Record-breaking
Per polygon × day-of-year — 48 columns total
3 periods × 2 variables × 8 statistics
Workflow
POST request with GeoJSON polygons. API responds immediately with project ID and estimated ready time.
LandScan extraction, ERA5 download for 10 days, heat metric computation. All happens in the background.
Scheduled job runs every morning at 06:00 UTC, appending the latest available ERA5 day automatically.
Retrieve metrics with optional date filters and pagination. Results return as paginated JSON.
Request a 10-year reference climatology for anomaly detection. Runs once per project.
AI-generated risk summary for any time window — risk level, key findings, recommendations.
Worked Example
34 districts covering central and southern Bangladesh. GeoJSON FeatureCollection initialized in under 15 minutes. Values below are real ERA5 reanalysis for Jun 23, 2026.
2026-demo-dhaka-bd✅ Initialized <15 min · ✅ Daily ERA5 + near-real-time
✅ 34 districts · ✅ 6 vulnerability layers extracted
The story in three numbers: 51.3°C UTCI (extreme heat stress), 35.2°C WBGT (ISO 7243 stop-work threshold), and 24 of 34 districts simultaneously in extreme-stress territory — on a typical June day, in a population where 68% of workers are outdoor laborers.
| District | T2m °C | HI °F | UTCI °C | WBGT °C | Pop. |
|---|---|---|---|---|---|
| Joypurhat | 34.0 | 113.6 | 51.3 | 35.2 ⚠ | 1.1M |
| Jhenaidah | 34.0 | 112.7 | 51.0 | 35.1 ⚠ | 2.0M |
| Jessore | 33.4 | 112.3 | 50.7 | 35.0 ⚠ | 3.2M |
| Chuadanga | 34.0 | 114.4 | 50.3 | 34.9 | 1.3M |
| Bogra | 33.5 | 111.7 | 50.5 | 34.6 | 3.9M |
| Faridpur | 33.4 | 109.3 | 50.4 | 34.7 | 2.2M |
| Jamalpur | 32.8 | 112.4 | 50.0 | 34.5 | 2.7M |
| Kishoreganj | 33.9 | 111.1 | 50.0 | 34.1 | 3.4M |
⚠ WBGT ≥35°C = ISO 7243 threshold at which all outdoor work must stop · UTCI ≥46°C = Extreme heat stress (24/34 districts) · Real ERA5 data, Jun 23, 2026
Comparative
Same API. Five climate zones. All data is real ERA5, peak day for each city in June 2026.
| City | Air Temp | Heat Index | UTCI | WBGT | UTCI Level |
|---|---|---|---|---|---|
| 🇺🇸 Phoenix, AZ (Jun 17) | 43.3°C | 102.5°F | 62.3°C | 31.3°C | Beyond Extreme |
| 🇪🇸 Seville, ES (Jun 22) | 39.8°C | 102.7°F | 54.5°C | 32.7°C | Beyond Extreme |
| 🇧🇩 Dhaka, BD (Jun 23) | 34.0°C | 113.6°F | 51.3°C | 35.2°C ⚠ | Extreme |
| 🇳🇬 Lagos, NG (Jun 18) | 30.9°C | 103.8°F | 45.5°C | 31.9°C | Very Strong |
| 🇲🇽 Oaxaca, MX (Jun 15) | 29.0°C | 85.2°F | 46.7°C | 30.1°C | Extreme |
⚠ WBGT ≥35°C = ISO 7243 stop-work threshold · UTCI scale: >54°C Beyond Extreme · 46–54°C Extreme · 38–46°C Very Strong
Heat Index: 102°F — sounds survivable. UTCI: 62.3°C — beyond any physiological safety scale. Low humidity keeps HI modest while solar radiation loads soar. 7 of 17 counties simultaneously exceeded UTCI 54°C.
Bangladesh's combination of high humidity and heat pushes WBGT to 35.2°C — the ISO threshold where all outdoor work must stop. 3 districts exceeded this; 26 of 34 exceeded the moderate-work limit.
Oaxaca HI: 85°F — looks mild. But UTCI: 46.7°C — extreme heat stress, driven by elevated radiation and humidity in highland valleys. Single-metric analysis leads to under-response.
Architecture
Built on serverless AWS infrastructure — no servers to maintain, scales automatically, and costs nearly zero when idle.
Four functions handle API requests, daily updates, WMO computation, and async jobs. Each runs on demand — no servers to manage.
Serverless relational database. Stores all project data, metrics, and vulnerability tables. Scales to zero when idle.
Object storage for GeoJSON files, LandScan, and vulnerability rasters. Pre-loaded once, read at project initialization.
Scheduled trigger fires every morning at 06:00 UTC to kick off the daily ERA5 update pipeline for all active projects.
Message queues for async jobs — daily updates per project, WMO computation units. Handles failures and retries automatically.
Stores ERA5 API keys, database credentials, and LLM API keys securely. Functions retrieve them at runtime — no hardcoded secrets.
💡 Serverless means: no provisioning, no patching, no scaling decisions. Infrastructure exists only while a request is processed — then returns to zero. You interact only through the API.
In the Field
These are live running projects in the API right now — real ERA5 data with vulnerability layers. Peak ERA5 day shown for each city, June 2026.
Takeaways
A GeoJSON map is all you need. The system initializes in ~15 minutes and updates every day without further action from you.
ERA5 is the global scientific standard for atmospheric reanalysis. Your heat exposure estimates use the same underlying data as the world's leading climate agencies.
Physical exposure alone doesn't predict risk. The vulnerability layer, WMO baseline, and AI narrative help translate raw metrics into actionable public health insights.
Contact balsari@hsph.harvard.edu to request API credentials. We'll set up your account and walk through your first project.