Meteostat
- Free allowance
- Bulk Parquet files across all weather stations (hourly and daily as one file per year, monthly as a single file) and full per-station CSV time series, with no key and no sign-up; no quota is published.
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tier
- Identity
- anonymousno card, no phone
- Binding limit
- noneno named constraint binds
- Evidence
- measured26 sources; a live request was made and its output kept
- Freshness
- stale on 2027-01-03checked 2026-11-03 (live); stale on 2027-01-03
| Free tier | Bulk Parquet files across all weather stations (hourly and daily as one file per year, monthly as a single file) and full per-station CSV time series, with no key and no sign-up; no quota is published. unit mixed; metered on unstated; The 2024 hourly file for all stations declares 992,333,139 bytes; the 2024 hourly CSV for station 10637 downloaded at 133,686 bytes. Recent hourly data lands within 24 hours. The files are not versioned: columns can be added or reordered without notice. |
|---|---|
| Price | none stated |
| Binding | none No quota is published for the files and no key is asked; the size of one year of hourly data (992,333,139 bytes) is the practical unit of a pull. |
| Identity | anonymous No sign-up and no API key for the bulk and time-series files; a station file and a bulk file answered HTTP 200 with no credentials. |
| Egress | no fee and no key on data.meteostat.net; a 2024 hourly station file downloaded and a 992,333,139-byte Parquet file answered HTTP 200 with no account |
| Per-object cap | not applicable: read-only files; the 2024 hourly all-station Parquet file declares 992,333,139 bytes |
| Retention | not applicable: read-only files |
| Interface | rest plain HTTPS downloads from data.meteostat.net: hourly/{year}.parquet and daily/{year}.parquet (one file per year) and monthly.parquet (one file) for all stations; hourly/{year}/{station}.csv.gz and daily/{year}/{station}.csv.gz and monthly/{station}.csv.gz per station; station metadata in JSON and SQL |
| Tooling | any HTTP client; the Meteostat Python library wraps the files |
| Composes with | A keyless bulk source of station history: one Parquet file per year for hourly and daily, and one Parquet file for monthly, covers every station, so a full year of hourly observations is one download. |
| Reliability | Meteostat may discontinue or block access at any time without prior notice; a year with no data answers HTTP 404. |
| Notes | Bulk path: data.meteostat.net Parquet and CSV files with no key. The JSON API is a separate keyed offer (data-apis/meteostat-json-api). |
| Evidence note | measured The 2024 hourly CSV for station 10637 downloaded in full (133,686 bytes) with no credentials, and the 2024 hourly all-station Parquet file answered HTTP 200 declaring 992,333,139 bytes (the first 1,048,576 bytes were read). |
| Parsed numbers |
|
Evidence 26
| date | source | what it proved |
|---|---|---|
| 2026-10-31 | dev.meteostat.net/data/bulk | the bulk interface covers all stations in Parquet |
| 2026-10-31 | dev.meteostat.net/data/bulk | the bulk files need no key |
| 2026-10-31 | dev.meteostat.net/data/bulk | the bulk files need no sign-up |
| 2026-10-31 | dev.meteostat.net/data/bulk | a year of hourly data for all stations is one file |
| 2026-10-31 | dev.meteostat.net/data/bulk | recent hourly data lands within 24 hours |
| 2026-10-31 | dev.meteostat.net/data/timeseries | per-station time series are CSV files by year |
| 2026-10-31 | dev.meteostat.net/data/timeseries | the Python library wraps the files |
| 2026-10-31 | dev.meteostat.net/data/bulk | the files come hourly, daily and monthly |
| 2026-10-31 | dev.meteostat.net/data/bulk | the files are not versioned |
| 2026-10-31 | dev.meteostat.net/data/bulk | columns can be added without notice |
| 2026-10-31 | dev.meteostat.net/data/bulk | a year with no data answers 404 |
| 2026-10-31 | dev.meteostat.net/data | station metadata comes in JSON and SQL |
| 2026-10-31 | dev.meteostat.net/license | not published |
| 2026-10-31 | dev.meteostat.net/data | the datasets need no sign-up |
| 2026-10-31 | dev.meteostat.net/license | not published |
| 2026-10-31 | dev.meteostat.net/license | not published |
| 2026-10-31 | dev.meteostat.net/terms.html | the data costs nothing |
| 2026-10-31 | dev.meteostat.net/terms.html | access can be blocked without notice |
| 2026-10-31 | probe: https://data.meteostat.net/hourly/2024/10637.csv.gz | the 2024 hourly CSV for station 10637 downloaded at 133,686 bytes |
| 2026-10-31 | probe: https://data.meteostat.net/hourly/2024/10637.csv.gz | the station file answered HTTP 200 with no credentials |
| 2026-10-31 | probe: https://data.meteostat.net/hourly/2024.parquet | part of the text of Evidence note, above |
| 2026-11-03 | probe: https://data.meteostat.net/monthly.parquet | monthly.parquet, a single file for all stations, answered HTTP 200 with 152,559,044 bytes and no credentials |
| 2026-11-03 | dev.meteostat.net/data/bulk/monthly | monthly bulk data for all stations is a single Parquet file, not one per year |
| 2026-11-03 | dev.meteostat.net/data/bulk/monthly | the monthly bulk file is monthly.parquet |
| 2026-11-03 | dev.meteostat.net/data/timeseries/monthly | per-station monthly CSV has no year in its path |
| 2026-11-03 | dev.meteostat.net/data/bulk/daily | daily bulk data is one Parquet file per year |