# US Weather Alerts API
> Live United States weather alerts as an API, straight from the National Weather Service. Get every active severe-weather warning, watch and advisory — tornado warnings, flash-flood and river-flood warnings, severe thunderstorm, winter storm, blizzard, excessive-heat, hurricane, red-flag and dozens more — filtered by US state, by a latitude/longitude point, or by NWS forecast/county zone, and refine by severity (Extreme, Severe, Moderate, Minor), urgency or event type. Each alert carries the event name, severity, urgency and certainty, the headline, the affected areas, the full description and the official protective-action instructions, plus the effective, onset, expires and ends times. See how many alerts are active nationwide and broken down by state, resolve any location to its NWS office, forecast zone and county, browse the full list of alert event types, and look up terms in the NWS weather glossary. Perfect for weather dashboards and safety apps, emergency-notification systems, smart-home automations, Discord/Slack bots and travel tools. No accounts, no upstream key. Covers the United States; for forecasts use the Weather API.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/weatheralerts-api/..."
```

## Pricing
- **Free** (Free) — 3,450 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 45,000 calls/Mo, 5 req/s
- **Pro** ($14/Mo) — 214,000 calls/Mo, 15 req/s
- **Mega** ($38/Mo) — 1,070,000 calls/Mo, 40 req/s

## Endpoints

### Alerts

#### `GET /v1/alerts` — Active weather alerts

**Parameters:**
- `area` (query, optional, string) — 2-letter state Example: `TX`
- `point` (query, optional, string) — lat,lon Example: `38.9,-77.0`
- `zone` (query, optional, string) — Zone id Example: `TXZ211`
- `severity` (query, optional, string) — Extreme|Severe|Moderate|Minor Example: `Severe`
- `event` (query, optional, string) — Event type Example: `Tornado Warning`
- `limit` (query, optional, string) — Max 1-200 Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/weatheralerts-api/v1/alerts?area=TX&point=38.9%2C-77.0&zone=TXZ211&severity=Severe&event=Tornado+Warning&limit=50"
```

**Response:**
```json
{
    "data": {
        "count": 0,
        "total": 0,
        "alerts": [],
        "updated": "2026-06-01T00:02:08+00:00"
    },
    "meta": {
        "timestamp": "2026-06-01T00:03:40.622Z",
        "request_id": "3c6928ae-667a-4327-ad99-8703f9f07b27"
    },
    "status": "ok",
    "message": "Alerts retrieved",
    "success": true
}
```

