{ "fetchedAt": "2026-05-29T15:00:00Z", "hourly": { "issuedAt": "2026-05-29T10:30:00-05:00", "product": "hourly", "periods": [ { "startTime": "2026-05-29T06:00:00-05:00", "endTime": "2026-05-29T07:00:00-05:00", "textDescription": "Showers and thunderstorms", "temperatureF": 66, "apparentTemperatureF": 67, "probabilityOfPrecipitationPercent": 80, "windSpeedMph": 18, "windGustMph": 32 }, { "startTime": "2026-05-29T14:00:00-05:00", "endTime": "2026-05-29T15:00:00-05:00", "textDescription": "Mostly sunny", "temperatureF": 88, "apparentTemperatureF": 91, "probabilityOfPrecipitationPercent": 10, "windSpeedMph": 10, "windGustMph": 16 } ] }, "narrative": { "issuedAt": "2026-05-29T10:30:00-05:00", "product": "narrative", "periods": [ { "startTime": "2026-05-29T06:00:00-05:00", "endTime": "2026-05-29T18:00:00-05:00", "name": "Today", "textDescription": "Morning storms, then partly sunny." } ] }, "alerts": { "alerts": [ { "event": "Flood Watch", "headline": "Flooding possible", "severity": "Moderate", "effective": "2026-05-29T05:00:00-05:00", "expires": "2026-05-29T09:00:00-05:00" } ] }, "discussion": { "product": "discussion", "issuedAt": "2026-05-29T09:25:00-05:00", "keyMessages": [ "Storms are most likely during the morning." ] }, "sources": [ { "name": "hourly", "endpoint": "/forecast/hourly", "fetchedAt": "2026-05-29T15:00:00Z" } ] }