GET https://api.metar.ws/v1/history/observations returns archived METAR and SPECI reports for one or more stations, going back to 2005-01-01 wherever the underlying archive covers that station. This is a plain request/response REST endpoint, not a subscription: point it at a station and a time range and get reports back directly, with no live updates.
Unlike the live channels, historical queries are available starting on the Sandbox plan. Sandbox is throttled to 1 request/second — enough to explore the API, not to bulk-export data. See Rate limits below.
Authentication
Historical queries use the same API key as the WebSocket stream, sent as a bearer token:Sample request
Getting METAR and SPECI reports for EDDM on 1 August 2026:Sample response
decoded is only populated when include requests it and the report parsed cleanly; check parseStatus before relying on it. It follows the same field names as the live METAR Observations channel.Query parameters
from is inclusive and to is exclusive. All timestamps, in both the request and the response, are UTC in RFC-3339 / ISO 8601 format.Response fields
Each element ofdata is one archived report:
meta describes the page and the account making the request:
Pagination
Requests page through(observedAt, station, type) order. When meta.hasMore is true, repeat the request with the same filters plus cursor set to meta.nextCursor. A cursor is tied to the filters it was issued with; changing stations, from, to, type, or include between pages is rejected rather than silently reinterpreted.
Rate limits
Every response carries
X-RateLimit-Limit and X-RateLimit-Remaining headers, and the same numbers are mirrored in meta.rateLimit. Exceeding the limit returns 429 Too Many Requests with a Retry-After header.
Coverage
The archive is backfilled from the open sources and kept in metar.ws’s own storage, so requests never hit that source directly. Coverage isn’t uniform: stations actively carried by the live stream are fully backfilled to 2005-01-01 (or the station’s period of record, if shorter), while the rest of the roster fills in gradually as the archive grows. Always checkmeta.coverage rather than assuming a station’s history is complete.
Next: Plans & Limits
See how historical rate limits compare with the live stream’s connection and channel limits.
