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

Weather.gov Stations API

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

Weather.gov Stations API is one of 13 APIs that Weather.gov 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, API documentation, and an API reference.

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

Weather.gov 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
Weather.gov Returns a List of Observations for a Given Station
station_observation_list 5 params → 200default
GET
/stations/{stationId}/observations/latest
Weather.gov Returns the Latest Observation for a Station
station_observation_latest 2 params → 200default
GET
/stations/{stationId}/observations/{time}
Weather.gov Returns a Single Observation.
station_observation_time 2 params → 200default
GET
/stations/{stationId}/tafs
Weather.gov Returns Terminal Aerodrome Forecasts for the Specified Airport Station.
tafs 1 param → 200default
GET
/stations/{stationId}/tafs/{date}/{time}
Weather.gov Returns a Single Terminal Aerodrome Forecast.
taf 3 params → 200default
GET
/stations
Weather.gov Returns a List of Observation Stations.
obs_stations 4 params → 200default
GET
/stations/{stationId}
Weather.gov 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), MetarPhenomenon (5 properties). Each schema is shown below with its type and property counts.

Observation
object
30 properties
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
GeoJsonFeature
object
A GeoJSON feature. Please refer to IETF RFC 7946 for information on the GeoJSON format.
5 properties 3 required
ObservationStationGeoJson
ProblemDetail
object
Detail about an error. This document conforms to RFC 7807 (Problem Details for HTTP APIs).
6 properties 6 required
GeoJsonGeometry
A GeoJSON geometry object. Please refer to IETF RFC 7946 for information on the GeoJSON format.
GeoJsonFeatureCollection
object
A GeoJSON feature collection. Please refer to IETF RFC 7946 for information on the GeoJSON format.
3 properties 2 required
StateTerritoryCode
string
GeoJsonCoordinate
array
A GeoJSON coordinate. Please refer to IETF RFC 7946 for information on the GeoJSON format.
GeoJsonBoundingBox
array
A GeoJSON bounding box. Please refer to IETF RFC 7946 for information on the GeoJSON format.
ObservationStationJsonLd
AreaCode
State/territory codes and marine area codes
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…
MetarPhenomenon
object
An object representing a decoded METAR phenomenon string.
5 properties 4 required
ObservationCollectionJsonLd
object
3 properties
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…
GeometryString
stringnull
A geometry represented in Well-Known Text (WKT) format.
MetarSkyCoverage
string
Time
string
A time (in HHMM format). This is always specified in UTC (Zulu) time.
PaginationInfo
object
Links for retrieving more data from paged data sets
1 property 1 required
GeoJsonLineString
array
A GeoJSON line string. Please refer to IETF RFC 7946 for information on the GeoJSON format.
ObservationGeoJson
ObservationJsonLd
ObservationStation
object
15 properties
ObservationStationCollectionJsonLd
object
4 properties
Date
string
Date (in YYYY-MM-DD format).
GeoJsonPolygon
array
A GeoJSON polygon. Please refer to IETF RFC 7946 for information on the GeoJSON format.
ObservationCollectionGeoJson
ObservationStationCollectionGeoJson
JsonLdContext

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

weather-gov-stations-api-openapi.yml Raw ↑

Other APIs Weather.gov publishes across the network.

Weather.gov Alerts API
Weather.gov Aviation API
Weather.gov Glossary API
Weather.gov Gridpoints API
Weather.gov Icons API
Weather.gov Offices API
Weather.gov Points API
Weather.gov Products API
Weather.gov Radar API
Weather.gov Radio API
Weather.gov Thumbnails API
Weather.gov Zones API