US Hail & Storm Damage Reports (NWS + NOAA Radar Hail)
Pricing
from $2.00 / 1,000 storm records
US Hail & Storm Damage Reports (NWS + NOAA Radar Hail)
Daily US hail, wind and tornado reports from official NWS Local Storm Reports, plus optional NOAA NEXRAD radar hail footprints. Filter by state, date, hail size, wind speed or radius around a point. For roofing, restoration, auto-hail repair, insurance and public adjusters.
Pricing
from $2.00 / 1,000 storm records
Rating
0.0
(0)
Developer
Calvin Torng
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Get every hail, damaging-wind and tornado report in the US for any date range, state, or radius around your service area, as clean JSON, CSV or Excel. Each run can also add NOAA NEXRAD radar hail footprints, which catch hail that nobody phoned in, and county-by-day roll-ups.
Built for roofing and exterior contractors, storm-restoration and paintless-dent-repair crews, public adjusters, insurers, storm-marketing agencies, and AI agents.
What you get
| Record type | Source | What's in it |
|---|---|---|
storm_report | Official NWS Local Storm Reports, the ground-truth reports from spotters, law enforcement, the public and NWS offices, served by the Iowa Environmental Mesonet (Iowa State University) | Time (UTC), state, county, place ("2 N Garland"), lat/lon, hail size (inches + "golf ball" label), wind mph, NWS severe flag, measured/estimated, who reported it, the NWS remark ("roof blown off a barn"), the NWS product link, and a map link |
radar_hail_cell (optional) | NOAA NEXRAD Level-III hail signatures via the NCEI Severe Weather Data Inventory | Grid cell (~7 mi) per day with max radar-estimated hail size, severe-hail probability, number of detections, first/last time, and radar sites |
county_summary (optional) | Roll-up of the reports returned | Per county per day: report counts, max hail, max wind, first/last time, sample places |
All data is US-government or university public-domain weather data. No personal data, no logins, no proxies.
Example uses
- "Every hail ≥ 1 inch in Texas and Oklahoma in the last 3 days" → a daily scheduled run for canvassing routes
- "Anything severe within 40 miles of my shop last night" → a center point plus radius
- Insurance or claims checks: "was there hail at this location on this date?"
- Feed an AI agent or CRM with fresh storm counties every morning
Input
| Field | Default | Notes |
|---|---|---|
states | all | 2-letter codes, e.g. ["TX","OK"] |
lastDays | 3 | Used when startDate is empty |
startDate / endDate | — | YYYY-MM-DD (UTC), end inclusive, max 31 days per run |
eventCategories | hail, wind, tornado | Also flood, winter, marine, other |
minHailInches | 0 | 1.0 = quarter size (NWS severe threshold) |
minWindMph | 0 | Wind-damage reports without a speed are kept |
severeOnly | false | Hail ≥ 1", wind ≥ 58 mph or wind damage, or a tornado |
centerLat / centerLon / radiusMiles | — / — / 25 | Radius filter; adds distanceMiles |
includeRadarHail | false | Needs states or a center point |
minRadarHailInches / minRadarSevereProb / radarGridDegrees | 1.0 / 50 / 0.1 | Radar thresholds |
includeCountySummary | true | |
sortBy | newest | newest, largestHail, nearest. Ground reports always come before radar cells |
maxItems | 50 | Cap on storm records (ground + radar) |
{ "states": ["TX","OK"], "lastDays": 3, "minHailInches": 1, "severeOnly": true, "includeRadarHail": true, "maxItems": 50 }
Output example
{"recordType": "storm_report","eventType": "HAIL","occurredAtUtc": "2026-05-20T22:58:00Z","state": "TX", "county": "Brewster", "location": "5 NE Marathon","lat": 30.25, "lon": -103.2,"hailSizeInches": 1.75, "hailSizeLabel": "golf ball","meetsNwsSevereCriteria": true, "measurement": "measured","reportedBy": "Other Federal","remark": "Report from the IBHS Hail Field Research team measured hailstones up to 1.89 inches.","nwsProductUrl": "https://mesonet.agron.iastate.edu/p.php?pid=202605221126-KMAF-NWUS54-LSRMAF","mapUrl": "https://www.google.com/maps?q=30.25,-103.2"}
Pricing
Pay per event: you pay per storm record saved and per county summary saved, plus a tiny Apify start fee. There is no monthly contract. Set a max cost per run in Apify Console, and the Actor stops cleanly when it is reached. See the price on this page's pricing tab.
Good to know
- Preliminary data. Local Storm Reports are preliminary and NWS can correct them later. Times are UTC.
- Radar hail is an estimate. NEXRAD maximum hail size comes from an algorithm and often runs larger than what reaches the ground. Use it to find likely footprints and confirm with ground reports.
- Radar cells are scoped with approximate state bounding boxes, so cells near a state line can belong to the neighbouring state. Ground reports carry their exact state.
- Coverage depends on who reported: rural hail can be missing from ground reports but present on radar.
- Not for life-safety use. For active warnings, use weather.gov.
Data sources and credits
- NWS Local Storm Reports via the Iowa Environmental Mesonet (Iowa State University). Public domain, attribution appreciated (disclaimer).
- NOAA NCEI Severe Weather Data Inventory (NEXRAD
nx3hail).
This Actor is not affiliated with or endorsed by NOAA, NWS or Iowa State University.