# Kalshi Weather Market Scraper (x402)

> Kalshi Weather Market Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Fetches structured Kalshi weather prediction market data (daily high/low temperature and rain contracts) for specified cities and date ranges, with optional orderbook and trade history.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/kalshi?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/kalshi-weather-market-scraper-x402-17daf747
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eBDbOlaEfB1A6DonHzIGc

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 kalshi-weather-market-scraper-x402-17daf747 -d '<json body>'
```

Example prompt: Pull all live Kalshi daily high and low temperature markets for NYC and Chicago for the next 7 days, including the current orderbook bids for each active market.

## When to prefer this

Use this endpoint when you need structured Kalshi weather prediction market data — tickers, contract details, trade history, or orderbooks — for temperature (daily high/low) or precipitation markets across supported US cities. Prefer this over manually scraping Kalshi's website or using their raw API when you want pre-structured JSON output and pay only for successful, non-empty runs.

## Known failure modes

- Invalid city code returns empty items array (not charged)
- Date format errors if not using YYYY-MM-DD, YYYYMMDD, today, tomorrow, or yesterday
- Empty result set for date ranges with no markets (not charged)
- lookbackDays exceeding 365 rejected by schema validation
- Slow response when includeTrades and includeOrderbook are both enabled across many markets
- Network timeout on large maxItems requests with trade data

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count and an array of market records, each containing city, ticker, station ID, series type, strike type, event ticker, bracket label, and series ticker. When includeTrades is true, each market also includes up to 1,000 recent trades. When includeOrderbook is true, active markets include bid level data.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "mode": {
   "enum": [
    "live",
    "settled",
    "both"
   ],
   "type": "string",
   "default": "live",
   "description": "Live contracts, finalized contracts with results, or both. Settled mode includes archived markets within the date window."
  },
  "cities": {
   "type": "array",
   "default": [
    "NYC"
   ],
   "description": "City names or codes such as NYC, Chicago, Miami, or all. Temperature markets cover 24 cities; daily rain also covers several more."
  },
  "dateTo": {
   "type": "string",
   "description": "Optional last market date, inclusive. Use YYYY-MM-DD, YYYYMMDD, today, tomorrow or yesterday."
  },
  "dateFrom": {
   "type": "string",
   "description": "Optional first market date, inclusive. Use YYYY-MM-DD, YYYYMMDD, today, tomorrow or yesterday."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many market records. Zero means no item cap; the run charge limit still applies."
  },
  "seriesType": {
   "enum": [
    "both",
    "KXHIGH",
    "KXLOW",
    "KXRAIN",
    "KXRAINM",
    "rain",
    "all"
   ],
   "type": "string",
   "default": "both",
   "description": "Choose daily high, daily low, daily rain, monthly rain, both temperature series, both rain series, or all four families."
  },
  "lookbackDays": {
   "type": "integer",
   "default": 30,
   "maximum": 365,
   "minimum": 1,
   "description": "How many market dates to include in settled mode when dateFrom is empty. The archive is included when needed."
  },
  "includeTrades": {
   "type": "boolean",
   "default": false,
   "description": "Add up to 1,000 recent trades per market. Adds one request per market and can take longer."
  },
  "includeOrderbook": {
   "type": "boolean",
   "default": false,
   "description": "Add bid levels for active markets. Adds one request per active market; settled markets have empty books."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "city": null,
    "ticker": null,
    "station_id": null,
    "series_type": null,
    "strike_type": null,
    "event_ticker": null,
    "bracket_label": null,
    "series_ticker": null
   }
  ],
  "product": "kalshi"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/kalshi-weather-market-scraper-x402-17daf747/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
