MaverickWX

NWS Guide

Browse the API

Every endpoint on api.weather.gov — what it returns, who wants it, and a worked example.

Built from the live OpenAPI spec (version 3.11.0) on 2026-09-09. New here? Start with how it thinks.

4 endpoints shown in Zones & Geography

Zones & Geography

The shapes NWS divides the country into: forecast zones, counties, fire weather zones and marine areas.

GET https://api.weather.gov/zones

Every zone NWS uses, of every kind. Zones are the areas warnings and public forecasts are written for — and there are several overlapping systems, which is the single most confusing thing about NWS geography.

Mapmakers and developers who need to match a place to an NWS area.

8 parameters
Name In Required Notes
id query no Zone ID (forecast or county) array
area query no State/marine area code array
region query no Region code array
type query no Zone type array
point query no Point (latitude,longitude)
include_geometry query no Include geometry in results (true/false) boolean
limit query no Limit integer
effective query no Effective date/time string (date-time)
Worked example

Worked example

https://api.weather.gov/zones?limit=10

cURL

curl "https://api.weather.gov/zones?limit=10" \
  -H "User-Agent: (myweatherapp.example.com, [email protected])"
GET https://api.weather.gov/zones/{type}

Zones of one kind: forecast zones (public forecasts), county zones (many warnings), fire weather zones (fire danger), or marine zones (coastal and offshore waters). The same ground can belong to a different-shaped area in each system.

Anyone who has wondered why a warning covers a different shape than the forecast.

8 parameters
Name In Required Notes
id query no Zone ID (forecast or county) array
area query no State/marine area code array
region query no Region code array
type query no Zone type array
point query no Point (latitude,longitude)
include_geometry query no Include geometry in results (true/false) boolean
limit query no Limit integer
effective query no Effective date/time string (date-time)
Worked example

Worked example

https://api.weather.gov/zones/forecast?area=KS

cURL

curl "https://api.weather.gov/zones/forecast?area=KS" \
  -H "User-Agent: (myweatherapp.example.com, [email protected])"
GET https://api.weather.gov/zones/{type}/{zoneId}

One zone in detail, including its boundary as GeoJSON so you can draw it on a map.

Mapmakers.

1 parameter
Name In Required Notes
effective query no Effective date/time string (date-time)
Worked example

Worked example

https://api.weather.gov/zones/forecast/KSZ009

cURL

curl "https://api.weather.gov/zones/forecast/KSZ009" \
  -H "User-Agent: (myweatherapp.example.com, [email protected])"
GET https://api.weather.gov/zones/{type}/{zoneId}/radio

Which NOAA Weather Radio transmitters serve a given zone.

Emergency managers checking radio coverage.

Worked example

Worked example

https://api.weather.gov/zones/forecast/KSZ009/radio

cURL

curl "https://api.weather.gov/zones/forecast/KSZ009/radio" \
  -H "User-Agent: (myweatherapp.example.com, [email protected])"

Show all 69 endpoints