NWS Weather Alerts & Severe Storm Warnings Scraper (USA) avatar

NWS Weather Alerts & Severe Storm Warnings Scraper (USA)

Pricing

from $11.34 / 1,000 results

Go to Apify Store
NWS Weather Alerts & Severe Storm Warnings Scraper (USA)

NWS Weather Alerts & Severe Storm Warnings Scraper (USA)

Scrape active US National Weather Service alerts by state or point: tornado, flood, hurricane, heat and winter warnings with severity, urgency, affected counties, instructions and expiry. Export to JSON, CSV or Excel.

Pricing

from $11.34 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

NWS Weather Alerts & Severe Storm Warnings Scraper (USA)

NWS Weather Alerts & Severe Storm Warnings Scraper (USA)

Here is one real result, with every field the actor returns:

{
"alertId": "urn:oid:2.49.0.1.840.0.9a8f54e6e50ad7bfae50e06ec65ad9bc9a666615.001.1",
"event": "Extreme Heat Warning",
"headline": "Extreme Heat Warning issued August 20 at 1:41PM PDT until August 23 at 8:00PM PDT by NWS San Diego CA",
"severity": "Severe",
"urgency": "Expected",
"certainty": "Likely",
"category": "Met",
"messageType": "Update",
"status": "Actual",
"areaDesc": "Coachella Valley; San Diego County Deserts; San Gorgonio Pass Near Banning",
"states": ["CA"],
"senderName": "NWS San Diego CA",
"sent": "2026-08-20T13:41:00-07:00",
"effective": "2026-08-20T13:41:00-07:00",
"onset": "2026-08-20T13:41:00-07:00",
"expires": "2026-08-20T21:45:00-07:00",
"ends": "2026-08-23T20:00:00-07:00",
"description": "* WHAT...Dangerously hot conditions with temperatures up to 113.\n\n* WHERE...Coachella Valley, San Diego County Deserts, and San Gorgonio Pass near Banning.\n\n* WHEN...Until 8 PM PDT Sunday.\n\n* IMPACTS...Heat related illnesses increase significantly during extreme heat events.",
"instruction": "Drink plenty of fluids, stay in an air-conditioned room, stay out of the sun, and check up on relatives and neighbors.",
"nwsHeadline": "EXTREME HEAT WARNING REMAINS IN EFFECT UNTIL 8 PM PDT SUNDAY",
"vtec": "/O.CON.KSGX.XH.W.0008.000000T0000Z-260824T0300Z/",
"affectedZoneCount": 3,
"affectedZonesUGC": ["CAZ061", "CAZ062", "CAZ065"],
"affectedSameCodes": ["006065", "006073"],
"allClear": false,
"queryArea": "CA",
"queryPoint": null,
"forecastPeriod": null,
"forecastTemperature": null,
"forecastTemperatureUnit": null,
"forecastWindSpeed": null,
"forecastWindDirection": null,
"forecastShort": null,
"forecastDetailed": null,
"forecastOffice": null,
"forecastCity": null,
"aiPlainSummary": null,
"aiWhoIsAffected": null,
"aiRecommendedAction": null,
"aiRiskLevel": null,
"source": "NWS",
"observedAt": "2026-08-21T00:25:13.047Z",
"error": null
}

The most complete US weather alerts scraper available. It returns every field the National Weather Service publishes for each active alert, including the full description and protective-action instructions, plus derived fields (state codes, affected zone and county codes, an all-clear flag), and gives you six filters plus two paid add-ons to target exactly the alerts you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor pulls active US National Weather Service alerts for the states or point you pass, applies your filters, and writes one normalized record per alert to the run's dataset. It covers every alert type the NWS issues: tornado, severe thunderstorm, flash flood, hurricane and tropical storm, winter storm, blizzard, extreme heat, air quality, red flag fire, coastal and marine warnings, and more.

Each record carries the alert event, severity, urgency and certainty, the affected counties and zones, the issuing office, the full timing (sent, effective, onset, expires, ends), the complete description, and the recommended protective actions. Derived fields are added on top of the raw source: two-letter states, the affected affectedZonesUGC and affectedSameCodes code lists, and an allClear flag. When a state or point has no active alerts, the actor returns a single allClear row and does not charge for it.

