Open-Meteo
- Free allowance
- Free API with no key: 600 calls a minute, 5,000 an hour, 10,000 a day and 300,000 a month, covering the forecast, air quality, elevation, flood, geocoding and marine APIs and the historical weather (ERA5 from 1940), historical forecast, climate, ensemble, seasonal and satellite radiation APIs.
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tier
- Identity
- anonymousno card, no phone
- Binding limit
- request-rate600 calls a minute; 5,000 calls an hour; 10,000 calls a day; 300,000 calls a month
- Evidence
- measured24 sources; a live request was made and its output kept
- Freshness
- stale on 2026-12-31checked 2026-10-31 (live); stale on 2026-12-31
| Free tier | Free API with no key: 600 calls a minute, 5,000 an hour, 10,000 a day and 300,000 a month, covering the forecast, air quality, elevation, flood, geocoding and marine APIs and the historical weather (ERA5 from 1940), historical forecast, climate, ensemble, seasonal and satellite radiation APIs. unit requests; metered on request-count; A request over 10 weather variables or over 2 weeks of data for one location counts as more than one call, in fractions (15 variables over 2 weeks count as 1.5 calls). Bulk path: the AWS open-data bucket s3://openmeteo in us-west-2 holds the model archives as .om files and listed with no credentials. |
|---|---|
| Price | none stated |
| Limits |
|
| Binding | request-rate 10,000 calls a day binds a steady poller: 600 a minute reaches the 5,000 hourly cap in under 9 minutes, 5,000 an hour reaches 10,000 in 2 hours, and 10,000 a day over 30 days equals the 300,000 monthly cap. |
| Identity | anonymous No API key, no sign-up and no credit card. GET requests with no credentials answered HTTP 200 from the forecast and archive endpoints, and the s3://openmeteo bucket listed with no credentials. |
| Egress | not applicable: JSON answers counted as calls; the s3://openmeteo bucket listed with no credentials, and its transfer price was not read |
| Retention | not applicable: the unit is a request |
| Interface | rest, s3 REST over HTTPS GET with query parameters, JSON answers and no key; the archive at archive-api.open-meteo.com; the bulk archive in the public AWS bucket s3://openmeteo (us-west-2) as .om files endpoint: https://api.open-meteo.com/v1/forecast |
| Tooling | any HTTP client; any S3 client reads the bucket anonymously, and .om files are read with the Open-Meteo OM-file readers for Python, Rust, Swift and TypeScript. Last resort: the user installs and runs the open-source AGPLv3 server on a rented or free machine. |
| Composes with | A keyless point-weather and reanalysis source: forecasts and ERA5 history per coordinate under a 10,000-call daily cap, with the full model archive in a public S3 bucket for bulk pulls. |
| Reliability | Applications and IP addresses can be blocked without prior notice; the free API carries no uptime target. |
| Notes | Bulk path: s3://openmeteo, read anonymously. Paid plans move the same API to customer-api.open-meteo.com with a key. |
| Evidence note | measured Limits and licence are read from first-party pages; the forecast and archive endpoints answered HTTP 200 with JSON to calls with no key, and an anonymous ListObjectsV2 on s3://openmeteo answered HTTP 200. The 10,000-a-day ceiling was not driven to its limit. |
| Parsed numbers |
|
Evidence 24
| date | source | what it proved |
|---|---|---|
| 2026-10-31 | open-meteo.com/en/pricing | the free tier allows 600 calls a minute |
| 2026-10-31 | open-meteo.com/en/pricing | the free tier allows 5,000 calls an hour |
| 2026-10-31 | open-meteo.com/en/pricing | the free tier allows 10,000 calls a day |
| 2026-10-31 | open-meteo.com/en/pricing | the free tier allows 300,000 calls a month |
| 2026-10-31 | open-meteo.com/en/pricing | the free tier includes the historical, climate, ensemble, seasonal and satellite radiation APIs |
| 2026-10-31 | open-meteo.com/en/pricing | the free tier includes the forecast, air quality, elevation, flood, geocoding and marine APIs |
| 2026-10-31 | open-meteo.com/en/pricing | large requests count as more than one call |
| 2026-10-31 | open-meteo.com/en/pricing | the free API carries no uptime guarantee |
| 2026-10-31 | open-meteo.com/en/pricing | paid plans use customer-api.open-meteo.com with a key |
| 2026-10-31 | open-meteo.com/en/terms | part of the text of Limits, above |
| 2026-10-31 | open-meteo.com/en/licence | displayed data carries a link to Open-Meteo |
| 2026-10-31 | open-meteo.com/en/terms | the limits are counted per IP address and application |
| 2026-10-31 | open-meteo.com/en/terms | applications and IP addresses can be blocked without notice |
| 2026-10-31 | open-meteo.com/ | the free API needs no key, no account and no card |
| 2026-10-31 | open-meteo.com/ | not published |
| 2026-10-31 | open-meteo.com/en/docs/historical-weather-api | the historical weather API serves ERA5 hourly from 1940 with a 5-day delay |
| 2026-10-31 | github.com/open-meteo/open-data | the bulk archive is the AWS bucket s3://openmeteo in us-west-2 |
| 2026-10-31 | github.com/open-meteo/open-data | the .om files have readers for Python, Rust, Swift and TypeScript |
| 2026-10-31 | open-meteo.com/en/licence | the server is open source under AGPLv3 |
| 2026-10-31 | probe: https://api.open-meteo.com/v1/forecast | a forecast call with no key answered HTTP 200 with current conditions in JSON |
| 2026-10-31 | probe: https://archive-api.open-meteo.com/v1/archive | an archive call with no key answered HTTP 200 with hourly ERA5 values for 2024-01-01 and 2024-01-02 |
| 2026-10-31 | probe: https://openmeteo.s3.amazonaws.com/ | an anonymous ListObjectsV2 on the bucket answered HTTP 200 with its model prefixes |
| 2026-10-31 | probe: https://openmeteo.s3.amazonaws.com/ | the bucket holds the ERA5 archive under data/copernicus_era5/ |
| 2026-10-31 | raw.githubusercontent.com/public-apis/public-apis/master/REA | listed under Weather in the public-apis list with no auth |
Unknown values 1
- per object cap stated: the field does not apply to this kind of offer