List Hail Events (Paginated)

Return a paginated list of storm event days, newest first.

Return a paginated list of storm event days, newest first.

Each result represents one calendar day where SPC (Storm Prediction Center) ground-truth observer reports were filed for hail, wind, or tornado activity, or, when locations are provided, where FLASH detected hail near one of those locations, whether or not a ground report exists nearby. With locations, a day does not need an SPC report to be returned. flash_only additionally restricts results to only the days where FLASH detected hail at an input location (it does not change which detections count, just filters down to them).

A day included on a FLASH detection alone has no ground reports behind it, so its spcData comes back empty: types: [], reportCount: 0, affectedRegions: "", and null maxima. Read flashInputLocationData for what FLASH detected there.

The filters apply to FLASH detections too, not just to SPC reports. FLASH detections are hail-only, so: types must include OBSERVED_HAIL for a FLASH-only day to be returned; min_hail_size / max_hail_size are matched against the day's flashInputLocationData.maxHailSizeIn; and any wind or tornado magnitude filter excludes FLASH-only days outright, since a FLASH detection has no wind speed or EF rank that could satisfy one.

locations × radius_km is bounded by how many FLASH grid cells the request resolves to (500). 200 locations at the 13 km maximum resolves to thousands and returns 400 rather than a 200 with the FLASH data silently missing, lower radius_km or send fewer locations.

spcData groups all SPC ground-truth observed fields for the day. Always present, including under flash_only, a day returned on a FLASH detection alone carries an empty spcData rather than omitting it.

flashSpcLocationData is FLASH's hail summary across all SPC hail report locations for that day, max values of hailIndex, hailSizeIn, confidence, coverage, and durationMin. Always present, including under flash_only, but null unless the day has at least one SPC hail report surviving your filters (and, when locations are given, falling inside one of their radii) whose grid cell has FLASH catalog data. Because it is scored at the SPC observer locations rather than at yours, its values can legitimately differ from flashInputLocationData on the same day, and its count is a number of SPC report cells, not of your input locations.

flashInputLocationData is FLASH's hail summary across all provided input locations, same max-value shape as flashSpcLocationData. Only present when locations are provided. null if the FLASH catalog has no data at any input location.

FLASH summary fields (present in both flashSpcLocationData and flashInputLocationData):

  • count: number of unique FLASH grid cells with detected hail on this day: the cells holding your input locations (for flashInputLocationData, deduped across all of them) or the cells holding the day's SPC hail reports (for flashSpcLocationData). Never a count of locations or of reports, one location at a 6.4 km radius covers many cells, so a single location can report a count in the dozens.

  • maxHailSizeIn: highest FLASH hail size estimate in inches, calibrated against ground reports.

  • maxRawMrmsHailSizeIn: highest raw radar hail size estimate before FLASH calibration.

  • maxHailIndex: highest 0–5 dispatch score. Thresholds: ≥4.0 dispatch, 3.0–3.9 evaluate, 1.5–2.9 monitor, <1.5 skip.

  • maxConfidence: highest confidence tier 1–5. Values: 1 = marginal, 2 = low, 3 = moderate, 4 = high, 5 = exceptional.

  • maxCoverage: highest areal fraction (0–1) of the ~25 km window around the point showing hail.

  • maxDurationMin: longest hail duration in minutes from consecutive radar scans.

Results cover the last 90 days by default. Use start / end to specify a custom range (maximum 365 days).

POST
/lookback/hail/events/

Authorization

Authorization<token>

Token-based authentication with required prefix "Token"

In: header

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/lookback/hail/events/" \  -H "Content-Type: application/json" \  -d '{}'
{  "results": [    {      "id": "2026-05-31",      "eventDate": "2026-05-31",      "spcData": {        "affectedRegions": "AL, KS, MO, SD, TX",        "maxObservedHailSize": 3.5,        "maxObservedWindSpeedMPH": 82,        "maxObservedTornadoEFRank": 1,        "types": [          "OBSERVED_HAIL",          "OBSERVED_TORNADO",          "OBSERVED_WIND"        ],        "reportCount": 147      },      "flashSpcLocationData": {        "count": 12,        "maxHailSizeIn": 4,        "maxRawMrmsHailSizeIn": 4.8,        "maxHailIndex": 4.2,        "maxConfidence": 5,        "maxCoverage": 0.35,        "maxDurationMin": 45      },      "flashInputLocationData": null    }  ],  "page": 1,  "limit": 10,  "total": 42}