Weather — entry 026 of 31

US Weather

Verified Jul 2026

The National Weather Service API serves official US government forecasts, active alerts, and observation-station data as GeoJSON and JSON-LD feeds, with no signup or API key required. It's widely used by third-party weather apps and accepts direct browser calls, though it requires a descriptive User-Agent header identifying your application on every request.

forecastalertsgovernmentobservationsgeojson
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsGeoJSON, JSON-LD, CAP/XML, DWML/XML, ATOMResponses can be requested as GeoJSON or JSON-LD or CAP/XML or DWML/XML or ATOM.

GreatAPIs Score

Score100out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 5 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 100 on greatapis.com
<a href="https://greatapis.com/api/us-weather/"><img src="https://greatapis.com/badge/us-weather.svg" alt="Scored 100 on greatapis.com"></a>

Auth quickstart

  1. No key needed — call it now.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.weather.gov
Auth
userAgentapiKeyAuth
alerts8
GET/alerts
Parameters
NameInRequiredType
activequerynoboolean
Responses
StatusDescriptionSchema
200
301Certain common queries may be redirected to discrete URLs
default
GET/alerts/active
Responses
StatusDescriptionSchema
200
301Certain common queries may be redirected to discrete URLs
default
GET/alerts/active/area/{area}
Parameters
NameInRequiredType
areapathyes
Responses
StatusDescriptionSchema
200
default
GET/alerts/active/count
Responses
StatusDescriptionSchema
200A data structure showing the counts of active alerts broken down by various categories
default
GET/alerts/active/region/{region}
Parameters
NameInRequiredType
regionpathyes
Responses
StatusDescriptionSchema
200
default
GET/alerts/active/zone/{zoneId}
Responses
StatusDescriptionSchema
200
default
GET/alerts/types
Responses
StatusDescriptionSchema
200A list of recognized event types
default
GET/alerts/{id}
Parameters
NameInRequiredType
idpathyes
Responses
StatusDescriptionSchema
200An alert recordAlertGeoJson
default
aviation7
GET/aviation/cwsus/{cwsuId}
Responses
StatusDescriptionSchema
200successCenterWeatherServiceUnitJsonLd
default
GET/aviation/cwsus/{cwsuId}/cwas
Responses
StatusDescriptionSchema
200successCenterWeatherAdvisoryCollectionGeoJson
default
GET/aviation/cwsus/{cwsuId}/cwas/{date}/{sequence}
Parameters
NameInRequiredType
sequencepathyesinteger
Responses
StatusDescriptionSchema
200successCenterWeatherAdvisoryGeoJson
default
GET/aviation/sigmets
Parameters
NameInRequiredType
atsuqueryno
sequencequeryno
Responses
StatusDescriptionSchema
200successSigmetCollectionGeoJson
default
GET/aviation/sigmets/{atsu}
Responses
StatusDescriptionSchema
200successSigmetCollectionGeoJson
default
GET/aviation/sigmets/{atsu}/{date}
Responses
StatusDescriptionSchema
200successSigmetCollectionGeoJson
default
GET/aviation/sigmets/{atsu}/{date}/{time}
Responses
StatusDescriptionSchema
200successSigmetGeoJson
default
glossary1
GET/glossary
Responses
StatusDescriptionSchema
200A set of glossary terms
default
gridpoints4
GET/gridpoints/{wfo}/{x},{y}
Responses
StatusDescriptionSchema
200Gridpoint forecast dataGridpointGeoJson
default
GET/gridpoints/{wfo}/{x},{y}/forecast
Responses
StatusDescriptionSchema
200
default
GET/gridpoints/{wfo}/{x},{y}/forecast/hourly
Responses
StatusDescriptionSchema
200
default
GET/gridpoints/{wfo}/{x},{y}/stations
Responses
StatusDescriptionSchema
200
default
icons3
GET/icons
Responses
StatusDescriptionSchema
200success
default
GET/icons/{set}/{timeOfDay}/{first}
Parameters
NameInRequiredType
setpathyesstring
timeOfDaypathyesstring
firstpathyesstring
sizequeryno
fontsizequerynointeger
Responses
StatusDescriptionSchema
200successBinaryFile
default
GET/icons/{set}/{timeOfDay}/{first}/{second}
Parameters
NameInRequiredType
setpathyesstring
timeOfDaypathyesstring
firstpathyesstring
secondpathyesstring
sizequeryno
fontsizequerynointeger
Responses
StatusDescriptionSchema
200successBinaryFile
default
offices8
GET/offices/{officeId}
Responses
StatusDescriptionSchema
200successOffice
default
GET/offices/{officeId}/briefing
Responses
StatusDescriptionSchema
200successOfficeBriefing
default
GET/offices/{officeId}/briefing/download/latest
Responses
StatusDescriptionSchema
302success
default
GET/offices/{officeId}/briefing/download/{briefingId}
Parameters
NameInRequiredType
briefingIdpathyesstring
Responses
StatusDescriptionSchema
200successBinaryFile
default
GET/offices/{officeId}/headlines
Responses
StatusDescriptionSchema
200successOfficeHeadlineCollection
default
GET/offices/{officeId}/headlines/{headlineId}
Parameters
NameInRequiredType
headlineIdpathyesstring
Responses
StatusDescriptionSchema
200successOfficeHeadline
default
GET/offices/{officeId}/weatherstories
Responses
StatusDescriptionSchema
200successOfficeWeatherStoryCollection
default
GET/offices/{officeId}/weatherstories/download/{imageId}
Parameters
NameInRequiredType
imageIdpathyesstring
Responses
StatusDescriptionSchema
200successBinaryFile
default
points3
GET/points/{latitude},{longitude}
Responses
StatusDescriptionSchema
200successPointGeoJson
default
GET/points/{latitude},{longitude}/radio
Responses
StatusDescriptionSchema
200success
default
GET/points/{latitude},{longitude}/stations
Responses
StatusDescriptionSchema
301redirect to gridpoint stations
default
products9
GET/products
Parameters
NameInRequiredType
locationquerynoarray
startquerynostring
endquerynostring
officequerynoarray
wmoidquerynoarray
typequerynoarray
limitquerynointeger
Responses
StatusDescriptionSchema
200successTextProductCollection
default
GET/products/locations
Responses
StatusDescriptionSchema
200successTextProductLocationCollection
default
GET/products/locations/{locationId}/types
Parameters
NameInRequiredType
locationIdpathyesstring
Responses
StatusDescriptionSchema
200successTextProductTypeCollection
default
GET/products/types
Responses
StatusDescriptionSchema
200successTextProductTypeCollection
default
GET/products/types/{typeId}
Parameters
NameInRequiredType
typeIdpathyesstring
Responses
StatusDescriptionSchema
200successTextProductCollection
default
GET/products/types/{typeId}/locations
Parameters
NameInRequiredType
typeIdpathyesstring
Responses
StatusDescriptionSchema
200successTextProductLocationCollection
default
GET/products/types/{typeId}/locations/{locationId}
Parameters
NameInRequiredType
typeIdpathyesstring
locationIdpathyesstring
Responses
StatusDescriptionSchema
200successTextProductCollection
default
GET/products/types/{typeId}/locations/{locationId}/latest
Parameters
NameInRequiredType
typeIdpathyesstring
locationIdpathyesstring
Responses
StatusDescriptionSchema
200successTextProduct
default
GET/products/{productId}
Parameters
NameInRequiredType
productIdpathyesstring
Responses
StatusDescriptionSchema
200successTextProduct
default
radar8
GET/radar/profilers/{stationId}
Parameters
NameInRequiredType
stationIdpathyesstring
timequeryno
intervalqueryno
Responses
StatusDescriptionSchema
200success
default
GET/radar/queues/{host}
Parameters
NameInRequiredType
hostpathyesstring
limitquerynointeger
arrivedqueryno
createdqueryno
publishedqueryno
stationquerynostring
typequerynostring
feedquerynostring
resolutionquerynointeger
Responses
StatusDescriptionSchema
200success
default
GET/radar/servers
Parameters
NameInRequiredType
reportingHostquerynostring
Responses
StatusDescriptionSchema
200success
default
GET/radar/servers/{id}
Parameters
NameInRequiredType
idpathyesstring
reportingHostquerynostring
Responses
StatusDescriptionSchema
200success
default
GET/radar/spgds
Parameters
NameInRequiredType
publishedqueryno
Responses
StatusDescriptionSchema
200success
default
GET/radar/stations
Parameters
NameInRequiredType
stationTypequerynoarray
reportingHostquerynostring
hostquerynostring
Responses
StatusDescriptionSchema
200success
default
GET/radar/stations/{stationId}
Parameters
NameInRequiredType
stationIdpathyesstring
reportingHostquerynostring
hostquerynostring
Responses
StatusDescriptionSchema
200success
default
GET/radar/stations/{stationId}/alarms
Parameters
NameInRequiredType
stationIdpathyesstring
Responses
StatusDescriptionSchema
200success
default
radio1
GET/radio/{callSign}/broadcast
Responses
StatusDescriptionSchema
200success
default
stations7
GET/stations
Parameters
NameInRequiredType
idquerynoarray
statequerynoarray
Responses
StatusDescriptionSchema
200
default
GET/stations/{stationId}
Responses
StatusDescriptionSchema
200successObservationStationGeoJson
default
GET/stations/{stationId}/observations
Parameters
NameInRequiredType
limitquerynointeger
Responses
StatusDescriptionSchema
200
default
GET/stations/{stationId}/observations/latest
Parameters
NameInRequiredType
require_qcquerynoboolean
Responses
StatusDescriptionSchema
200
default
GET/stations/{stationId}/observations/{time}
Parameters
NameInRequiredType
timepathyesstring
Responses
StatusDescriptionSchema
200
default
GET/stations/{stationId}/tafs
Responses
StatusDescriptionSchema
200success
default
GET/stations/{stationId}/tafs/{date}/{time}
Responses
StatusDescriptionSchema
200success
default
thumbnails1
GET/thumbnails/satellite/{area}
Parameters
NameInRequiredType
areapathyesstring
Responses
StatusDescriptionSchema
200An image fileBinaryFile
default
zones6
GET/zones
Parameters
NameInRequiredType
idquerynoarray
areaquerynoarray
regionquerynoarray
typequerynoarray
pointqueryno
include_geometryquerynoboolean
limitquerynointeger
effectivequerynostring
Responses
StatusDescriptionSchema
200successZoneCollectionGeoJson
default
GET/zones/forecast/{zoneId}/observations
Parameters
NameInRequiredType
startquerynostring
endquerynostring
limitquerynointeger
Responses
StatusDescriptionSchema
200successObservationCollectionGeoJson
default
GET/zones/forecast/{zoneId}/stations
Responses
StatusDescriptionSchema
200
default
GET/zones/{type}
Parameters
NameInRequiredType
typepathyes
idquerynoarray
areaquerynoarray
regionquerynoarray
typequerynoarray
pointqueryno
include_geometryquerynoboolean
limitquerynointeger
effectivequerynostring
Responses
StatusDescriptionSchema
200successZoneCollectionGeoJson
default
GET/zones/{type}/{zoneId}
Parameters
NameInRequiredType
typepathyes
effectivequerynostring
Responses
StatusDescriptionSchema
200successZoneGeoJson
default
GET/zones/{type}/{zoneId}/forecast
Parameters
NameInRequiredType
typepathyesstring
Responses
StatusDescriptionSchema
200successZoneForecastGeoJson
default

Try it

Developer reference

Base URLhttps://api.weather.gov
Rate limit

No fixed public rate limit is published; exceeding an undisclosed threshold returns an error, typically clearing within ~5 seconds. Every request must include a descriptive User-Agent header identifying the app (e.g. contact info) — direct client requests are rarely throttled, but requests routed through shared proxies are far more likely to hit the limit.

Key endpoints
  • GET/points/{latitude},{longitude}
  • GET/gridpoints/{wfo}/{x},{y}/forecast
  • GET/gridpoints/{wfo}/{x},{y}/forecast/hourly
  • GET/alerts/active
  • GET/stations/{stationId}/observations/latest