MAVERICK WX

Source
api.weather.gov

API Explorer

Every endpoint on api.weather.gov, grouped and explained for people who don’t already speak NWS — what it returns, who wants it, and a worked example you can run.

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

69 endpoints shown

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, me@example.com)"
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, me@example.com)"
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, me@example.com)"
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/county/MDC013/radio

Only county zones work here. A forecast or fire zone returns 404, and the error names the enumeration it wanted — verified across six states. Both identifiers arrive in the same /points response, under forecastZone and county, so reaching for the wrong one is easy. Note also that the list repeats each transmitter once per area it serves: 128 entries here are two actual stations.

cURL

curl "https://api.weather.gov/zones/county/MDC013/radio" \
  -H "User-Agent: (myweatherapp.example.com, me@example.com)"