Overview

Open-Meteo offers a suite of APIs providing access to meteorological data, including weather forecasts, historical weather, marine conditions, air quality, and elevation data. The platform is designed for developers who require straightforward access to weather information for applications ranging from personal projects to small-scale commercial deployments. A core aspect of Open-Meteo's offering is its free tier, which allows up to 10,000 API requests per day without requiring an API key or registration for basic access, making it accessible for rapid prototyping and educational purposes. The service sources its data from national weather services, including DWD, NOAA, Met Office, and Meteo-France, and processes it into a standardized API format.

The API structure is based on HTTP GET requests, returning data in JSON format, which is a common pattern for web APIs due to its broad compatibility and ease of parsing across programming languages. Open-Meteo's approach to data provision emphasizes simplicity and cost-effectiveness, positioning it as an alternative to services that may have more complex pricing models or require extensive setup. The platform supports various geographical data points, including latitude, longitude, and elevation, enabling precise location-based weather information. Developers can retrieve current weather conditions, hourly and daily forecasts, and historical weather archives. The Open-Meteo documentation provides examples and parameters for each API endpoint.

Open-Meteo is particularly suited for applications where budget constraints are a factor or for developers who prioritize ease of integration over advanced features like hyper-local forecasting or specialized meteorological models. Its focus on providing essential weather data without complex authentication mechanisms reduces the barrier to entry for new projects. While many weather APIs exist, Open-Meteo differentiates itself through its transparent data sourcing and a generous free tier, catering to a segment of the developer community that values direct access to data for general-purpose weather applications. For instance, developers building simple weather widgets or educational tools might find its straightforward API design preferable to more feature-rich but potentially more complex alternatives like OpenWeatherMap's API.

Key features

  • Weather Forecast API: Provides hourly and daily weather forecasts for any geographical location, including temperature, precipitation, wind speed, and cloud cover.
  • Historical Weather API: Offers access to past weather data, allowing retrieval of historical conditions for specific dates and locations.
  • Marine Weather API: Supplies specialized weather data for marine environments, including wave height, swell direction, and sea surface temperature, relevant for maritime activities.
  • Air Quality API: Delivers data on various air pollutants such as carbon monoxide, nitrogen dioxide, and ozone, useful for environmental monitoring applications.
  • Elevation API: Enables retrieval of elevation data for specified coordinates, which can be integrated into mapping or topographical applications.
  • Global Coverage: Offers weather data for locations worldwide by aggregating information from multiple national weather services.
  • JSON Output: All API responses are formatted in JSON, facilitating integration with most modern programming languages and web frameworks.
  • No API Key Required (Free Tier): Basic access to the API for up to 10,000 requests per day does not require an API key, streamlining the initial setup process.

Pricing

Open-Meteo operates on a freemium model, offering a free tier for up to 10,000 API requests per day. For higher usage volumes, paid plans are available, starting at €4.99 per month. The pricing structure is based on the number of daily requests.

Plan Daily Requests Monthly Cost (as of 2026-05-28)
Free Tier Up to 10,000 €0
Starter Up to 20,000 €4.99
Growth Up to 50,000 €9.99
Pro Up to 100,000 €19.99
Enterprise Custom Contact for pricing

For the most current pricing details and additional plan options, refer to the official Open-Meteo pricing page.

Common integrations

Open-Meteo's API can be integrated into various applications and platforms due to its standard HTTP/JSON interface. While Open-Meteo does not provide official SDKs, its straightforward API design allows for direct integration using standard HTTP client libraries in most programming languages. Common integration scenarios include:

  • Web Applications: Embedding weather widgets or displaying localized forecasts on websites and web dashboards using JavaScript frameworks.
  • Mobile Applications: Incorporating weather information into iOS and Android apps for features like travel planning, outdoor activity suggestions, or local news.
  • Data Analysis and Visualization Tools: Fetching historical weather data for research, climate studies, or creating custom data visualizations in tools like Python with Pandas and Matplotlib, or R.
  • Home Automation Systems: Integrating weather forecasts to trigger smart home devices, such as adjusting thermostats based on predicted temperatures.
  • IoT Devices: Connecting to Internet of Things devices that require real-time or forecasted weather data for environmental monitoring or agricultural applications.
  • Backend Services: Incorporating weather data into server-side logic for various business processes, such as logistics planning or energy management.

Alternatives

  • Tomorrow.io: Offers hyper-local, minute-by-minute weather forecasting and advanced weather intelligence solutions for businesses.
  • OpenWeatherMap: Provides a range of weather APIs, including current weather, forecasts, and historical data, with a focus on global coverage and a community-driven approach.
  • AccuWeather: Delivers detailed weather forecasts and data, often used by media outlets and businesses requiring precise and localized weather information.

Getting started

To get started with Open-Meteo, you can make a simple HTTP GET request to one of its API endpoints. The following Python example demonstrates how to retrieve a 7-day weather forecast for Berlin, Germany, using the Weather Forecast API. This example uses the requests library to make the HTTP call and then parses the JSON response.


import requests
import json

# Define the API endpoint and parameters for Berlin (latitude, longitude)
url = "https://api.open-meteo.com/v1/forecast"
params = {
    "latitude": 52.52,
    "longitude": 13.41,
    "hourly": "temperature_2m,precipitation_probability,weather_code",
    "daily": "weather_code,temperature_2m_max,temperature_2m_min,precipitation_sum",
    "timezone": "Europe/Berlin"
}

try:
    # Make the GET request to the Open-Meteo API
    response = requests.get(url, params=params)
    response.raise_for_status()  # Raise an HTTPError for bad responses (4xx or 5xx)

    # Parse the JSON response
    weather_data = response.json()

    # Print daily forecast summary
    print("Weather Forecast for Berlin:")
    if "daily" in weather_data:
        for i in range(len(weather_data["daily"]["time"])):
            date = weather_data["daily"]["time"][i]
            max_temp = weather_data["daily"]["temperature_2m_max"][i]
            min_temp = weather_data["daily"]["temperature_2m_min"][i]
            precipitation = weather_data["daily"]["precipitation_sum"][i]
            print(f"Date: {date}, Max Temp: {max_temp}°C, Min Temp: {min_temp}°C, Precipitation: {precipitation} mm")
    else:
        print("Daily weather data not available.")

except requests.exceptions.RequestException as e:
    print(f"An error occurred: {e}")
except json.JSONDecodeError:
    print("Failed to decode JSON response.")

This code snippet will output a daily weather summary for Berlin, including maximum and minimum temperatures and total precipitation for each forecasted day. Further details on available parameters and endpoints can be found in the Open-Meteo API documentation.