Open-Meteo: l'API open-source gratuita per i dataset meteorologici
Un'API open-source che mette a disposizione dati climatici per qualsiasi punto del pianeta, dal 1940 a oggi, senza chiave API né account.
Chi lavora con dati ambientali, costruisce modelli predittivi o vuole arricchire le proprie analisi con variabili climatiche, ha un'ottima risorsa a portata di mano: Open-Meteo, un'API meteo open-source completamente gratuita per uso non commerciale.
| Storico da | Modelli meteo | Risoluzione spaziale | Chiamate gratuite/giorno |
|---|---|---|---|
| 1940 (ERA5, dati orari) | 30+ (ECMWF, NOAA, DWD, JMA…) | 1–11 km | 10.000 (senza API key) |
Cosa si può scaricare
Il dataset copre le principali variabili atmosferiche, restituite in formato JSON (ma disponibili anche in CSV e XLSX):
- Temperatura
- Umidità relativa
- Velocità e direzione del vento
- Precipitazioni
- Radiazione solare
- Pressione atmosferica
- Copertura nuvolosa
- Evapotraspirazione
- Neve al suolo
Sono disponibili API dedicate anche per qualità dell'aria, dati marini (altezza onde, correnti), rischio alluvioni, cambiamento climatico e geocoding.
Granularità temporale e geografica
I dati storici partono da gennaio 1940 grazie alla reanalis ERA5, con cadenza oraria e griglia spazialmente completa (nessun valore mancante). Per Europa centrale e Nord America è disponibile una granularità a 15 minuti; altrove i dati sono interpolati dall'output orario. Per le previsioni, i modelli globali si aggiornano ogni 6 ore, quelli regionali ad alta risoluzione ogni 1–3 ore.
Dal punto di vista geografico, si interroga l'API passando semplicemente latitudine e longitudine: qualsiasi punto del pianeta, con risoluzione spaziale da 1–2 km (modelli mesoscala regionali) a 9–11 km (modelli globali).
Come si interroga
Nessun SDK, nessuna autenticazione. Una semplice chiamata HTTP GET è sufficiente — funziona da Python, KNIME, Power BI, R o qualsiasi altro tool.
Esempio — temperatura e vento a Roma, dato attuale + orario:
import requests
url = "https://api.open-meteo.com/v1/forecast"
params = {
"latitude": 41.90,
"longitude": 12.49,
"current": "temperature_2m,wind_speed_10m",
"hourly": "temperature_2m,relative_humidity_2m",
"timezone": "Europe/Rome"
}
r = requests.get(url, params=params)
data = r.json()
Licenza e limiti
Uso non commerciale: gratuito fino a 10.000 chiamate API al giorno, senza registrazione. I dati sono rilasciati sotto licenza CC BY 4.0 — liberi anche per uso commerciale con attribuzione. Per volumi superiori sono disponibili piani a pagamento.
Per chi necessita di piena autonomia, il codice server completo è disponibile su GitHub sotto licenza AGPLv3 e può essere auto-ospitato per chiamate illimitate.
In sintesi: una fonte solida, ben documentata e facile da integrare, che copre un arco temporale difficilmente reperibile altrove in forma così accessibile. Da tenere nel toolkit di chiunque lavori con dati territoriali o ambientali.
Commenti
Posta un commento