Storm Stream
Storm Stream · Free storm alerts by zip Hail & wind · We confirm your email · Unsubscribe anytime

The storm goes to whoever shows up first.

When hail or wind hits, the work goes to whoever reaches the door first. Know the moment a storm crosses your zip. Free. Leave your name, email, and zip, confirm the email, and you are on the list: an alert the day weather lands near you, plus a twice monthly briefing on what crossed nearby. Your live map unlocks the second you confirm.

Free forever · We confirm your email · Unsubscribe anytime · Developers, the API is below

first query200 OK · 41 ms
GET /api/storms?bbox=-105.1,39.5,-104.8,39.8
            &from=1717200000000

// the storm that crossed your zone
[
  { id: "stm_8f2a", name: "Cedar Ridge hailfall",
    type: "hail", maxHail: 1.75, severity: "severe",
    confidence: 86, at: 1717372800000 }
]
Fig. 01One request. The answer in milliseconds.
< 50 ms
Polygon query response
Any map
Leaflet · Mapbox · deck.gl
Real-time
Webhook on zone entry
Usage
No seats · no lock-in
01 The data is locked, or it is raw. The condition · two bad doors

You have two ways to know where the storm hit, and both cost you the door. The incumbents sell a closed dashboard you log into and cannot build on. The free feeds are real, but unproductized.

By the time you have exported a map or finished wiring a pipeline, your competitor has already knocked.

A The closed dashboard HailTrace and Interactive Hail Maps own the answer, but only inside a vertical-locked screen. No API to build on, no overlay for your own map, no alert into your own stack. You export and re-key, by hand, while the storm cools.
B The raw feed NOAA, NWS, and SPC are free and real, and entirely unproductized. Before you can ask one useful question you build the ingestion, the swath geometry, the severity model, and the alerting. That is a quarter of engineering for a question you needed answered today.
02 Productized, where they are locked. Storm Stream vs the incumbents
On this axis Closed dashboards · raw feeds Storm Stream
Access A screen you log into, or a pipeline you build An endpoint you call from any stack
Alerting Refresh the page and hope A webhook the moment a storm crosses your zone
Your map Screenshot or rebuild the geometry Standards GeoJSON and tiles, ready to draw
Your brand Their logo, their vertical White-label, any industry, your name on it
Pricing Seat licenses, or your own engineering quarter One key, billed by the calls you make
03 Query it, draw it, watch it. Four endpoints · one key
E.1 Geospatial query Ask what storms crossed a bbox, polygon, zip, or address in any window. Point-in-polygon and swath intersection, returned in milliseconds. GET /api/storms, POST /api/query.
E.2 Overlay and tiles Pull a storm as standards GeoJSON or vector tiles: the swath, the track, and the size tag, ready to render on Leaflet, Mapbox, MapLibre, deck.gl, or ArcGIS. GET /api/storms/:id/overlay.geojson.
E.3 First to the storm Watch a zone with a webhook. When a new storm intersects it, we fire storm.detected to your endpoint before your competitor has refreshed a page. POST /api/watch.
E.4 Zones and severity Define a zone once as a polygon, a set of zips, or a metro, then query and watch by it. Every event carries hail size, wind gust, confidence, and a normalized severity band. GET, POST /api/zones.
RoofingInsuranceSolarRestorationAgricultureLogistics
04 Free storm alerts for your zip. Confirm your email · unlock the map

No charge, no card, no dashboard to live inside. Tell us where you are, confirm your email, and we alert you the moment a storm crosses your zip, with a twice monthly briefing on what landed nearby. Confirming unlocks your live storm map.

We send one confirmation link. No charge, ever. Unsubscribe in one click, any time.

Urgent alert when a storm hits your zipfree
Twice monthly storm briefingfree
Live storm map and query consolefree
Developers: usage API and webhookssee docs