Two opt-in paid add-ons are available: a short-term location forecast for a point input, and an AI action summary that turns each alert into a plain-language summary, who is affected, a recommended action, and a risk level.

Quickstart

Open the actor, paste this into the input, and press Run. It returns up to 10 active alerts for Texas.

{
"area": "TX",
"maxResults": 10
}

Pass a comma-separated list to cover several states in one run, for example "area": "FL,GA,AL". Use a point instead of area to get alerts covering one exact location, for example "point": "29.76,-95.36". Add severity or event to narrow the results.

Input reference

FieldTypeRequiredDefaultDescription
areastringconditional(empty)One or more two-letter US state or territory codes, comma separated, for example TX, FL,GA or CA,OR,WA. Provide this or point.
pointstringconditional(empty)Latitude and longitude as lat,lon, for example 29.76,-95.36, to get alerts covering that exact location. Provide this or area.
eventstringno(empty)Keep only alerts whose event name contains this text, for example Tornado, Flood, Hurricane, Winter Storm, Heat. Case-insensitive.
severityenumno(any)Return only alerts at this severity: Extreme, Severe, Moderate, Minor.
urgencyenumno(any)Return only alerts at this urgency: Immediate, Expected, Future.
statusenumnoactualactual returns real operational alerts. test returns system test messages.
includeForecastbooleannofalsePaid add-on (paid plans, point input only). Adds the short-term NWS forecast for the point. Charged only when a real forecast is returned.
aiAlertActionbooleannofalsePaid add-on (paid plans). Adds an AI plain-language summary, who is affected, a recommended action, and a risk level per alert. Charged only when a usable result is produced.
maxResultsintegerno10Maximum alert records to return across the run. Free Apify plans are capped at 10 per run.

Either area or point is required. Filters combine with logical AND.

Output reference

One dataset item per active alert. Types: string, number, boolean, string[], or null when the source value is absent.

FieldTypeDescription
alertIdstringUnique NWS alert identifier.
eventstringAlert event type, for example Tornado Warning, Flood Watch, Extreme Heat Warning.
headlinestringHuman-readable alert headline.
severitystringExtreme, Severe, Moderate, Minor, or Unknown.
urgencystringImmediate, Expected, Future, Past, or Unknown.
certaintystringObserved, Likely, Possible, Unlikely, or Unknown.
categorystringAlert category, for example Met (meteorological).
messageTypestringAlert, Update, or Cancel.
statusstringAlert status, for example Actual or Test.
areaDescstringAffected areas described (counties and zones), semicolon separated.
statesstring[]Two-letter US state codes covered by the alert.
senderNamestringIssuing NWS office.
sentstringWhen the alert was sent (ISO 8601).
effectivestringWhen the alert becomes effective (ISO 8601).
onsetstringWhen the hazard is expected to begin (ISO 8601).
expiresstringWhen the alert message expires (ISO 8601).
endsstringWhen the hazard is expected to end (ISO 8601).
descriptionstringFull alert description narrative.
instructionstringRecommended protective action instructions.
nwsHeadlinestringExtra NWS headline parameter, if present.
vtecstringVTEC event code string, if present.
affectedZoneCountnumberNumber of affected forecast or county zones.
affectedZonesUGCstring[]UGC zone and county codes affected.
affectedSameCodesstring[]SAME (FIPS) county codes affected.
allClearbooleantrue when there are no active alerts for the query. These rows are not charged.
queryAreastringThe area input that produced this record.
queryPointstringThe point input that produced this record.
forecastPeriodstringForecast add-on: period name, for example Tonight.
forecastTemperaturenumberForecast add-on: temperature.
forecastTemperatureUnitstringForecast add-on: temperature unit (F or C).
forecastWindSpeedstringForecast add-on: wind speed.
forecastWindDirectionstringForecast add-on: wind direction.
forecastShortstringForecast add-on: short forecast text.
forecastDetailedstringForecast add-on: detailed forecast text.
forecastOfficestringForecast add-on: NWS forecast office code.
forecastCitystringForecast add-on: nearest city to the point.
aiPlainSummarystringAI add-on: plain-language summary of the alert.
aiWhoIsAffectedstringAI add-on: who and where is affected.
aiRecommendedActionstringAI add-on: most important recommended action.
aiRiskLevelstringAI add-on: risk level (low, moderate, high, extreme).
sourcestringData source.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run with the location forecast add-on (input {"point": "29.76,-95.36", "includeForecast": true}):

