Active Hail Across CONUS
Rolling snapshot of recent hail across the contiguous United States.
Rolling snapshot of recent hail across the contiguous United States.
Sweeps all CONUS grid sectors in parallel and returns every grid cell (~1 km²)
that recorded hail within the requested look-back window. Uses the same catalog
and calibration pipeline as /lookback/hail/tile/; no new data is generated.
Data Latency
Hail events are not published the moment hail is first detected. An event becomes visible only after it ends and a quiet period passes with no further hail at that cell, so events typically appear about 45 to 90 minutes after they begin. Long-lived storms take longer, since the event's own duration adds to the delay.
peak_start_time is when the event began, not when it was published. A newly
published event can already be close to window_start, and a short window can
miss it entirely. An event is returned only while its start time is inside the
window, so when polling use window_min=120 at minimum, and window_min=360
when long-lived storms are active.
Intended Use
Use this endpoint as a triage layer before targeted queries:
- Poll
GET /lookback/hail/active/?window_min=120every 10 minutes. - If
metadata.active_cells > 0, extract the bounding region of the returned features. - POST that region to
/lookback/hail/polygon/for event detail and zone breakdown. - POST individual assets to
/lookback/hail/multi/for per-address confirmation.
On quiet days (no active convection) this call returns in < 200 ms with an empty features array. On active storm days, expect 500 ms–2 s depending on cell count.
Parameters
Every window is continuously pre-warmed in the background, so any allowed value returns in well under 1 second, there is no slow path.
| Parameter | Default | Allowed values | Description |
|---|---|---|---|
window_min | 60 | 15, 30, 60, 120, 360, 720, 1440 | Look-back window in minutes from now |
include_provisional | false | true, false | Also return in-progress events (see Provisional Events) |
The default of 60 minutes is close to the typical publication delay, so set
window_min explicitly when polling (see Data Latency).
Response Metadata
window_start/window_end reflect when the background refresh last ran, not
the moment you called the endpoint, check stale_seconds to see how old
that is before treating the window bounds as "now".
| Field | Description |
|---|---|
window_start / window_end | Look-back window used for the cached sweep |
stale_seconds | Seconds between window_end and when this request was served |
active_cells | Number of cells with hail in the window |
dropped_tiles | CONUS tiles skipped due to a failure or the grid-cell cap; a nonzero value means active_cells is a thin, not empty, read |
max_hail_size_in | Largest calibrated hail size across all cells |
Response Features
Each feature in the features array is a GeoJSON Point matching the
/lookback/hail/tile/ cell schema:
| Field | Description |
|---|---|
max_hail_size_in | FLASH AI calibrated hail size, inches |
raw_mrms_size_in | Radar-derived size before calibration |
coverage | Spatial coverage fraction 0–1 |
duration_min | Peak event duration in minutes |
hail_index | 0.0–5.0 impact score (≥4.0 = dispatch) |
event_count | Number of distinct events at this cell |
peak_start_time | UTC ISO-8601 timestamp of the peak event |
provisional | Only with include_provisional=true: true for an in-progress event, false for a final one |
last_detected_time | Provisional features only: UTC ISO-8601 time hail was last detected at this cell |
Provisional Events
By default this endpoint returns only final events, which appear after an event
has ended. Set include_provisional=true to also get events that are still in
progress. A provisional event appears within a few minutes of hail first being
detected at a cell, plus the window's refresh interval.
- Provisional features have
provisional: trueand alast_detected_time. Final features haveprovisional: false. - They use the same fields, units, calibration and window rule as final
events: an event is returned while its
peak_start_time(the time it began) is inside the window, so an event that began beforewindow_startis not returned even if hail is still falling. - Values can still grow.
max_hail_size_in,raw_mrms_size_in,coverage,duration_minandhail_indexdescribe the event so far and may increase on later polls.event_countis always 1. - An event stays provisional until 45 to 60 minutes pass with no further hail
at that cell. At the next refresh after that it is replaced by the final
event for the same cell and
peak_start_time, whose values may differ from the last provisional read. One response never returns the same event as both provisional and final. - A cell can have a final feature for an earlier event and a provisional feature for a newer one in the same response.
metadata.provisional_cellsis the number of provisional features, or null if in-progress events could not be read for this refresh.active_cellsandmax_hail_size_instill count final events only.
Use provisional events as an early signal for triage, and final events for decisions that need settled sizes.
Polling Guidance
Each window is refreshed in the background on a fixed interval: every 4 minutes
for window_min of 60 or less, every 10 minutes for 120 and 360, and every 20
minutes for 720 and 1440. Polling faster than a window's refresh interval
returns the same result, adds unnecessary load, and does not surface events any
sooner. A look-back window well beyond the publication delay is what keeps new
events from being missed.
Token-based authentication with required prefix "Token"
In: header
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/lookback/hail/active/"{ "type": "FeatureCollection", "metadata": { "window_start": "2024-05-15T21:00:00+00:00", "window_end": "2024-05-15T22:00:00+00:00", "window_min": 60, "active_cells": 45, "dropped_tiles": 0, "max_hail_size_in": 1.75, "stale_seconds": 47 }, "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ -97.516, 35.468 ] }, "properties": { "max_hail_size_in": 1.75, "raw_mrms_size_in": 1.65, "coverage": 0.22, "duration_min": 18, "hail_index": 3.8, "event_count": 1, "peak_start_time": "2024-05-15T21:14:00+00:00" } } ]}
