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
startquerynostring
endquerynostring
statusquerynoarray
message_typequerynoarray
eventquerynoarray
codequerynoarray
areaquerynoarray
pointqueryno—
regionquerynoarray
region_typequerynostring
zonequerynoarray
urgencyquerynoarray
severityquerynoarray
certaintyquerynoarray
limitquerynointeger
cursorquerynostring
Responses
StatusDescriptionSchema
200——
301Certain common queries may be redirected to discrete URLs—
default——
GET/alerts/active
Parameters
NameInRequiredType
statusquerynoarray
message_typequerynoarray
eventquerynoarray
codequerynoarray
areaquerynoarray
pointqueryno—
regionquerynoarray
region_typequerynostring
zonequerynoarray
urgencyquerynoarray
severityquerynoarray
certaintyquerynoarray
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}
Parameters
NameInRequiredType
zoneIdpathyes—
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}
Parameters
NameInRequiredType
cwsuIdpathyes—
Responses
StatusDescriptionSchema
200successCenterWeatherServiceUnitJsonLd
default——
GET/aviation/cwsus/{cwsuId}/cwas
Parameters
NameInRequiredType
cwsuIdpathyes—
Responses
StatusDescriptionSchema
200successCenterWeatherAdvisoryCollectionGeoJson
default——
GET/aviation/cwsus/{cwsuId}/cwas/{date}/{sequence}
Parameters
NameInRequiredType
cwsuIdpathyes—
datepathyes—
sequencepathyesinteger
Responses
StatusDescriptionSchema
200successCenterWeatherAdvisoryGeoJson
default——
GET/aviation/sigmets
Parameters
NameInRequiredType
startquerynostring
endquerynostring
datequeryno—
atsuqueryno—
sequencequeryno—
Responses
StatusDescriptionSchema
200successSigmetCollectionGeoJson
default——
GET/aviation/sigmets/{atsu}
Parameters
NameInRequiredType
atsupathyes—
Responses
StatusDescriptionSchema
200successSigmetCollectionGeoJson
default——
GET/aviation/sigmets/{atsu}/{date}
Parameters
NameInRequiredType
atsupathyes—
datepathyes—
Responses
StatusDescriptionSchema
200successSigmetCollectionGeoJson
default——
GET/aviation/sigmets/{atsu}/{date}/{time}
Parameters
NameInRequiredType
atsupathyes—
datepathyes—
timepathyes—
Responses
StatusDescriptionSchema
200successSigmetGeoJson
default——
glossary1
GET/glossary
Responses
StatusDescriptionSchema
200A set of glossary terms—
default——
gridpoints4
GET/gridpoints/{wfo}/{x},{y}
Parameters
NameInRequiredType
wfopathyes—
xpathyesinteger
ypathyesinteger
Responses
StatusDescriptionSchema
200Gridpoint forecast dataGridpointGeoJson
default——
GET/gridpoints/{wfo}/{x},{y}/forecast
Parameters
NameInRequiredType
wfopathyes—
xpathyesinteger
ypathyesinteger
Feature-Flagsheadernoarray
unitsqueryno—
Responses
StatusDescriptionSchema
200——
default——
GET/gridpoints/{wfo}/{x},{y}/forecast/hourly
Parameters
NameInRequiredType
wfopathyes—
xpathyesinteger
ypathyesinteger
Feature-Flagsheadernoarray
unitsqueryno—
Responses
StatusDescriptionSchema
200——
default——
GET/gridpoints/{wfo}/{x},{y}/stations
Parameters
NameInRequiredType
wfopathyes—
xpathyesinteger
ypathyesinteger
limitquerynointeger
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}
Parameters
NameInRequiredType
officeIdpathyes—
Responses
StatusDescriptionSchema
200successOffice
default——
GET/offices/{officeId}/briefing
Parameters
NameInRequiredType
officeIdpathyes—
Responses
StatusDescriptionSchema
200successOfficeBriefing
default——
GET/offices/{officeId}/briefing/download/latest
Parameters
NameInRequiredType
officeIdpathyes—
Responses
StatusDescriptionSchema
302success—
default——
GET/offices/{officeId}/briefing/download/{briefingId}
Parameters
NameInRequiredType
officeIdpathyes—
briefingIdpathyesstring
Responses
StatusDescriptionSchema
200successBinaryFile
default——
GET/offices/{officeId}/headlines
Parameters
NameInRequiredType
officeIdpathyes—
Responses
StatusDescriptionSchema
200successOfficeHeadlineCollection
default——
GET/offices/{officeId}/headlines/{headlineId}
Parameters
NameInRequiredType
officeIdpathyes—
headlineIdpathyesstring
Responses
StatusDescriptionSchema
200successOfficeHeadline
default——
GET/offices/{officeId}/weatherstories
Parameters
NameInRequiredType
officeIdpathyes—
Responses
StatusDescriptionSchema
200successOfficeWeatherStoryCollection
default——
GET/offices/{officeId}/weatherstories/download/{imageId}
Parameters
NameInRequiredType
officeIdpathyes—
imageIdpathyesstring
Responses
StatusDescriptionSchema
200successBinaryFile
default——
points3
GET/points/{latitude},{longitude}
Parameters
NameInRequiredType
latitudepathyesnumber
longitudepathyesnumber
Responses
StatusDescriptionSchema
200successPointGeoJson
default——
GET/points/{latitude},{longitude}/radio
Parameters
NameInRequiredType
latitudepathyesnumber
longitudepathyesnumber
Responses
StatusDescriptionSchema
200success—
default——
GET/points/{latitude},{longitude}/stations
Parameters
NameInRequiredType
latitudepathyesnumber
longitudepathyesnumber
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
Parameters
NameInRequiredType
callSignpathyesstring
Responses
StatusDescriptionSchema
200success—
default——
stations7
GET/stations
Parameters
NameInRequiredType
idquerynoarray
statequerynoarray
limitquerynointeger
cursorquerynostring
Responses
StatusDescriptionSchema
200——
default——
GET/stations/{stationId}
Parameters
NameInRequiredType
stationIdpathyesstring
Responses
StatusDescriptionSchema
200successObservationStationGeoJson
default——
GET/stations/{stationId}/observations
Parameters
NameInRequiredType
stationIdpathyesstring
startquerynostring
endquerynostring
cursorquerynostring
limitquerynointeger
Responses
StatusDescriptionSchema
200——
default——
GET/stations/{stationId}/observations/latest
Parameters
NameInRequiredType
stationIdpathyesstring
require_qcquerynoboolean
Responses
StatusDescriptionSchema
200——
default——
GET/stations/{stationId}/observations/{time}
Parameters
NameInRequiredType
stationIdpathyesstring
timepathyesstring
Responses
StatusDescriptionSchema
200——
default——
GET/stations/{stationId}/tafs
Parameters
NameInRequiredType
stationIdpathyesstring
Responses
StatusDescriptionSchema
200success—
default——
GET/stations/{stationId}/tafs/{date}/{time}
Parameters
NameInRequiredType
stationIdpathyesstring
datepathyes—
timepathyes—
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
zoneIdpathyes—
startquerynostring
endquerynostring
limitquerynointeger
Responses
StatusDescriptionSchema
200successObservationCollectionGeoJson
default——
GET/zones/forecast/{zoneId}/stations
Parameters
NameInRequiredType
zoneIdpathyes—
limitquerynointeger
cursorquerynostring
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—
zoneIdpathyes—
effectivequerynostring
Responses
StatusDescriptionSchema
200successZoneGeoJson
default——
GET/zones/{type}/{zoneId}/forecast
Parameters
NameInRequiredType
typepathyesstring
zoneIdpathyes—
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

Availability

Uptime100%
Median latency294 ms
Last checkUp · 200 · Sep 2026

17 checks since Aug 2026. A person runs this check by hand, not an automated monitor.

Changelog

Spec version3.11.0
Tracked paths69

No change recorded yet.

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