{
"alertId": "urn:oid:2.49.0.1.840.0.c35c7a4380227a208f17cf70594085980a2954d2.001.1",
"event": "Heat Advisory",
"headline": "Heat Advisory issued August 20 at 1:30PM CDT until August 21 at 7:00PM CDT by NWS Houston/Galveston TX",
"severity": "Moderate",
"urgency": "Expected",
"certainty": "Likely",
"category": "Met",
"messageType": "Update",
"status": "Actual",
"areaDesc": "Houston; Trinity; Madison; Walker; San Jacinto; Polk; Burleson; Brazos; Montgomery; Inland Harris; Fort Bend; Coastal Galveston; Galveston Island",
"states": ["TX"],
"senderName": "NWS Houston/Galveston TX",
"onset": "2026-08-20T13:30:00-05:00",
"expires": "2026-08-20T21:30:00-05:00",
"ends": "2026-08-21T19:00:00-05:00",
"instruction": "Drink plenty of fluids, stay in an air-conditioned room, stay out of the sun, and check up on relatives and neighbors.",
"affectedZoneCount": 33,
"queryArea": null,
"queryPoint": "29.76,-95.36",
"forecastPeriod": "Tonight",
"forecastTemperature": 81,
"forecastTemperatureUnit": "F",
"forecastWindSpeed": "5 to 10 mph",
"forecastWindDirection": "S",
"forecastShort": "Slight Chance Showers And Thunderstorms then Partly Cloudy",
"forecastOffice": "HGX",
"forecastCity": "Houston",
"source": "NWS",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~nws-weather-alerts-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"area":"TX,OK","event":"Tornado","maxResults":50}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~nws-weather-alerts-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"area":"CA","severity":"Severe","maxResults":100}'

Apify CLI:

apify call scrapers_lat/nws-weather-alerts-scraper \
--input '{"point":"29.76,-95.36","includeForecast":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per active alert returned (result event). See the pricing tab for the current per-result price.
  • No charge on all-clear or failure. When a state or point has no active alerts, the actor returns a single allClear row and does not charge. If a run errors, it writes a single item with a populated error field and does not charge for it.
  • Add-ons are opt-in and paid-plan only. The location forecast and AI alert action add-ons are disabled for free users, default off, and charge only when they genuinely return data.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxResults.

FAQ and troubleshooting

A run returned a single row with allClear: true. Why? That state or point has no active alerts right now. This is a valid all-clear response and is not charged. Many states have zero active alerts on a calm day.

How do I get only the most serious warnings? Set severity to Extreme or Severe, or set event to a specific type such as Tornado or Hurricane. You can combine both.

Can I monitor several states at once? Yes. Pass a comma-separated list in area, for example FL,GA,AL,SC.

What is the difference between area and point? area returns every active alert for the listed states. point returns only the alerts whose polygon or zone covers that exact latitude and longitude, which is useful for a single facility, farm, or route waypoint.

What does the location forecast add-on add? For a point input, it fetches the short-term NWS forecast for that location (period, temperature, wind, and conditions) and attaches it to the alerts, so you get both the warning and the near-term outlook in one row.

What does the AI alert action add-on add? It reads each alert and returns a plain-language summary, who is affected, the single most important action to take, and a risk level, so non-specialists can act on the alert quickly.

Is this an official NWS tool? No. This actor is independent and has no affiliation with the National Weather Service or NOAA. It reads only data that is publicly available. Always follow official guidance from local authorities during a weather emergency.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the National Weather Service or NOAA. Accesses only publicly available data. Always follow official guidance from local authorities during a weather emergency.