#### `GET /v1/count` — Active alert counts by state

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/weatheralerts-api/v1/count"
```

**Response:**
```json
{
    "data": {
        "land": 76,
        "total": 232,
        "marine": 156,
        "by_area": [
            {
                "name": "PK",
                "count": 114
            },
            {
                "name": "PZ",
                "count": 26
            },
            {
                "name": "MO",
                "count": 11
            },
            {
                "name": "AN",
                "count": 9
            },
            {
                "name": "KS",
                "count": 7
            },
            {
                "name": "AR",
                "count": 6
            },
            {
                "name": "MT",
                "count": 6
            },
            {
                "name": "TN",
                "count": 6
            },
            {
                "name": "TX",
                "count": 6
            },
            {
                "name": "AK",
                "count": 5
            },
            {
                "name": "AL",
                "count": 4
            },
            {
                "name": "SD",
                "count": 4
            },
            {
                "name": "LA",
                "count": 3
            },
            {
                "name": "MD",
                "count": 3
            },
            {
                "name": "MS",
                "count": 3
            },
            {
                "name": "AM",
                "count": 2
            },
            {
    
…(truncated, see openapi.json for full schema)
```

### Reference

#### `GET /v1/glossary` — NWS weather glossary

**Parameters:**
- `term` (query, optional, string) — Term contains Example: `tornado`
- `limit` (query, optional, string) — Max results Example: `30`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/weatheralerts-api/v1/glossary?term=tornado&limit=30"
```

**Response:**
```json
{
    "data": {
        "count": 8,
        "query": "tornado",
        "terms": [
            {
                "term": "Multiple Vortex Tornado",
                "definition": "A tornado in which two or more condensation funnels or debris clouds are present at the same time, often rotating about a common center or about each other. Multiple-vortex tornadoes can be especially damaging."
            },
            {
                "term": "Tornado",
                "definition": "A violently rotating column of air, usually pendant to a cumulonimbus, with circulation reaching the ground. It nearly always starts as a funnel cloud and may be accompanied by a loud roaring noise. On a local scale, it is the most destructive of all atmospheric phenomena."
            },
            {
                "term": "Tornado Emergency",
                "definition": "An exceedingly rare tornado warning issued when there is a severe threat to human life and catastrophic damage from an imminent or ongoing tornado. This tornado warning is reserved for situations when a reliable source confirms a tornado, or there is clear radar evidence of the existence of a damaging tornado, such as the observation of debris."
            },
            {
                "term": "Tornado Family",
                "definition": "A series of tornadoes produced by a single supercell, resulting in damage path segments along the same general line."
            },
            {
                "term": "Tornado Vort
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/point` — Location to NWS zone/office

**Parameters:**
- `lat` (query, required, string) — Latitude Example: `38.9`
- `lon` (query, required, string) — Longitude Example: `-77.0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/weatheralerts-api/v1/point?lat=38.9&lon=-77.0"
```

**Response:**
```json
{
    "data": {
        "city": "Washington",
        "point": "38.9,-77.0",
        "radar": "KLWX",
        "state": "DC",
        "county": "DCC001",
        "office": "LWX",
        "timezone": "America/New_York",
        "forecast_zone": "DCZ001",
        "fire_weather_zone": "DCZ001"
    },
    "meta": {
        "timestamp": "2026-06-01T00:03:41.135Z",
        "request_id": "0f4d28ce-3f7e-4669-9c10-8aa87c0bb39e"
    },
    "status": "ok",
    "message": "Point retrieved",
    "success": true
}
```

#### `GET /v1/types` — Alert event types

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/weatheralerts-api/v1/types"
```

**Response:**
```json
{
    "data": {
        "count": 111,
        "event_types": [
            "911 Telephone Outage",
            "Administrative Message",
            "Air Quality Alert",
            "Air Stagnation Advisory",
            "Ashfall Advisory",
            "Ashfall Warning",
            "Avalanche Advisory",
            "Avalanche Warning",
            "Avalanche Watch",
            "Beach Hazards Statement",
            "Blizzard Warning",
            "Blowing Dust Advisory",
            "Blowing Dust Warning",
            "Blue Alert",
            "Brisk Wind Advisory",
            "Child Abduction Emergency",
            "Civil Danger Warning",
            "Civil Emergency Message",
            "Coastal Flood Advisory",
            "Coastal Flood Statement",
            "Coastal Flood Warning",
            "Coastal Flood Watch",
            "Cold Weather Advisory",
            "Dense Fog Advisory",
            "Dense Smoke Advisory",
            "Dust Advisory",
            "Dust Storm Warning",
            "Earthquake Warning",
            "Evacuation Immediate",
            "Extreme Heat Warning",
            "Extreme Heat Watch",
            "Extreme Cold Warning",
            "Extreme Cold Watch",
            "Extreme Fire Danger",
            "Extreme Wind Warning",
            "Fire Warning",
            "Fire Weather Watch",
            "Flash Flood Statement",
            "Flash Flood Warning",
            "Flash Flood Watch",
            "Flood Advisory",
            
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/zone` — Forecast/county zone

**Parameters:**
- `id` (query, required, string) — Zone id Example: `DCZ001`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/weatheralerts-api/v1/zone?id=DCZ001"
```

**Response:**
```json
{
    "data": {
        "zone": {
            "id": "DCZ001",
            "name": "District of Columbia",
            "type": "public",
            "radar": "LWX",
            "state": "DC",
            "offices": [
                "LWX"
            ],
            "timezone": "America/New_York"
        }
    },
    "meta": {
        "timestamp": "2026-06-01T00:03:41.289Z",
        "request_id": "0564107a-b847-4355-8c98-fc210c6c75ea"
    },
    "status": "ok",
    "message": "Zone retrieved",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/weatheralerts-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "Live US weather alerts. /v1/alerts?area=TX (or point=lat,lon, or zone=TXZ211; filter severity=Extreme|Severe|Moderate|Minor, urgency=, event=Tornado Warning) = active warnings/watches/advisories with headline, description, instruction, effective/expires; /v1/count = how many alerts are active, by state; /v1/zone?id=DCZ001 = a forecast/county zone (name, state, office, timezone); /v1/point?lat=38.9&lon=-77.0 = a location's NWS office, forecast zone & county; /v1/types = the list of alert event types; /v1/glossary?term=tornado = NWS weather term definitions. Covers the United States. For forecasts use the Weather API; for airport METARs the METAR API.",
        "source": "US National Weather Service (api.weather.gov)",
        "endpoints": [
            "/v1/alerts",
            "/v1/count",
            "/v1/zone",
            "/v1/point",
            "/v1/types",
            "/v1/glossary",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T00:03:41.335Z",
        "request_id": "f7d3c0e2-8d69-40af-a9da-f2533524d56c"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


---
Marketplace page: https://www.oanor.com/api/weatheralerts-api
OpenAPI spec: https://www.oanor.com/api/weatheralerts-api/openapi.json
