# MET Norway Hourly Weather Forecast via x402 Gateway

> MET Norway Hourly Weather Forecast via x402 Gateway is a paid API for AI agents from x402-gateway.blackwoodstate8.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-21).

Returns an hourly weather forecast (temperature, precipitation, wind, humidity, cloud cover, weather symbol) for a given latitude/longitude using MET Norway data, paid via x402 micropayment.

## Facts

- Endpoint: POST https://x402-gateway.blackwoodstate8.workers.dev/v1/weather-forecast?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/met-norway-hourly-weather-forecast-via-x402-gateway-0c11f084
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8CcexAx3bSxPkUWZ17ZtA

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability met-norway-hourly-weather-forecast-via-x402-gateway-0c11f084 -d '<json body>'
```

Example prompt: What's the hourly weather forecast for the next 48 hours at latitude 59.9139, longitude 10.7522 — I need temperature, precipitation, and wind?

## When to prefer this

Use this endpoint when you have a specific latitude/longitude and need a structured hourly weather forecast (up to 240 hours ahead) with rich meteorological fields from MET Norway. Prefer this over name-based weather APIs when you already have geocoded coordinates. Do not use for historical weather data, severe weather alerts, or when you only have a place name (geocode first). Best for agentic workflows that pay per call via x402 micropayments.

## Known failure modes

- Coordinates out of range (lat outside -90/90 or lon outside -180/180) — validation error
- Hours parameter outside 1-240 range — validation error
- MET Norway upstream unavailable — 502 or timeout
- Payment not settled via x402 — 402 Payment Required
- Malformed request body missing required latitude/longitude — 400 Bad Request

## How this service works

Use when you need a weather forecast, temperature or precipitation for the next hours or days at a place given by coordinates. Do not use for historical weather, severe weather alerts or places given only by name (geocode first). Returns JSON with the hourly weather forecast for a latitude and longitude: temperature, precipitation, wind, humidity, cloud cover and a weather symbol, from MET Norway for 0.003 USDC per call. Typical response time 1500 ms (p95). Category: Data.

## Output

A JSON object containing: the queried latitude, longitude, altitude (meters), update timestamp, attribution to MET Norway, and an array of hourly entries each with time, temperature (°C), precipitation (mm), precipitation hours, wind speed (m/s), wind direction (degrees), humidity (%), cloud cover (%), pressure (hPa), and a weather symbol code. Also includes a 'next' field suggesting follow-up calls in the same service family.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "latitude",
      "longitude"
     ],
     "properties": {
      "hours": {
       "type": "integer",
       "maximum": 240,
       "minimum": 1,
       "description": "How many hours ahead to return (1-240, 48 when omitted); hourly at first, then every 6 hours"
      },
      "latitude": {
       "type": "number",
       "maximum": 90,
       "minimum": -90,
       "description": "Latitude in decimal degrees (WGS84), e.g. 59.9139 for Oslo, rounded to 4 decimals"
      },
      "longitude": {
       "type": "number",
       "maximum": 180,
       "minimum": -180,
       "description": "Longitude in decimal degrees (WGS84), e.g. 10.7522 for Oslo, rounded to 4 decimals"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "latitude",
      "longitude",
      "altitudeM",
      "updatedAt",
      "hours",
      "attribution"
     ],
     "properties": {
      "next": {
       "type": "object",
       "required": [
        "service",
        "tool",
        "method",
        "url",
        "useWhen",
        "sample"
       ],
       "properties": {
        "url": {
         "type": "string",
         "description": "Paid route of the next call"
        },
        "tool": {
         "type": "string",
         "description": "MCP tool name of the same call"
        },
        "method": {
         "enum": [
          "GET",
          "POST"
         ],
         "type": "string"
        },
        "sample": {
         "type": "string",
         "description": "Free fixed sample of the whole family"
        },
        "service": {
         "type": "string",
         "description": "Service id of the suggested next paid call"
        },
        "useWhen": {
         "type": "string",
        
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "hours": [
   {
    "time": "2026-10-17T05:00:00Z",
    "symbol": "clearsky_night",
    "cloudPct": 2.5,
    "humidityPct": 76.8,
    "pressureHpa": 1025.5,
    "windFromDeg": 27,
    "windSpeedMs": 3.1,
    "temperatureC": 6.3,
    "precipitationMm": 0,
    "precipitationHours": 1
   },
   {
    "time": "2026-10-17T06:00:00Z",
    "symbol": "clearsky_day",
    "cloudPct": 0.1,
    "humidityPct": 75.7,
    "pressureHpa": 1026.9,
    "windFromDeg": 8,
    "windSpeedMs": 2.4,
    "temperatureC": 6,
    "precipitationMm": 0,
    "precipitationHours": 1
   },
   {
    "time": "2026-10-17T07:00:00Z",
    "symbol": "clearsky_day",
    "cloudPct": 0,
    "humidityPct": 74.5,
    "pressureHpa": 1028,
    "windFromDeg": 9,
    "windSpeedMs": 2.1,
    "temperatureC": 6,
    "precipitationMm": 0,
    "precipitationHours": 1
   },
   {
    "time": "2026-10-17T08:00:00Z",
    "symbol": "clearsky_day",
    "cloudPct": 0,
    "humidityPct": 69.8,
    "pressureHpa": 1029,
    "windFromDeg": 10,
    "windSpeedMs": 2.6,
    "temperatureC": 7.5,
    "precipitationMm": 0,
    "precipitationHours": 1
   }
  ],
  "latitude": 59.9139,
  "altitudeM": 5,
  "longitude": 10.7522,
  "updatedAt": "2026-10-17T05:29:51Z",
  "attribution": "Data from MET Norway (api.met.no), licensed under NLOD 2.0 and CC BY 4.0"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/met-norway-hourly-weather-forecast-via-x402-gateway-0c11f084/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-gateway.blackwoodstate8.workers.dev](https://www.zero.xyz/host/x402-gateway.blackwoodstate8.workers.dev/llms.txt)
