Open-Meteo

Hourly forecasts for any coordinate — no key, no signup.

🌦 WeatherHEALTHYchecked 2h ago
AUTH NONECORS AGENT HTTPS COMMERCIAL

Open-Meteo serves fast global weather forecasts assembled from national weather services. The free endpoint needs no API key, answers over HTTPS with permissive CORS, and covers hourly and daily variables, historical reanalysis and air quality. Note the license: the free tier is for non-commercial use — a paid keyed tier exists for products.

90HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: 90 · healthy
Uptime history
94.1%90 days
91.7%30 days
674P50 · ms
1193P95 · ms
operationalpartialdownno data
Response time · last 48 checks
Fastest 44 ms, slowest 1153 ms, most recent 108 ms.
Live response samplecaptured by our last successful check
GET https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10m

{
  "latitude": 52.52,
  "longitude": 13.41,
  "elevation": 38,
  "current": {
    "time": "2026-07-04T02:15",
    "temperature_2m": 17.3,
    "wind_speed_10m": 9.4
  },
  "current_units": {
    "temperature_2m": "°C",
    "wind_speed_10m": "km/h"
  }
}
Call itcurl · fetch · python
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10m"
const res = await fetch("https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10m");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10m")
print(res.json())
Endpoints · 4HealthyFULL DOCS ↗
Monitored path responding — GET /forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10m674 mschecked 2h ago
GET/forecast?latitude=52.52&longitude=13.41&current=temperature_2m,wind_speed_10mPROBED

Hourly and daily forecasts for any coordinate — the primary weather call.

GET/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m,precipitation

Hourly variables — temperature, humidity, wind, precipitation.

GET/air-quality?latitude=52.52&longitude=13.41&current=us_aqi,pm2_5

Current air-quality index and pollutant concentrations.

GET/elevation?latitude=52.52&longitude=13.41

Terrain elevation in meters for a coordinate.

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.

Open-Meteo: common questions

Is Open-Meteo free to use?

Yes — Open-Meteo is a free weather API. Free tier: <10,000 calls/day, no signup. The free tier is for non-commercial use.

Does Open-Meteo need an API key?

No — Open-Meteo needs no API key or signup. You can call it straight away; rate limits still apply (600/min · 5,000/hour).

Can I call Open-Meteo from the browser?

Yes — Open-Meteo returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.

Is Open-Meteo up right now?

As of our last scheduled check, Open-Meteo is healthy with 94.1% uptime over 90 days and a 674 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.