Open-Meteo weather
Current weather and forecasts for any latitude and longitude.
Address that will be called:
What it gives you
Current weather and forecasts for any latitude and longitude. The example asks for the current temperature at 2 metres and the wind speed at 10 metres, for Ludhiana.
Terms and limits
The free API is for non-commercial use, under 10,000 calls a day, 5,000 an hour and 600 a minute, with no uptime guarantee; data is under the CC BY 4.0 licence, so give credit. A commercial use needs the paid customer API with a key (Open-Meteo's terms and pricing pages).
_Read on 14 November 2026 from open-meteo.com/en/terms and open-meteo.com/en/pricing._
Good habits
- Cache answers that do not change often.
- Handle errors: the service may be busy or down.
- Give credit where the terms ask for it.
- Do not put secret keys into a web page: this API needs none, but many others do.
The same request in code
curl
curl -L "https://api.open-meteo.com/v1/forecast?latitude=30.9&longitude=75.85¤t=temperature_2m,wind_speed_10m"Python
import json, urllib.request
with urllib.request.urlopen("https://api.open-meteo.com/v1/forecast?latitude=30.9&longitude=75.85¤t=temperature_2m,wind_speed_10m") as r:
data = json.load(r)
print(data['current'])JavaScript (browser or Node.js)
const res = await fetch("https://api.open-meteo.com/v1/forecast?latitude=30.9&longitude=75.85¤t=temperature_2m,wind_speed_10m");
const data = await res.json();
console.log(data.current);A real answer
This is what the example request above returned when we called it on 14 November 2026 with the default values (it took about 0.7 s from our computer). Values such as times and temperatures change.
{
"latitude": 30.896309,
"longitude": 75.83432,
"generationtime_ms": 0.04875659942626953,
"utc_offset_seconds": 0,
"timezone": "GMT",
"timezone_abbreviation": "GMT",
"elevation": 250.0,
"current_units": {
"time": "iso8601",
"interval": "seconds",
"temperature_2m": "°C",
"wind_speed_10m": "km/h"
},
"current": {
"time": "2026-11-14T01:30",
"interval": 900,
"temperature_2m": 19.0,
"wind_speed_10m": 1.8
}
}This is an independent directory. It is not connected with any of the services listed. Each address was called on 14 November 2026 with curl, Python, Node.js and Chrome (from a page on another site), and the answer shown is a real one. APIs change: check the service's own page before you depend on it.