Api Endpoint

Weather Ensemble

Single models are everywhere. This is the disagreement between them: per hour a median with a p15/p85 band, the full min/max spread, how many models still carry that hour, an agreement score, rain probability derived from pooled ensemble members rather than one deterministic run, a frost assessment, and the official DWD warnings in force for the point.

Open interactive test console

Offering

Provider
wetter.halowerk.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Weather And Environment
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://wetter.halowerk.com/ensemble
MIME type
application/json
First seen
2026-10-16T01:51:10.599Z
Last seen
Tags
X402, halowerk, weather_ensemble

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E"
  }
]

Observed health

Status
Healthy
Latest latency
311 ms
Average latency
854 ms
HTTP status
204
Last checked
Reachability
100% over 8 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json",
        "form-data",
        "text"
      ]
    },
    "body": {
      "type": "object",
      "required": [
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number",
          "minimum": -90,
          "maximum": 90,
          "description": "Latitude in decimal degrees."
        },
        "lon": {
          "type": "number",
          "minimum": -180,
          "maximum": 180,
          "description": "Longitude in decimal degrees."
        },
        "hours": {
          "type": "integer",
          "minimum": 1,
          "maximum": 168,
          "default": 24,
          "description": "Forecast hours, up to 168 (seven days). Short range models drop out beyond their own horizon; the per hour \"models\" count shows it."
        },
        "variables": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "temperature_2m",
              "apparent_temperature",
              "dew_point_2m",
              "relative_humidity_2m",
              "precipitation",
              "snowfall",
              "cloud_cover",
              "wind_speed_10m",
              "wind_gusts_10m",
              "surface_pressure",
              "pressure_msl",
              "shortwave_radiation",
              "cape",
              "wind_direction_10m",
              "weather_code"
            ]
          },
          "default": [
            "temperature_2m",
            "precipitation",
            "wind_speed_10m"
          ],
          "maxItems": 8,
          "description": "Which variables to compare. wind_direction_10m is aggregated as a circular mean with a directional consensus, weather_code as a majority vote; every other variable gets median, p15, p85, min, max and spread."
        },
        "models": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "icon_d2",
              "icon_eu",
              "knmi_harmonie_arome_netherlands",
              "dmi_seamless",
              "meteofrance_seamless",
              "ukmo_seamless",
              "ecmwf_ifs025",
              "ecmwf_aifs025_single",
              "gfs_seamless",
              "gem_seamless",
              "jma_seamless",
              "cma_grapes_global"
            ]
          },
          "default": [
            "icon_d2",
            "icon_eu",
            "knmi_harmonie_arome_netherlands",
            "dmi_seamless",
            "meteofrance_seamless",
            "ukmo_seamless",
            "ecmwf_ifs025",
            "ecmwf_aifs025_single",
            "gfs_seamless",
            "gem_seamless",
            "jma_seamless",
            "cma_grapes_global"
          ],
          "minItems": 2,
          "description": "Restrict the comparison to a subset of the twelve models. At least two, because a comparison of one model is just a forecast."
        },
        "timezone": {
          "type": "string",
          "default": "UTC",
          "description": "IANA zone name for the returned timestamps, for example Europe/Berlin."
        }
      }
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "http"
        },
        "method": {
          "type": "string",
          "enum": [
            "POST"
          ]
        },
        "bodyType": {
          "type": "string",
          "enum": [
            "json",
            "form-data",
            "text"
          ]
        },
        "body": {
          "type": "object",
          "required": [
            "lat",
            "lon"
          ],
          "properties": {
            "lat": {
              "type": "number",
              "minimum": -90,
              "maximum": 90,
              "description": "Latitude in decimal degrees."
            },
            "lon": {
              "type": "number",
              "minimum": -180,
              "maximum": 180,
              "description": "Longitude in decimal degrees."
            },
            "hours": {
              "type": "integer",
              "minimum": 1,
              "maximum": 168,
              "default": 24,
              "description": "Forecast hours, up to 168 (seven days). Short range models drop out beyond their own horizon; the per hour \"models\" count shows it."
            },
            "variables": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "temperature_2m",
                  "apparent_temperature",
                  "dew_point_2m",
                  "relative_humidity_2m",
                  "precipitation",
                  "snowfall",
                  "cloud_cover",
                  "wind_speed_10m",
                  "wind_gusts_10m",
                  "surface_pressure",
                  "pressure_msl",
                  "shortwave_radiation",
                  "cape",
                  "wind_direction_10m",
                  "weather_code"
                ]
              },
              "default": [
                "temperature_2m",
                "precipitation",
                "wind_speed_10m"
              ],
              "maxItems": 8,
              "description": "Which variables to compare. wind_direction_10m is aggregated as a circular mean with a directional consensus, weather_code as a majority vote; every other variable gets median, p15, p85, min, max and spread."
            },
            "models": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "icon_d2",
                  "icon_eu",
                  "knmi_harmonie_arome_netherlands",
                  "dmi_seamless",
                  "meteofrance_seamless",
                  "ukmo_seamless",
                  "ecmwf_ifs025",
                  "ecmwf_aifs025_single",
                  "gfs_seamless",
                  "gem_seamless",
                  "jma_seamless",
                  "cma_grapes_global"
                ]
              },
              "default": [
                "icon_d2",
                "icon_eu",
                "knmi_harmonie_arome_netherlands",
                "dmi_seamless",
                "meteofrance_seamless",
                "ukmo_seamless",
                "ecmwf_ifs025",
                "ecmwf_aifs025_single",
                "gfs_seamless",
                "gem_seamless",
                "jma_seamless",
                "cma_grapes_global"
              ],
              "minItems": 2,
              "description": "Restrict the comparison to a subset of the twelve models. At least two, because a comparison of one model is just a forecast."
            },
            "timezone": {
              "type": "string",
              "default": "UTC",
              "description": "IANA zone name for the returned timestamps, for example Europe/Berlin."
            }
          }
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "input"
  ]
}