Open-Meteo Ensemble Forecast APIs API

The Ensemble Forecast APIs API from Open-Meteo — 1 operation(s) for ensemble forecast apis.

Operations 1

GET /v1/ensemble Open-Meteo Ensemble Weather Forecast API

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/open-meteo-ensemble-forecast-apis-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

open-meteo-ensemble-forecast-apis-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open-Meteo Air Quality Air Quality Ensemble Forecast APIs API
  description: Hourly air quality forecasts for PM2.5, PM10, ozone, nitrogen dioxide, pollen, and other pollutants from the Copernicus Atmosphere Monitoring Service (CAMS).
  version: '1.0'
  contact:
    name: Open-Meteo
    url: https://open-meteo.com
    email: info@open-meteo.com
  license:
    name: Attribution 4.0 International (CC BY 4.0)
    url: https://creativecommons.org/licenses/by/4.0/
  termsOfService: https://open-meteo.com/en/features#terms
servers:
- url: https://api.open-meteo.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Ensemble Forecast APIs
paths:
  /v1/ensemble:
    servers:
    - url: https://ensemble-api.open-meteo.com
    - url: https://customer-ensemble-api.open-meteo.com
    get:
      tags:
      - Ensemble Forecast APIs
      summary: Open-Meteo Ensemble Weather Forecast API
      description: Ensemble weather forecasts from multiple models providing probabilistic forecast data.
      parameters:
      - name: latitude
        in: query
        required: true
        description: Geographical WGS84 coordinates. Multiple coordinates can be comma separated.
        schema:
          type: string
      - name: longitude
        in: query
        required: true
        schema:
          type: string
      - name: hourly
        in: query
        description: A list of weather variables which should be returned.
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - temperature_2m
            - relative_humidity_2m
            - dew_point_2m
            - apparent_temperature
            - precipitation
            - rain
            - snowfall
            - snow_depth
            - weather_code
            - pressure_msl
            - surface_pressure
            - cloud_cover
            - cloud_cover_low
            - cloud_cover_mid
            - cloud_cover_high
            - visibility
            - et0_fao_evapotranspiration
            - vapour_pressure_deficit
            - wind_speed_10m
            - wind_speed_80m
            - wind_speed_100m
            - wind_speed_120m
            - wind_direction_10m
            - wind_direction_80m
            - wind_direction_100m
            - wind_direction_120m
            - wind_gusts_10m
            - temperature_80m
            - temperature_120m
            - surface_temperature
            - soil_temperature_0_to_10cm
            - soil_temperature_10_to_40cm
            - soil_temperature_40_to_100cm
            - soil_temperature_100_to_200cm
            - soil_moisture_0_to_10cm
            - soil_moisture_10_to_40cm
            - soil_moisture_40_to_100cm
            - soil_moisture_100_to_200cm
            - soil_temperature_0_to_7cm
            - soil_temperature_7_to_28cm
            - soil_temperature_28_to_100cm
            - soil_temperature_100_to_255cm
            - soil_moisture_0_to_7cm
            - soil_moisture_7_to_28cm
            - soil_moisture_28_to_100cm
            - soil_moisture_100_to_255cm
            - is_day
            - uv_index
            - uv_index_clear_sky
            - temperature_2m_min
            - temperature_2m_max
            - wet_bulb_temperature_2m
            - cape
            - convective_inhibition
            - freezing_level_height
            - snowfall_height
            - sunshine_duration
            - snowfall_water_equivalent
            - snow_depth_water_equivalent
            - boundary_layer_height
            - shortwave_radiation
            - direct_radiation
            - diffuse_radiation
            - direct_normal_irradiance
            - global_tilted_irradiance
            - shortwave_radiation_instant
            - direct_radiation_instant
            - diffuse_radiation_instant
            - direct_normal_irradiance_instant
            - global_tilted_irradiance_instant
            - temperature_1000hPa
            - temperature_925hPa
            - temperature_850hPa
            - temperature_700hPa
            - temperature_600hPa
            - temperature_500hPa
            - temperature_400hPa
            - temperature_300hPa
            - temperature_250hPa
            - temperature_200hPa
            - temperature_150hPa
            - temperature_100hPa
            - temperature_50hPa
            - relative_humidity_1000hPa
            - relative_humidity_925hPa
            - relative_humidity_850hPa
            - relative_humidity_700hPa
            - relative_humidity_600hPa
            - relative_humidity_500hPa
            - relative_humidity_400hPa
            - relative_humidity_300hPa
            - relative_humidity_250hPa
            - relative_humidity_200hPa
            - relative_humidity_150hPa
            - relative_humidity_100hPa
            - relative_humidity_50hPa
            - dew_point_1000hPa
            - dew_point_925hPa
            - dew_point_850hPa
            - dew_point_700hPa
            - dew_point_600hPa
            - dew_point_500hPa
            - dew_point_400hPa
            - dew_point_300hPa
            - dew_point_250hPa
            - dew_point_200hPa
            - dew_point_150hPa
            - dew_point_100hPa
            - dew_point_50hPa
            - cloud_cover_1000hPa
            - cloud_cover_925hPa
            - cloud_cover_850hPa
            - cloud_cover_700hPa
            - cloud_cover_600hPa
            - cloud_cover_500hPa
            - cloud_cover_400hPa
            - cloud_cover_300hPa
            - cloud_cover_250hPa
            - cloud_cover_200hPa
            - cloud_cover_150hPa
            - cloud_cover_100hPa
            - cloud_cover_50hPa
            - wind_speed_1000hPa
            - wind_speed_925hPa
            - wind_speed_850hPa
            - wind_speed_700hPa
            - wind_speed_600hPa
            - wind_speed_500hPa
            - wind_speed_400hPa
            - wind_speed_300hPa
            - wind_speed_250hPa
            - wind_speed_200hPa
            - wind_speed_150hPa
            - wind_speed_100hPa
            - wind_speed_50hPa
            - wind_direction_1000hPa
            - wind_direction_925hPa
            - wind_direction_850hPa
            - wind_direction_700hPa
            - wind_direction_600hPa
            - wind_direction_500hPa
            - wind_direction_400hPa
            - wind_direction_300hPa
            - wind_direction_250hPa
            - wind_direction_200hPa
            - wind_direction_150hPa
            - wind_direction_100hPa
            - wind_direction_50hPa
            - vertical_velocity_1000hPa
            - vertical_velocity_925hPa
            - vertical_velocity_850hPa
            - vertical_velocity_700hPa
            - vertical_velocity_600hPa
            - vertical_velocity_500hPa
            - vertical_velocity_400hPa
            - vertical_velocity_300hPa
            - vertical_velocity_250hPa
            - vertical_velocity_200hPa
            - vertical_velocity_150hPa
            - vertical_velocity_100hPa
            - vertical_velocity_50hPa
            - geopotential_height_1000hPa
            - geopotential_height_925hPa
            - geopotential_height_850hPa
            - geopotential_height_700hPa
            - geopotential_height_600hPa
            - geopotential_height_500hPa
            - geopotential_height_400hPa
            - geopotential_height_300hPa
            - geopotential_height_250hPa
            - geopotential_height_200hPa
            - geopotential_height_150hPa
            - geopotential_height_100hPa
            - geopotential_height_50hPa
      - name: daily
        in: query
        description: A list of daily weather variable aggregations.
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - temperature_2m_mean
            - temperature_2m_min
            - temperature_2m_max
            - apparent_temperature_mean
            - apparent_temperature_min
            - apparent_temperature_max
            - wind_speed_10m_mean
            - wind_speed_10m_min
            - wind_speed_10m_max
            - wind_direction_10m_dominant
            - wind_gusts_10m_mean
            - wind_gusts_10m_min
            - wind_gusts_10m_max
            - wind_speed_100m_mean
            - wind_speed_100m_min
            - wind_speed_100m_max
            - wind_direction_100m_dominant
            - cloud_cover_mean
            - cloud_cover_min
            - cloud_cover_max
            - precipitation_sum
            - precipitation_hours
            - rain_sum
            - snowfall_sum
            - pressure_msl_mean
            - pressure_msl_min
            - pressure_msl_max
            - surface_pressure_mean
            - surface_pressure_min
            - surface_pressure_max
            - relative_humidity_2m_mean
            - relative_humidity_2m_min
            - relative_humidity_2m_max
            - cape_mean
            - cape_min
            - cape_max
            - dew_point_2m_mean
            - dew_point_2m_min
            - dew_point_2m_max
            - et0_fao_evapotranspiration
            - shortwave_radiation_sum
      - name: elevation
        in: query
        schema:
          type: number
          format: float
      - name: temperature_unit
        in: query
        schema:
          type: string
          default: celsius
          enum:
          - celsius
          - fahrenheit
      - name: wind_speed_unit
        in: query
        schema:
          type: string
          default: kmh
          enum:
          - kmh
          - ms
          - mph
          - kn
      - name: precipitation_unit
        in: query
        schema:
          type: string
          default: mm
          enum:
          - mm
          - inch
      - name: timeformat
        in: query
        description: If format unixtime is selected, all time values are returned in UNIX epoch time.
        schema:
          type: string
          default: iso8601
          enum:
          - iso8601
          - unixtime
      - name: timezone
        in: query
        description: Any IANA time zone name is supported. Use auto to resolve the local time zone.
        schema:
          type: string
      - name: past_days
        in: query
        description: Return past days of data.
        schema:
          type: integer
          default: 0
          minimum: 0
          maximum: 92
      - name: forecast_days
        in: query
        description: Number of forecast days.
        schema:
          type: integer
          default: 7
          minimum: 0
          maximum: 36
      - name: past_hours
        in: query
        schema:
          type: integer
      - name: forecast_hours
        in: query
        schema:
          type: integer
      - name: start_date
        in: query
        description: Start date of the time interval in ISO 8601 format.
        schema:
          type: string
          format: date
      - name: end_date
        in: query
        description: End date of the time interval in ISO 8601 format.
        schema:
          type: string
          format: date
      - name: tilt
        in: query
        description: Slope tilt in degrees for global_tilted_irradiance calculation.
        schema:
          type: number
          format: float
          default: 0
      - name: azimuth
        in: query
        description: Azimuth for global_tilted_irradiance. North=0, East=90, South=180, West=270.
        schema:
          type: number
          format: float
          default: 0
      - name: cell_selection
        in: query
        description: 'Grid cell selection preference: land, sea, or nearest.'
        schema:
          type: string
          enum:
          - land
          - sea
          - nearest
      - name: apikey
        in: query
        description: Only required for commercial subscriptions.
        schema:
          type: string
      - name: models
        in: query
        description: Manually select one or more weather models.
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - icon_seamless_eps
            - icon_global_eps
            - icon_eu_eps
            - icon_d2_eps
            - ncep_gefs_seamless
            - ncep_gefs025
            - ncep_gefs05
            - ncep_aigefs025
            - ecmwf_ifs025_ensemble
            - ecmwf_aifs025_ensemble
            - gem_global_ensemble
            - bom_access_global_ensemble
            - ukmo_global_ensemble_20km
            - ukmo_uk_ensemble_2km
            - meteoswiss_icon_ch1_ensemble
            - meteoswiss_icon_ch2_ensemble
      - name: temporal_resolution
        in: query
        description: 'Aggregate data into larger time intervals. Supported: native, hourly, hourly_3, hourly_6.'
        schema:
          type: string
          enum:
          - native
          - hourly
          - hourly_3
          - hourly_6
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  latitude:
                    type: number
                    format: float
                  longitude:
                    type: number
                    format: float
                  elevation:
                    type: number
                    format: float
                  generationtime_ms:
                    type: number
                    format: float
                  utc_offset_seconds:
                    type: integer
                  timezone:
                    type: string
                  timezone_abbreviation:
                    type: string
                  hourly:
                    type: object
                    properties:
                      time:
                        type: array
                        items:
                          type: string
                    additionalProperties:
                      type: array
                      items:
                        type: number
                        format: float
                  hourly_units:
                    type: object
                    properties:
                      time:
                        type: string
                    additionalProperties:
                      type: string
                  daily:
                    type: object
                    properties:
                      time:
                        type: array
                        items:
                          type: string
                    additionalProperties:
                      type: array
                      items:
                        type: number
                        format: float
                  daily_units:
                    type: object
                    properties:
                      time:
                        type: string
                    additionalProperties:
                      type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: boolean
                  reason:
                    type: string