# Kalshi Weather Market Data Scraper

> Kalshi Weather Market Data Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Fetches structured Kalshi weather prediction market data (temperature highs/lows and rainfall contracts) for specified cities and date ranges, including optional order book and trade history.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/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-data-scraper-29e128f8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aItxoBhjk6dL_8I6VKpsF

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-data-scraper-29e128f8 -d '<json body>'
```

Example prompt: Pull both live and settled Kalshi weather markets for NYC and Chicago from January 1 to January 31, covering both temperature series (KXHIGH and KXLOW), and include the order book for active contracts — cap it at 200 records.

## When to prefer this

Use this endpoint when you need structured Kalshi weather prediction market data — temperature (daily high/low) or rainfall contracts — for specific cities and date ranges, with optional trade history and order book depth. Prefer this over direct Kalshi API calls when you need pay-per-use access without managing API credentials, or when you need both live and archived settled markets in one call. Best for weather market research, trading strategy backtesting, and real-time market monitoring across multiple cities.

## Known failure modes

- Invalid city code returns empty items array or error
- Date format not matching YYYY-MM-DD or YYYYMMDD causes parsing failure
- Unsupported seriesType enum value rejected
- lookbackDays exceeding 365 rejected with validation error
- includeTrades or includeOrderbook causing timeout for large market sets
- Empty result set when no markets exist for the given parameters — not charged
- Kalshi upstream API unavailability causing failed run — not charged

## 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 items array. Each item represents a Kalshi weather market contract with fields including city, ticker, station_id, series_type, strike_type, event_ticker, bracket_label, and series_ticker. If requested, each item may also include up to 1,000 recent trades and/or order book bid levels for active markets.

## 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-data-scraper-29e128f8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
