# Invoket Weather Forecast API

> Invoket Weather Forecast API is a paid API for AI agents from api.invoket.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Returns a weather forecast for a given latitude/longitude coordinate at a specified horizon, paid per-call in USDC via x402 with no account required.

## Facts

- Endpoint: GET https://api.invoket.com/weather/forecast
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/invoket-weather-forecast-api-9b6ccf0c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_E1aTLvN-vBxDrxYYqU_5e

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 invoket-weather-forecast-api-9b6ccf0c
```

Example prompt: What's the weather forecast for the next 24 hours at latitude 37.7749, longitude -122.4194 — give me temperature, wind, and precipitation?

## When to prefer this

Choose this endpoint when you need a lightweight, accountless, pay-as-you-go weather forecast for a specific coordinate without committing to a subscription or managing API keys. Ideal for autonomous agents that can pay in USDC via the x402 protocol. Best for point-in-time or short-horizon forecasts where temperature, wind, and precipitation are the primary outputs needed.

## Known failure modes

- Missing or invalid lat/lon parameters returns a 4xx error
- Insufficient USDC balance or failed x402 payment returns 402 Payment Required
- Location outside forecast grid coverage returns coverage.complete = false
- Invalid horizon_h value may return an error or fall back to a default horizon
- Network or upstream weather model unavailability returns 5xx error

## How this service works

Before your agent schedules a delivery, plans outdoor work or hedges short-term weather exposure: a point forecast of 2 m temperature, precipitation and 10 m wind — plus opt-in convective, humidity, cloud and snow variables — for any GPS point or city. Deterministic NOAA GFS at 0.25 deg to 16 days (384 h), NOAA GEFS ensemble mean at 0.5 deg to 35 days (840 h) — beyond 16 days the value is an ensemble mean with smoothed extremes: trend, not threshold triggers. The lead selector is optional (omitted, the forecast defaults to the current analysis time) and the response names the model that served it and the exact forecast step.

## Output

A JSON object containing temperature in Celsius, wind speed (m/s) and direction (degrees), total precipitation (mm), the forecast valid time, model cycle, the nearest NWP grid point with distance in km, a coverage completeness flag, and provenance metadata including data source and fetch timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "city",
  "horizon_h",
  "variables"
 ],
 "properties": {
  "city": {
   "type": "string",
   "description": "City or place name, resolved against the embedded GeoNames cities500 gazetteer: exact name match (case- and accent-insensitive, no fuzzy matching), ties broken by population (most populous wins). Alias: location. Narrow with country=<ISO 3166 alpha-2>. Alternative: pass lat + lon directly instead. The resolved place is echoed back as data.location."
  },
  "horizon_h": {
   "type": "string",
   "description": "Forecast lead time in hours from the analysis cycle, 0-840 (35 days). Up to 384 h served from the deterministic GFS 0.25 deg run; beyond 384 h from the GEFS ensemble mean at 0.5 deg (an average of 31 members, not a single deterministic scenario: smoothed extremes, so trend rather than threshold triggers). If the target falls beyond the window currently available (its exact end shifts with ingestion cycles), the request is served at the latest available step and the response sets lead.clamped=true with the valid_time actually served. Alternatives (at most one of the three; all omitted defaults to the current analysis time, horizon_h=0): valid_time (RFC 3339 instant — never clamped, out-of-window returns 400) or date (YYYY-MM-DD calendar day, served at 12:00 UTC that day; weekday names like 'Wednesday' are rejected with a 400 that spells out the expected format)."
  },
  "variables": {
   "type": "string",
   "description": "Comma-separated selector of the variable families to return; defines the exact set served (omit it for the default temperature,precipitation,wind). Base families: temperature, precipitation, wind. Opt-in families from the deterministic GFS (<= 384 h only): convective (surface CAPE/CIN plus a qualitative convective_risk — an instability proxy for thunderstorm/hail risk, NOT a calibrated hail probability), humidity (2 m relative humidity), clouds (total cloud cover), snow (snow depth on the ground and whether precipitation is falling as snow). An opt-in family requested beyond 384 h, or missing at the grid cell, is served as a null block with coverage.complete=false naming it — never extrapolated."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/invoket-weather-forecast-api-9b6ccf0c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.invoket.com](https://www.zero.xyz/host/api.invoket.com/llms.txt)
