Real-Time Wet Bulb Globe Temperature (WBGT)
Real-time Wet Bulb Globe Temperature (WBGT) at a geographic point using high-resolution gridded weather analysis data.
Real-time Wet Bulb Globe Temperature (WBGT) at a geographic point using high-resolution gridded weather analysis data.
Returns WBGT for four standard surface types. Registered locations also include a site-calibrated composite value. Calculated per ISO 7243:2017 using peer-reviewed natural wet bulb and globe temperature methods.
Surfaces: grass, turf, concrete, asphalt
Risk levels (grass surface): low < 28°C | moderate 28–32°C | high 32–35°C | very_high ≥ 35°C
Response time:
- Registered locations: < 3 ms (pre-computed)
- Other locations: ~250 ms (real-time calculation)
Coverage: worldwide north of the equator. location.region names the area: CONUS,
Alaska, Hawaii, Puerto Rico, Guam or Global.
source.conditions: analysis when temperature, humidity and wind come from a surface
analysis that assimilates observations (the US and its territories), model when they come
from a global forecast model. Model values are coarser, typically within about 2°F of an
analysis value and further off in mountains and along coasts.
source.solar: model when solar radiation comes from a high-resolution forecast,
cloud_cover when it is estimated from forecast cloud cover (outside the contiguous US, or
when the forecast is missing), night with the sun down.
data_age_seconds: how long ago the underlying weather analysis was valid, not
request latency or how recently it was computed. It is typically tens of minutes, even
for a fresh response. For source.conditions model it counts from the model step at or
before now (up to about 3 hours), and run names the model run.
nowcast_adjustment: a small upward correction (at most about 1°F) to the temperature input when the short-range forecast shows conditions warming, to offset the analysis age. Always 0 when the trend is flat or cooling, or when the trend data isn't available.
heat_policy (optional, e.g. heat_policy=kshsaa): adds a heat_policy object that maps
each WBGT value to a published activity-modification policy's zones. It holds the policy
zones (key, name, color, °F bounds and guidance text, lowest first), a zone key per surface
under surfaces, and under site for registered locations. Zone thresholds are °F whatever
units is. Without the parameter the response is unchanged.
"heat_policy": {
"policy": "kshsaa",
"name": "KSHSAA Heat Policy",
"source": "Updated KSHSAA SMAC, April 2026",
"zones": [
{"key": "green", "name": "Green", "color": "#2E9E44", "min_wbgt_f": null, "max_wbgt_f": 79.9,
"guidance": "Normal activity. Minimum 3 rest breaks/hour, 3 min each."},
...
],
"surfaces": {"grass": "yellow", "turf": "orange", "concrete": "orange", "asphalt": "red"},
"site": "orange"
}Token-based authentication with required prefix "Token"
In: header
Query Parameters
Optional. Adds a heat_policy block that maps each WBGT value in the response to the named policy's activity-modification zone, with the zone's color and guidance text. Thresholds are in °F whatever units is. Omit it and the response is unchanged.
Value in
- "kshsaa"
Latitude in decimal degrees (0–90 N)
doubleLongitude in decimal degrees (−180 to 180)
double'metric' (°C, default) or 'english' (°F)
Response Body
curl -X GET "https://example.com/observations/wbgt/?heat_policy=kshsaa&lat=0.1&lon=0.1"
