What Meteostat does and who it is for
Meteostat gives developers programmatic access to a deep archive of weather observations and climate statistics sourced from governmental meteorological networks across the globe. Unlike forecast APIs, which project future conditions, Meteostat is strictly retrospective — its value is in the historical record. If you need to know what the temperature was in Hamburg on a particular day in 2003, or want monthly precipitation normals for a lat/lon coordinate in Southeast Asia, Meteostat is purpose-built for exactly that.
The target audience is broad: data analysts building climate dashboards, engineers adding weather context to logistics or agricultural applications, researchers modeling historical climate trends, and product teams that need to enrich user data with past weather conditions. With nearly 15,000 marketplace subscribers and a popularity score of 9.9 out of 10, Meteostat has clearly found a large, active user base among developers who need this kind of data.
One detail worth knowing upfront: Meteostat also maintains an open Python library if you prefer to run queries locally rather than through a hosted API. The JSON API described here is the hosted, subscription-based path — convenient for most integration scenarios.
Endpoint walkthrough
The API exposes 10 GET endpoints, organized along two dimensions: data granularity (hourly, daily, monthly, climate normals, and meta) and query type (by weather station ID or by geographic point).
Station-based endpoints
/stations/hourly— Hour-by-hour observations for a specific weather station. Useful when you want the authoritative record from a known station rather than an interpolated estimate./stations/daily— Aggregated daily statistics (highs, lows, precipitation, etc.) for a station./stations/monthly— Monthly rollups for a station, good for trend analysis without the overhead of pulling hourly data./stations/normals— Climate normals, i.e., long-term statistical baselines that express what