# NOAA Weather Alerts Scraper - Active US Severe Weather (`ninhothedev/noaa-weather-alerts-scraper`) Actor

$0.5/1K 🔥 Fast NOAA weather alerts scraper! Active US severe-weather warnings — event, area, severity & expiry. No key. JSON, CSV, Excel or API in seconds. Pull alerts for weather apps, logistics & insurance ⚡

- **URL**: https://apify.com/ninhothedev/noaa-weather-alerts-scraper.md
- **Developed by:** [ninhothedev](https://apify.com/ninhothedev) (community)
- **Categories:** News, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## NOAA Weather Alerts Scraper 🌩️

**Scrape active US severe-weather alerts from the National Weather Service — no API key, no login.** Get every active warning, watch, and advisory across the United States: tornado warnings, flash flood warnings, severe thunderstorm warnings, hurricanes, winter storms, heat advisories and more — as clean, flat JSON.

Powered by the official **US National Weather Service** public API (`api.weather.gov`). Filter by **state** and **severity**, and stream results straight into your app, spreadsheet, or database.

---

### ✨ Why use this actor?

- **No API key, no signup** — the NWS feed is public; we handle the required headers for you.
- **Datacenter-friendly** — runs cheaply on standard datacenter servers, no residential proxy needed.
- **Clean, flat output** — one row per alert with the fields that matter (event, area, severity, urgency, expiry, safety instructions).
- **State + severity filters** — pull only Texas + California, or only Severe/Extreme events.
- **Fast & cheap** — hundreds of active alerts in seconds.

---

### 📦 What you get (per alert)

| Field | Description |
|-------|-------------|
| `id` | Unique NWS alert identifier (URN) |
| `event` | Event name, e.g. "Tornado Warning" |
| `headline` | Human-readable headline |
| `severity` | Extreme / Severe / Moderate / Minor / Unknown |
| `certainty` | Observed / Likely / Possible / … |
| `urgency` | Immediate / Expected / Future / … |
| `area` | Affected area description (counties/zones) |
| `effective` / `onset` / `expires` / `ends` | ISO-8601 timestamps |
| `status` | Actual / Test / Exercise / … |
| `message_type` | Alert / Update / Cancel |
| `category` | Met / Safety / Health / … |
| `sender` | Issuing NWS office |
| `description` | Full alert text (capped 5,000 chars) |
| `instruction` | Recommended safety actions (capped 3,000 chars) |
| `response` | Recommended response, e.g. "Shelter", "Avoid" |
| `source` | Always `noaa` |
| `scraped_at` | ISO-8601 scrape timestamp |

---

### 🚀 Input

```json
{
  "mode": "alerts",
  "states": ["TX", "CA"],
  "severity": "Severe",
  "maxItems": 200
}
````

| Input | Type | Default | Description |
|-------|------|---------|-------------|
| `mode` | select | `alerts` | Fetch active alerts. |
| `states` | array | `[]` | 2-letter US state codes. Empty = whole US. |
| `severity` | select | `any` | Minimum severity to keep (any / Extreme / Severe / Moderate / Minor). |
| `maxItems` | integer | `200` | Max alerts to store (max 2000). |

Leave `states` empty for a nationwide sweep.

***

### 💡 Use cases

- **Weather apps & dashboards** — power live alert banners and maps.
- **Emergency alerting** — trigger SMS/push notifications on Severe/Extreme events.
- **Logistics & insurance** — reroute fleets, flag policies in impacted areas.
- **Research & journalism** — build datasets of historical alert activity.

***

### 💰 Pricing

Pay-per-result, roughly **$0.50 per 1,000 alerts**. A nationwide run is typically well under a cent per refresh. Schedule it every few minutes for a live feed.

***

### 🔗 Related actors by ninhothedev

- [Weather Scraper](https://apify.com/ninhothedev/weather-scraper)
- [Earthquake Scraper](https://apify.com/ninhothedev/earthquake-scraper)
- [Air Quality Scraper](https://apify.com/ninhothedev/air-quality-scraper)
- [OpenSky Flights Scraper](https://apify.com/ninhothedev/opensky-flights-scraper)

***

### 🏷️ Keywords

noaa scraper, weather alerts api, nws alerts, severe weather warnings, tornado warning api, flash flood warning, us weather alerts, national weather service scraper, emergency alerts, weather data api, storm warnings, weather.gov scraper

***

*Data © US National Weather Service (public domain). This actor is an independent tool and is not affiliated with or endorsed by NOAA/NWS.*

# Actor input Schema

## `mode` (type: `string`):

What to scrape. 'alerts' fetches active US National Weather Service alerts, optionally filtered by states and severity.

## `states` (type: `array`):

Optional list of 2-letter US state/territory codes to filter by, e.g. \["TX", "CA"]. Leave empty to fetch active alerts for the entire United States.

## `severity` (type: `string`):

Only keep alerts at this severity or higher. 'any' returns all alerts; otherwise Extreme > Severe > Moderate > Minor.

## `maxItems` (type: `integer`):

Maximum number of alerts to store across all states. Hard-capped at 2000.

## Actor input object example

```json
{
  "mode": "alerts",
  "states": [
    "TX",
    "CA"
  ],
  "severity": "any",
  "maxItems": 200
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "states": [
        "TX",
        "CA"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ninhothedev/noaa-weather-alerts-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "states": [
        "TX",
        "CA",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ninhothedev/noaa-weather-alerts-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "states": [
    "TX",
    "CA"
  ]
}' |
apify call ninhothedev/noaa-weather-alerts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=ninhothedev/noaa-weather-alerts-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NOAA Weather Alerts Scraper - Active US Severe Weather",
        "description": "$0.5/1K 🔥 Fast NOAA weather alerts scraper! Active US severe-weather warnings — event, area, severity & expiry. No key. JSON, CSV, Excel or API in seconds. Pull alerts for weather apps, logistics & insurance ⚡",
        "version": "0.1",
        "x-build-id": "hIKrnofLukYf0bXsw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/ninhothedev~noaa-weather-alerts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-ninhothedev-noaa-weather-alerts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/ninhothedev~noaa-weather-alerts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-ninhothedev-noaa-weather-alerts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/ninhothedev~noaa-weather-alerts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-ninhothedev-noaa-weather-alerts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "alerts"
                        ],
                        "type": "string",
                        "description": "What to scrape. 'alerts' fetches active US National Weather Service alerts, optionally filtered by states and severity.",
                        "default": "alerts"
                    },
                    "states": {
                        "title": "US states",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Optional list of 2-letter US state/territory codes to filter by, e.g. [\"TX\", \"CA\"]. Leave empty to fetch active alerts for the entire United States.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "severity": {
                        "title": "Minimum severity",
                        "enum": [
                            "any",
                            "Extreme",
                            "Severe",
                            "Moderate",
                            "Minor"
                        ],
                        "type": "string",
                        "description": "Only keep alerts at this severity or higher. 'any' returns all alerts; otherwise Extreme > Severe > Moderate > Minor.",
                        "default": "any"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Maximum number of alerts to store across all states. Hard-capped at 2000.",
                        "default": 200
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
