NWS Alert

A National Weather Service alert in the GeoJSON representation returned by api.weather.gov. Conforms to the Common Alerting Protocol (CAP 1.2) profile used by NWS.

WeatherClimateOceanSpace WeatherGovernmentOpen DataForecastMarineAtmosphericHydrologySatelliteFisheriesAviationEmergency Management

Properties

Name Type Description
id string Canonical NWS URI for the alert.
type string
geometry object GeoJSON Polygon or MultiPolygon delimiting the affected area; may be null when only zone references are provided.
properties object
View JSON Schema on GitHub

JSON Schema

noaa-gov-alert-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/noaa-gov/refs/heads/main/json-schema/noaa-gov-alert-schema.json",
  "title": "NWS Alert",
  "description": "A National Weather Service alert in the GeoJSON representation returned by api.weather.gov. Conforms to the Common Alerting Protocol (CAP 1.2) profile used by NWS.",
  "type": "object",
  "required": ["id", "type", "geometry", "properties"],
  "properties": {
    "id": {
      "type": "string",
      "format": "uri",
      "description": "Canonical NWS URI for the alert."
    },
    "type": {
      "type": "string",
      "const": "Feature"
    },
    "geometry": {
      "oneOf": [
        { "type": "null" },
        {
          "type": "object",
          "required": ["type", "coordinates"],
          "properties": {
            "type": {
              "type": "string",
              "enum": ["Polygon", "MultiPolygon"]
            },
            "coordinates": {
              "type": "array"
            }
          }
        }
      ],
      "description": "GeoJSON Polygon or MultiPolygon delimiting the affected area; may be null when only zone references are provided."
    },
    "properties": {
      "type": "object",
      "required": ["id", "event", "sender", "sent", "effective", "expires", "severity", "certainty", "urgency", "headline"],
      "properties": {
        "id": { "type": "string" },
        "areaDesc": { "type": "string", "description": "Human-readable description of the affected area." },
        "geocode": {
          "type": "object",
          "properties": {
            "SAME": { "type": "array", "items": { "type": "string" } },
            "UGC": { "type": "array", "items": { "type": "string" } }
          }
        },
        "affectedZones": {
          "type": "array",
          "items": { "type": "string", "format": "uri" }
        },
        "references": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@id": { "type": "string" },
              "identifier": { "type": "string" },
              "sender": { "type": "string" },
              "sent": { "type": "string", "format": "date-time" }
            }
          }
        },
        "sent": { "type": "string", "format": "date-time" },
        "effective": { "type": "string", "format": "date-time" },
        "onset": { "type": "string", "format": "date-time" },
        "expires": { "type": "string", "format": "date-time" },
        "ends": { "type": "string", "format": "date-time" },
        "status": {
          "type": "string",
          "enum": ["Actual", "Exercise", "System", "Test", "Draft"]
        },
        "messageType": {
          "type": "string",
          "enum": ["Alert", "Update", "Cancel", "Ack", "Error"]
        },
        "category": {
          "type": "string",
          "enum": ["Met", "Geo", "Safety", "Security", "Rescue", "Fire", "Health", "Env", "Transport", "Infra", "CBRNE", "Other"]
        },
        "severity": {
          "type": "string",
          "enum": ["Extreme", "Severe", "Moderate", "Minor", "Unknown"]
        },
        "certainty": {
          "type": "string",
          "enum": ["Observed", "Likely", "Possible", "Unlikely", "Unknown"]
        },
        "urgency": {
          "type": "string",
          "enum": ["Immediate", "Expected", "Future", "Past", "Unknown"]
        },
        "event": { "type": "string", "description": "Plain-language event type (e.g., Tornado Warning)." },
        "sender": { "type": "string", "format": "email" },
        "senderName": { "type": "string" },
        "headline": { "type": "string" },
        "description": { "type": "string" },
        "instruction": { "type": "string" },
        "response": {
          "type": "string",
          "enum": ["Shelter", "Evacuate", "Prepare", "Execute", "Avoid", "Monitor", "Assess", "AllClear", "None"]
        },
        "parameters": {
          "type": "object",
          "description": "Arbitrary CAP-style key/value parameters such as VTEC, eventEndingTime, NWSheadline."
        }
      }
    }
  }
}