Atlas / Categories / Weather / US Weather 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.
forecast alerts government observations geojson
Authentication None required Call it straight away — no key, no signup.
HTTPS Supported Traffic is encrypted in transit.
CORS Enabled Callable directly from browser JavaScript.
Pricing Free No paid tier — free for the documented use case.
Formats GeoJSON, JSON-LD, CAP/XML, DWML/XML, ATOM Responses can be requested as GeoJSON or JSON-LD or CAP/XML or DWML/XML or ATOM.
GreatAPIs Score Score 100 out of 100
Authentication 25/25 No authentication required
Pricing 20/20 Free to use
Docs 20/20 Machine-readable spec file bundled
Formats 15/15 Supports 5 response formats
Freshness 20/20 Verified within 6 months
Embed this badge <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 No key needed — call it now. Stored key No key stored Clear key
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints alerts 8 GET /alertsParameters Name In Required Type activequery no boolean
Responses Status Description Schema 200— — 301Certain common queries may be redirected to discrete URLs — default— —
GET /alerts/activeResponses Status Description Schema 200— — 301Certain common queries may be redirected to discrete URLs — default— —
GET /alerts/active/area/{area}Parameters Name In Required Type areapath yes —
Responses Status Description Schema 200— — default— —
GET /alerts/active/countResponses Status Description Schema 200A data structure showing the counts of active alerts broken down by various categories — default— —
GET /alerts/active/region/{region}Parameters Name In Required Type regionpath yes —
Responses Status Description Schema 200— — default— —
GET /alerts/active/zone/{zoneId}Responses Status Description Schema 200— — default— —
GET /alerts/typesResponses Status Description Schema 200A list of recognized event types — default— —
GET /alerts/{id}Parameters Name In Required Type idpath yes —
Responses Status Description Schema 200An alert record AlertGeoJsondefault— —
aviation 7 GET /aviation/cwsus/{cwsuId}Responses Status Description Schema 200success CenterWeatherServiceUnitJsonLddefault— —
GET /aviation/cwsus/{cwsuId}/cwasResponses Status Description Schema 200success CenterWeatherAdvisoryCollectionGeoJsondefault— —
GET /aviation/cwsus/{cwsuId}/cwas/{date}/{sequence}Parameters Name In Required Type sequencepath yes integer
Responses Status Description Schema 200success CenterWeatherAdvisoryGeoJsondefault— —
GET /aviation/sigmetsParameters Name In Required Type atsuquery no — sequencequery no —
Responses Status Description Schema 200success SigmetCollectionGeoJsondefault— —
GET /aviation/sigmets/{atsu}Responses Status Description Schema 200success SigmetCollectionGeoJsondefault— —
GET /aviation/sigmets/{atsu}/{date}Responses Status Description Schema 200success SigmetCollectionGeoJsondefault— —
GET /aviation/sigmets/{atsu}/{date}/{time}Responses Status Description Schema 200success SigmetGeoJsondefault— —
glossary 1 GET /glossaryResponses Status Description Schema 200A set of glossary terms — default— —
gridpoints 4 GET /gridpoints/{wfo}/{x},{y}Responses Status Description Schema 200Gridpoint forecast data GridpointGeoJsondefault— —
GET /gridpoints/{wfo}/{x},{y}/forecastResponses Status Description Schema 200— — default— —
GET /gridpoints/{wfo}/{x},{y}/forecast/hourlyResponses Status Description Schema 200— — default— —
GET /gridpoints/{wfo}/{x},{y}/stationsResponses Status Description Schema 200— — default— —
icons 3 GET /iconsResponses Status Description Schema 200success — default— —
GET /icons/{set}/{timeOfDay}/{first}Parameters Name In Required Type setpath yes string timeOfDaypath yes string firstpath yes string sizequery no — fontsizequery no integer
Responses Status Description Schema 200success BinaryFiledefault— —
GET /icons/{set}/{timeOfDay}/{first}/{second}Parameters Name In Required Type setpath yes string timeOfDaypath yes string firstpath yes string secondpath yes string sizequery no — fontsizequery no integer
Responses Status Description Schema 200success BinaryFiledefault— —
offices 8 GET /offices/{officeId}Responses Status Description Schema 200success Officedefault— —
GET /offices/{officeId}/briefingResponses Status Description Schema 200success OfficeBriefingdefault— —
GET /offices/{officeId}/briefing/download/latestResponses Status Description Schema 302success — default— —
GET /offices/{officeId}/briefing/download/{briefingId}Parameters Name In Required Type briefingIdpath yes string
Responses Status Description Schema 200success BinaryFiledefault— —
GET /offices/{officeId}/headlinesResponses Status Description Schema 200success OfficeHeadlineCollectiondefault— —
GET /offices/{officeId}/headlines/{headlineId}Parameters Name In Required Type headlineIdpath yes string
Responses Status Description Schema 200success OfficeHeadlinedefault— —
GET /offices/{officeId}/weatherstoriesResponses Status Description Schema 200success OfficeWeatherStoryCollectiondefault— —
GET /offices/{officeId}/weatherstories/download/{imageId}Parameters Name In Required Type imageIdpath yes string
Responses Status Description Schema 200success BinaryFiledefault— —
points 3 GET /points/{latitude},{longitude}Responses Status Description Schema 200success PointGeoJsondefault— —
GET /points/{latitude},{longitude}/radioResponses Status Description Schema 200success — default— —
GET /points/{latitude},{longitude}/stationsResponses Status Description Schema 301redirect to gridpoint stations — default— —
products 9 GET /productsParameters Name In Required Type locationquery no array startquery no string endquery no string officequery no array wmoidquery no array typequery no array limitquery no integer
Responses Status Description Schema 200success TextProductCollectiondefault— —
GET /products/locationsResponses Status Description Schema 200success TextProductLocationCollectiondefault— —
GET /products/locations/{locationId}/typesParameters Name In Required Type locationIdpath yes string
Responses Status Description Schema 200success TextProductTypeCollectiondefault— —
GET /products/typesResponses Status Description Schema 200success TextProductTypeCollectiondefault— —
GET /products/types/{typeId}Parameters Name In Required Type typeIdpath yes string
Responses Status Description Schema 200success TextProductCollectiondefault— —
GET /products/types/{typeId}/locationsParameters Name In Required Type typeIdpath yes string
Responses Status Description Schema 200success TextProductLocationCollectiondefault— —
GET /products/types/{typeId}/locations/{locationId}Parameters Name In Required Type typeIdpath yes string locationIdpath yes string
Responses Status Description Schema 200success TextProductCollectiondefault— —
GET /products/types/{typeId}/locations/{locationId}/latestParameters Name In Required Type typeIdpath yes string locationIdpath yes string
Responses Status Description Schema 200success TextProductdefault— —
GET /products/{productId}Parameters Name In Required Type productIdpath yes string
Responses Status Description Schema 200success TextProductdefault— —
radar 8 GET /radar/profilers/{stationId}Parameters Name In Required Type stationIdpath yes string timequery no — intervalquery no —
Responses Status Description Schema 200success — default— —
GET /radar/queues/{host}Parameters Name In Required Type hostpath yes string limitquery no integer arrivedquery no — createdquery no — publishedquery no — stationquery no string typequery no string feedquery no string resolutionquery no integer
Responses Status Description Schema 200success — default— —
GET /radar/serversParameters Name In Required Type reportingHostquery no string
Responses Status Description Schema 200success — default— —
GET /radar/servers/{id}Parameters Name In Required Type idpath yes string reportingHostquery no string
Responses Status Description Schema 200success — default— —
GET /radar/spgdsParameters Name In Required Type publishedquery no —
Responses Status Description Schema 200success — default— —
GET /radar/stationsParameters Name In Required Type stationTypequery no array reportingHostquery no string hostquery no string
Responses Status Description Schema 200success — default— —
GET /radar/stations/{stationId}Parameters Name In Required Type stationIdpath yes string reportingHostquery no string hostquery no string
Responses Status Description Schema 200success — default— —
GET /radar/stations/{stationId}/alarmsParameters Name In Required Type stationIdpath yes string
Responses Status Description Schema 200success — default— —
radio 1 GET /radio/{callSign}/broadcastResponses Status Description Schema 200success — default— —
stations 7 GET /stationsParameters Name In Required Type idquery no array statequery no array
Responses Status Description Schema 200— — default— —
GET /stations/{stationId}Responses Status Description Schema 200success ObservationStationGeoJsondefault— —
GET /stations/{stationId}/observationsParameters Name In Required Type limitquery no integer
Responses Status Description Schema 200— — default— —
GET /stations/{stationId}/observations/latestParameters Name In Required Type require_qcquery no boolean
Responses Status Description Schema 200— — default— —
GET /stations/{stationId}/observations/{time}Parameters Name In Required Type timepath yes string
Responses Status Description Schema 200— — default— —
GET /stations/{stationId}/tafsResponses Status Description Schema 200success — default— —
GET /stations/{stationId}/tafs/{date}/{time}Responses Status Description Schema 200success — default— —
thumbnails 1 GET /thumbnails/satellite/{area}Parameters Name In Required Type areapath yes string
Responses Status Description Schema 200An image file BinaryFiledefault— —
zones 6 GET /zonesParameters Name In Required Type idquery no array areaquery no array regionquery no array typequery no array pointquery no — include_geometryquery no boolean limitquery no integer effectivequery no string
Responses Status Description Schema 200success ZoneCollectionGeoJsondefault— —
GET /zones/forecast/{zoneId}/observationsParameters Name In Required Type startquery no string endquery no string limitquery no integer
Responses Status Description Schema 200success ObservationCollectionGeoJsondefault— —
GET /zones/forecast/{zoneId}/stationsResponses Status Description Schema 200— — default— —
GET /zones/{type}Parameters Name In Required Type typepath yes — idquery no array areaquery no array regionquery no array typequery no array pointquery no — include_geometryquery no boolean limitquery no integer effectivequery no string
Responses Status Description Schema 200success ZoneCollectionGeoJsondefault— —
GET /zones/{type}/{zoneId}Parameters Name In Required Type typepath yes — effectivequery no string
Responses Status Description Schema 200success ZoneGeoJsondefault— —
GET /zones/{type}/{zoneId}/forecastParameters Name In Required Type typepath yes string
Responses Status Description Schema 200success ZoneForecastGeoJsondefault— —
Developer reference Base URL https://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