Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

National Weather Service Stations API

The Stations API from National Weather Service — 7 operation(s) for stations.

National Weather Service Stations API is one of 13 APIs that National Weather Service publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Stations. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 7 operations across 7 paths, and defines 30 schemas. It is described by OpenAPI 3.1.2, at version 3.8.1.

Requests are made against a single base URL, https://api.weather.gov.

7 operations 7 paths 30 schemas 7 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.2
API Version
3.8.1
Base URL
https://api.weather.gov/
Authentication
API Key, API Key
Resource Areas
1

Authentication & Security 2

National Weather Service Stations API declares 2 security schemes for authenticating requests. An API key is passed in the header as User-Agent (userAgent). An API key is passed in the header as API-Key (apiKeyAuth). By default, every request must be authenticated.

  • userAgent — We require that all consumers of the API include a User-Agent header in requests. This is due to a high number of scripts exhibiting abusive behavior (intentio…
  • apiKeyAuth — We are testing including a more traditional API Key system on certain endpoints. This is due to a large change in the weather.gov site. The API remains open an…

Paths & Operations 7

Across 7 paths, the API surfaces 7 operations — 7 GET. Each is listed below with its method, path, parameters, and response codes.

Stations 7
GET
/stations/{stationId}/observations
Returns a list of observations for a given station
station_observation_list 5 params → 200default
GET
/stations/{stationId}/observations/latest
Returns the latest observation for a station
station_observation_latest 2 params → 200default
GET
/stations/{stationId}/observations/{time}
Returns a single observation.
station_observation_time 2 params → 200default
GET
/stations/{stationId}/tafs
Returns Terminal Aerodrome Forecasts for the specified airport station.
tafs 1 param → 200default
GET
/stations/{stationId}/tafs/{date}/{time}
Returns a single Terminal Aerodrome Forecast.
taf 3 params → 200default
GET
/stations
Returns a list of observation stations.
obs_stations 4 params → 200default
GET
/stations/{stationId}
Returns metadata about a given observation station
obs_station 1 param → 200default

Schemas 30

The contract defines 30 schemas that model the data the API accepts and returns. The most detailed are Observation (30 properties), ObservationStation (15 properties), ProblemDetail (6 properties), GeoJsonFeature (5 properties). Each schema is shown below with its type and property counts.

ObservationStation
object
15 properties
GeoJsonFeatureCollection
object
A GeoJSON feature collection. Please refer to IETF RFC 7946 for information on the GeoJSON format.
3 properties 2 required
GeoJsonGeometry
A GeoJSON geometry object. Please refer to IETF RFC 7946 for information on the GeoJSON format.
ObservationStationCollectionGeoJson
MetarPhenomenon
object
An object representing a decoded METAR phenomenon string.
5 properties 4 required
JsonLdContext
GeometryString
stringnull
A geometry represented in Well-Known Text (WKT) format.
GeoJsonFeature
object
A GeoJSON feature. Please refer to IETF RFC 7946 for information on the GeoJSON format.
5 properties 3 required
GeoJsonCoordinate
array
A GeoJSON coordinate. Please refer to IETF RFC 7946 for information on the GeoJSON format.
GeoJsonLineString
array
A GeoJSON line string. Please refer to IETF RFC 7946 for information on the GeoJSON format.
PaginationInfo
object
Links for retrieving more data from paged data sets
1 property 1 required
ObservationGeoJson
ProblemDetail
object
Detail about an error. This document conforms to RFC 7807 (Problem Details for HTTP APIs).
6 properties 6 required
UnitOfMeasure
string
A string denoting a unit of measure, expressed in the format "{unit}" or "{namespace}:{unit}". Units with the namespace "wmo" or "wmoUnit" are defined in the W…
ObservationJsonLd
ObservationStationGeoJson
Date
string
Date (in YYYY-MM-DD format).
ObservationCollectionGeoJson
GeoJsonPolygon
array
A GeoJSON polygon. Please refer to IETF RFC 7946 for information on the GeoJSON format.
ObservationStationJsonLd
StateTerritoryCode
string
ObservationStationCollectionJsonLd
object
4 properties
MetarSkyCoverage
string
QuantitativeValue
object
A structured value representing a measurement and its unit of measure. This object is a slightly modified version of the schema.org definition at https://schem…
5 properties
Observation
object
30 properties
MarineAreaCode
string
Marine area code as defined in NWS Directive 10-302: AM: Western North Atlantic Ocean and along U.S. East Coast south of Currituck Beach Light NC following the…
Time
string
A time (in HHMM format). This is always specified in UTC (Zulu) time.
ObservationCollectionJsonLd
object
3 properties
AreaCode
State/territory codes and marine area codes
GeoJsonBoundingBox
array
A GeoJSON bounding box. Please refer to IETF RFC 7946 for information on the GeoJSON format.

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

national-weather-service-stations-api-openapi.yml Raw ↑

Other APIs National Weather Service publishes across the network.

National Weather Service Alerts API
National Weather Service Aviation API
National Weather Service Glossary API
National Weather Service Gridpoints API
National Weather Service Icons API
National Weather Service Offices API
National Weather Service Points API
National Weather Service Products API
National Weather Service Radar API
National Weather Service Radio API
National Weather Service Thumbnails API
National Weather Service Zones API