Storm Stream.

data

Free Storm Data and Where It Runs Out

What api.weather.gov, SPC, SWDI, Storm Data and the free geocoders give you, what they withhold, and the risk that a free feed disappears.

You can build a working storm history on public data without paying anyone. The question is not whether the free sources are good, because several of them are the authoritative record and everything else is downstream of them. The question is which specific job you are doing, because each source fails at a different point, and the failure points are documented. Here is the inventory, source by source, with the stated limits attached.

api.weather.gov gives you the present, not the past

The National Weather Service API is free, returns JSON-LD, and requires no API key. It does require that every request carry a User-Agent header identifying your application, with a contact website or email recommended, and the documentation says API keys will be introduced later. Rate limits are not publicly documented. They are described as generous for typical use, and a request over the limit returns an error you can retry once the limit resets, usually within about five seconds. If you route through a proxy you are more likely to hit the limit than a direct client, which matters if your traffic leaves through one shared egress address.

The limits that actually decide whether this API fits are about scope. Radar is only available as status data, not as display imagery, which comes from separate services. The API is not a long-term archive. Alerts cover only the past seven days, and NCEI hosts the official archive of NWS alerts. The API is designed for caching, and it tells you to cache a location's grid mapping but to re-check the points endpoint periodically, because office and grid coordinates can change.

So this is a good source for what is happening now and what is forecast. It is the wrong source for the question a claim argument asks, which is always about a date in the past.

SPC's reports and database: free, and preliminary where you need it most

SPC publishes a severe weather database compiled from NWS Storm Data, with tornado reports back to 1950 and hail and damaging wind reports back to 1955, distributed as annual files you can download. That is a long historical record for no cost.

Three stated limits shape how you use it. The current year's reports are preliminary, so anything about a recent storm is provisional. The NWS raised the severe hail threshold from 0.75 inch to 1.00 inch in 2010, and for legacy purposes 0.75-inch reports remain in the annual hail files, so you may need to filter them out before you count anything. And the biases are published rather than hidden: reports cluster around population centers, and wind reports are mostly verified by falling trees rather than measured gusts, so they tend to cluster where trees are more common.

One line on that page should end a specific kind of argument before it starts. The monetary loss figures in the database are described as highly suspect. The page was last updated April 24, 2026.

The Severe Weather Data Inventory: bulk access, no quality control

NCEI's Severe Weather Data Inventory is the radar-derived archive, and it is unusually easy to get at. There is an interactive map, a bulk download of the entire database as CSV over HTTP, and a REST service, in Shapefile, KMZ, CSV and XML. For anyone who wants the whole thing locally, that is a rare offer.

What you do not get is vetting. The page states that SWDI adds no quality control beyond archival processing, that missing data does not mean no severe weather occurred, and that much of the automatically derived data is radar based and represents probable rather than confirmed conditions. Those three sentences are the entire reliability contract, and they are honest ones.

Availability is its own caveat. As of this writing the page notes that NCEI is migrating data to the cloud, which may result in temporary data access delays, and that order fulfillment is intermittently degraded. If you are building something that has to answer during a deployment week, plan for the archive to be slow or unavailable at a bad moment.

Storm Data is correct and late

The settled record is the one everybody eventually wants, and it arrives after the dispute has already started. Both the Storm Data publication and reports in the Storm Events Database are available 90 to 120 days after the event, covering tornadoes since 1950, severe thunderstorms since 1955, and all other weather events since 1996. Certified copies come from NCEI rather than from a local NWS office.

There is no free path around that lag. Any product that answers a question about last week is answering it from preliminary reports or from radar, and should say so.

Geocoding is the bottleneck nobody budgets for

Storm geometry is useless until you can turn an address into a coordinate, and this is where free quietly stops scaling. The Nominatim usage policy sets an absolute maximum of 1 request per second, and the limit applies per website or application, so all of your users' traffic combined has to stay under it. Bulk scripts running longer than a day, or on a schedule, are capped at 4 requests per minute. A valid HTTP Referer or User-Agent identifying your application is required, and the policy says stock User-Agents as set by HTTP libraries will not do. Caching results on your own side is required, and a client that sends the same query over and over may be treated as faulty and blocked. The policy states that bulk geocoding of larger amounts of data is not encouraged, that heavy use may lead to access being withdrawn, and that the policy itself may change without notice.

The Census Geocoder is the better fit for this specific job and has a sharper edge. It offers interactive and REST access, and its batch endpoints accept a batch of addresses up to 10,000 along with up to 10,000 coordinate pairs, in CSV, XLS, XLSX, TXT or DAT. The constraint is coverage: it only geocodes addresses that are within the United States, Puerto Rico, and the U.S. Island Areas. For a United States storm product that is not a limit at all. For anything that crosses a border it is a wall.

Free sources can be withdrawn

This is the part of the inventory that rarely makes it into a build decision. NOAA's billion-dollar disasters database ceased operations in May 2025. Past data for 1980 to 2024 remain archived and publicly accessible, so nothing was deleted, but nothing new is coming. That product was not obscure. It had recorded 203 severe storm events from 1980 to 2024, about half of all billion-dollar disasters in the record, and severe storms were the most frequent type in it.

Draw the general lesson rather than the specific one. A free government or volunteer feed comes with no service level, sometimes with an explicit right to change the terms without notice, as the Nominatim policy reserves, and with no commitment that the product exists next year. That is not an argument against using free sources. It is an argument for keeping your own copy of what you depend on, for isolating each source behind a layer you control, and for knowing in advance which of your answers would break if a feed stopped.

Where free is enough, and where it is not

Free is genuinely enough when you are answering historical questions at low volume, when your date range is old enough that Storm Data has settled, when your addresses are already geocoded or inside the United States and processed in batches, and when you can tolerate an archive being slow for a week. For research, for spot checking somebody else's claim, and for internal tooling with a handful of users, paying for storm data is hard to justify.

Free runs out at four specific places. Recency, because the settled record is 90 to 120 days behind and everything faster is preliminary. Geocoding at volume, because one request per second is a hard ceiling. Availability, because no free feed owes you uptime. And geometry, because the public sources hand you points and signatures, not the swath polygon and the point-in-polygon answer you actually wanted. If your work depends on any of those four, the honest move is to build that one piece yourself or buy it, and keep using the free record for everything else.

Storm Stream is an API over these same public feeds: it answers which storms crossed a point, ZIP, address, bounding box or polygon in a time window, serves GeoJSON overlays, and labels its single-date NCEI radar-estimated hail reads as verified while labeling multi-year sweeps as modeled.

Sources

More on this