Ensemble API

Delivers probabilistic weather forecasts using ensemble model runs with up to 51 members, supporting risk assessment and uncertainty quantification in weather-sensitive applications. Requires a paid commercial subscription.

OpenAPI Specification

open-meteo-ensemble-openapi.yml Raw ↑
openapi: '3.0.3'
info:
  title: Open-Meteo Ensemble Weather Forecast API
  description: >-
    Ensemble weather forecasts from multiple models providing probabilistic forecast data.
  version: '1.0'
  contact:
    name: Open-Meteo
    url: https://open-meteo.com
    email: [email protected]
  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
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