# Isocast Weather Signals

> Isocast Weather Signals is a paid API for AI agents from api.isocast.dev, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-15).

Returns bucket-transition signals for Polymarket weather markets, indicating when a city's daily high temperature crosses into a new temperature bucket

## Facts

- Endpoint: GET https://api.isocast.dev/v1/signals
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/isocast-weather-signals-4e2eb988
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_WKS0otvQ7OF-diSTSjPkl

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 isocast-weather-signals-4e2eb988
```

Example prompt: Fetch the latest temperature bucket-transition signals for Istanbul on Isocast — give me the 5 most recent ones, starting fresh from the beginning.

## When to prefer this

Choose this endpoint when your agent needs structured, machine-readable signals tied specifically to Polymarket weather temperature-bucket markets — particularly when you want to react to bucket transitions in real time without scraping Polymarket directly. It is ideal for autonomous trading agents, alert bots, or dashboards that need paginated, cursor-based polling of temperature crossing events across specific cities. Prefer it over generic weather APIs when the downstream use case is prediction market trading rather than raw forecast data.

## Known failure modes

- Payment not provided or insufficient USDC — 402 Payment Required response triggers x402 challenge
- Invalid city slug — city not found or not supported, returns an error
- count parameter below minimum of 2 — rejected with validation error
- Network timeout or service unavailability — agent should retry
- since cursor value out of range — may return empty signal array or error

## How this service works

Bucket-transition signals for Polymarket weather markets. The instant a city&#x27;s daily high crosses into a new temperature bucket, Isocast pushes a structured JSON signal to your agent&#x27;s Telegram. Paid per signal in USDC over x402 on Base — machine-first, no accounts, no keys.

## Output

A JSON object containing an array of temperature bucket-transition signals for the requested city. Each signal includes the old and new temperature bucket labels and raw readings, a sequence number, current yes/no odds on the Polymarket market, the Polymarket market URL, the target date, and the condition ID. The response also includes pagination fields (next_cursor, paid_through, more) so the agent can resume polling from where it left off.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "city"
     ],
     "properties": {
      "city": {
       "type": "string",
       "description": "City slug (see GET /v1/cities)"
      },
      "count": {
       "type": "integer",
       "default": 20,
       "minimum": 2,
       "description": "Bundle size proposed in the 402 challenge if payment is required"
      },
      "since": {
       "type": "integer",
       "default": 0,
       "minimum": 0,
       "description": "Return signals with seq strictly greater than this (cursor)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "more": false,
  "latest": 12,
  "signals": [
   {
    "new": {
     "unit": "C",
     "bucket": "29-30°C",
     "reading": 30.1
    },
    "old": {
     "unit": "C",
     "bucket": "28-29°C",
     "reading": 28.9
    },
    "seq": 1,
    "city": "istanbul",
    "buckets": [
     {
      "no": 0.45,
      "yes": 0.55,
      "label": "29-30°C"
     }
    ],
    "marketUrl": "https://polymarket.com/event/highest-temperature-in-istanbul-on-july-3-2026",
    "targetDate": "2026-07-03",
    "conditionId": "0x…"
   }
  ],
  "next_cursor": 1,
  "paid_through": 24
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/isocast-weather-signals-4e2eb988/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.isocast.dev](https://www.zero.xyz/host/api.isocast.dev/llms.txt)
