Spotter reports from WxAlerts, as a placefile you can load in GRLevel3, GR2Analyst or GREarth. No account, no sign-in, nothing to install.
Add this URL as a placefile:
https://api.wxalerts.org/placefile/spotter-reports.txt
That is the whole setup. It refreshes itself every two minutes.
Narrowing it down
The national file is fine for a chase or a broadcast desk. A forecast office usually wants its own area:
| What you want | URL |
|---|---|
| Everything, last 2 hours | spotter-reports.txt |
| Everything, last hour | spotter-reports.txt?hours=1 |
| One county warning area | spotter-reports.txt?cwa=DMX |
| One state | spotter-reports.txt?state=IA |
| Tornado reports only | spotter-reports.txt?types=tornado,funnel_cloud |
| Only what we are confident in | spotter-reports.txt?min_confidence=70 |
cwa is the filter most offices want. state is there for anybody whose area
of interest is not a CWA. hours accepts 1 to 24, and defaults to 2.
Reading the map
Shape is the event. Colour is how much we believe it. The two are independent, so a grey tornado and a red tornado are obviously the same report at different confidence.
| Icon | Event |
|---|---|
| Funnel touching a solid line, with debris | Tornado or waterspout |
| Funnel above a dashed line | Funnel cloud or wall cloud |
| Circle with a centre | Hail |
| Speed lines | Wind gust or wind damage |
| Waves | Flood or flash flood |
| Six-pointed star | Snow, sleet, freezing rain or ice |
| Plain circle | Everything else |
| Colour | Meaning |
|---|---|
| Grey | Not yet scored, or low confidence. Do not act on it alone. |
| Amber | Moderate confidence. |
| Red | High confidence: an established spotter and corroborating evidence. |
A brand new report is grey for a few minutes and then takes its real colour. That is not a problem with the report. It is that the radar evidence has not arrived yet — see why confidence changes.
Hovering a report
The hover text is everything we know, in the order it matters:
Tornado ON GROUND
Story EMA relaying KN4OQW
2341Z
Confidence: reporter 82, evidence 77 (radar agrees)
Large cone, clearly on the ground west of town
https://wxalerts.org/r/bcd2fgh3jk
Line by line: the event and its magnitude, with (M) for measured and (E)
for estimated. Who saw it, and who relayed it if somebody did. The time it
happened, in UTC. Then the two confidence numbers, and a link to the full
report.
The two numbers are not interchangeable
- Reporter is about the person: how long they have been spotting, whether they passed our certification, whether their callsign checks out against the FCC record, whether a verified organization vouches for them, and how often their past reports have held up.
- Evidence is about this particular report: whether radar agrees, how precisely the location was fixed, how quickly it was filed, and whether anybody independent reported the same thing.
They are kept apart on purpose. A fifteen-year spotter can file an implausible report, and a first-timer can be standing under a confirmed wedge. One blended number would be wrong about both. The colour follows the lower of the two.
Why confidence changes
Reports are scored against radar after they arrive, not while you wait. ProbSevere takes 97 to 208 seconds to produce a scan, so a report filed ninety seconds after a tornado has no radar to check against yet. Scoring it immediately would mark the most urgent reports as unsupported.
So a report publishes at once, is scored at about five minutes, and scored again at thirty when the storm’s full track is known.
A report can therefore get more confident, and it can get less. One that radar contradicts is drawn at lower confidence on a later pass; it stays in the file.
Three things radar can say, and the difference matters:
| Verdict | Meaning |
|---|---|
| radar agrees | A relevant storm cell or rotation signature is where the report says it is. |
| radar disagrees | There is a cell there and it shows nothing like what was reported. This counts against the report. |
| no radar coverage | Outside the domain, a feed gap, or an event type radar cannot speak to, such as flooding. This counts neither way. |
What is not in the public file
- Reports involving injuries or fatalities. Those go only to the tokenized file below. A casualty count on a public map before anybody has confirmed it is not something to get wrong.
- Anything withdrawn by the spotter, or disowned by the person named on it.
- Anything filed long after the fact. The file is about what is happening.
For forecast offices and EOCs
If you need the reports that are not in the public file (those naming casualties, for one), we can issue your office a token:
https://api.wxalerts.org/placefile/spotter-reports.txt?token=YOUR-TOKEN&cwa=DMX
Tokens are per organization, revocable, and their use is logged.
To request one — or to have your office, EOC, SKYWARN net or ARES group verified so its members can file reports from the web — get in touch.
Limits, and being straight about them
- The file is capped at 400 reports. If it has to be cut, the lowest-confidence reports go first, and the title line tells you how many were dropped and where the line fell. You will never be quietly looking at a filtered layer.
- Coordinates are the event, not the spotter. The spotter’s own position, and their bearing and range to what they saw, are in the full report behind the link.
- The file covers a rolling window ending now. Archive playback against a past time is not built yet.

