Open-Meteo
Weather
Global weather forecast API for non-commercial use
Global weather forecast — no key, no signup, 10,000 calls/day free.
Auth
No Auth
HTTPS
Yes
CORS
Yes
API URL
Common Use Cases
- •Display real-time weather forecasts in dashboards
- •Build weather-aware notification systems
- •Integrate climate data into agricultural or travel apps
Integration Guide
Review the API Documentation
Visit the official Open-Meteo documentation to understand available endpoints, request formats, and response structures. Familiarize yourself with the API's rate limits and usage policies before integration.
No Authentication Required
Good news — Open-Meteo does not require any authentication. You can start making API requests directly without registering for an API key or setting up OAuth credentials.
Use HTTPS for Secure Requests
Open-Meteo supports HTTPS, ensuring encrypted communication. Always use HTTPS endpoints in production to protect data in transit and comply with modern web security standards.
CORS Enabled — Direct Browser Access
Open-Meteo has CORS enabled, meaning you can make requests directly from the browser. This is ideal for frontend-only applications built with React, Vue, or vanilla JavaScript.
Implement and Test
Write your API integration code, start with a simple test request to verify connectivity. Implement proper error handling for network failures, rate limits, and invalid responses. Monitor your API usage to stay within any limits.
Code Examples
JavaScript / Fetch API:
// JavaScript example
fetch("https://open-meteo.com/")
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => {
console.log("API response:", data);
})
.catch(error => {
console.error("Error fetching from Open-Meteo:", error);
});Python / Requests:
# Python example
import requests
response = requests.get("https://open-meteo.com/")
if response.status_code == 200:
data = response.json()
print("API response:", data)
else:
print(f"Error: {response.status_code}")Frequently Asked Questions
Is Open-Meteo free to use?
Do I need an API key for Open-Meteo?
Can I use Open-Meteo in a browser-based application?
What category does Open-Meteo belong to?
Is Open-Meteo secure?
Editor's Notes & Deep Dive
Key Features
- →GET /v1/forecast?latitude=52.52&longitude=13.41¤t=temperature_2m,wind_speed_10m returns current conditions
- →daily=temperature_2m_max,temperature_2m_min,precipitation_sum for a 7-day forecast
- →Supports 100+ weather variables including soil moisture, wave height, and UV index
- →Historical data (archive API) goes back to 1940
Rate Limits & Quotas
Free tier (no key): 10,000 calls/day, ~600 calls/hour, 5 calls/sec for the forecast endpoint. The archive endpoint has a separate 10,000/day quota.
Known Issues & Pitfalls
- !Non-commercial use only on the free tier — commercial use requires a paid API key
- !The forecast model (IconEU, GFS, etc.) varies by region; default isn't always best for your location — pick via &models=
- !UV index and some variables are only available for specific forecast models
How It Compares
The most generous free weather API. OpenWeatherMap's free tier requires a key and has narrower variable coverage; WeatherAPI.com is comparable but enforces signup.
Sample Response
{
"current": {
"time": "2026-07-20T14:00",
"temperature_2m": 22.4,
"wind_speed_10m": 12.3,
"weather_code": 3
}
}Pro Tips
- ✓WMO weather_code is the canonical way to map conditions to icons — see the open-meteo docs for the full table
- ✓Use &timezone=auto to get times in the local timezone of the location
- ✓For marine weather use the dedicated marine API endpoint, not /forecast