Kalshi city temperature index

$0.002 per call · USDC via x402 · POST /api/kalshi-weather-index

Kalshi's own minute-resolution city temperature index (Fahrenheit), the series its hourly temperature markets settle on, computed from weighted member stations. Send POST /api/kalshi-weather-index with the required field city and pay $0.002 per call over x402 or MPP (there is no free tier). It returns a JSON object with city, units, configVersion, count, totalInWindow and 5 more.

Ask for a trailing window (lastSec, default one hour, max 7 days) or a from/to window; detailed adds every station's reading per minute; includeCalibrations adds the published station-weight and offset timeline. Cities: miami, dfw, houston, phl-delaware-valley, puget-sound, sf-bay, greater-boston, southeast-michigan, kansas-city, minneapolis-st-paul, nyc, chicago, la-coastal. Free keyless Kalshi live_data.

Category: Crypto & onchain data · Tags: kalshi weather temperature live-data prediction-market

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
citystringyesKalshi index city id, e.g. miami, nyc, chicago, sf-bay. Also accepted as place, location.
lastSecnumbernoTrailing window in seconds (default 3600, max 604800). Ignored when from/to are given.
fromnumbernoWindow start, unix milliseconds (pair with to).
tonumbernoWindow end, unix milliseconds (pair with from).
detailedbooleannoInclude every member station's reading and QC code on each point.
includeCalibrationsbooleannoAlso return the city's published calibration timeline (station weights and offsets).
limitnumbernoNewest points to return (default 1440, max 10000).

Example request

curl -i -X POST https://agent402.tools/api/kalshi-weather-index \
  -H "Content-Type: application/json" \
  -d '{"city":"miami","lastSec":3600,"limit":5}'

Without payment this returns HTTP 402 Payment Required with the exact price for kalshi-weather-index; any x402 v2 or MPP client pays it and retries.

Example response

{
  "city": "miami",
  "units": "fahrenheit",
  "configVersion": "miami-temperature-v1.0-cal-20260914",
  "count": 5,
  "totalInWindow": 60,
  "latest": {
    "time": "2026-09-18T16:22:00.000Z",
    "valueF": 84.2,
    "contributors": 5,
    "status": "normal"
  },
  "minF": 84.2,
  "maxF": 85.28,
  "points": [
    {
      "time": "2026-09-18T16:18:00.000Z",
      "valueF": 85.28,
      "contributors": 5,
      "status": "normal"
    }
  ],
  "source": "kalshi"
}
FieldTypeAlways presentIn the example
citystringyesmiami
unitsstringyesfahrenheit
configVersionstringyesmiami-temperature-v1.0-cal-20260914
countnumberyes5
totalInWindownumberyes60
latestobjectyes4 fields: time, valueF, contributors, status
minFnumberyes84.2
maxFnumberyes85.28
pointsarray of objectsyes1 item in the example
sourcestringyeskalshi

From an MCP client

catalog.call {
  "slug": "kalshi-weather-index",
  "params": {
    "city": "miami",
    "lastSec": 3600,
    "limit": 5
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for kalshi-weather-index; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/kalshi-weather-index", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "city": "miami",
    "lastSec": 3600,
    "limit": 5
  }),
});

Related tools

Kalshi live data behind an event

$0.002 · POST /api/kalshi-live-data

The live feed a Kalshi event settles on, from Kalshi's free live_data tier: a crypto event returns the CF Benchmarks pri…

Kalshi event detail

$0.002 · POST /api/kalshi-event

Get full detail for a single Kalshi event with all its nested markets. Mutually-exclusive flag tells you whether the mar…

Kalshi markets list

$0.002 · POST /api/kalshi-markets

List Kalshi markets (CFTC-regulated US event contracts). Filter by status (open/closed/settled/unopened) or by event tic…

Current weather (global)

$0.002 · GET /api/weather-current

Current weather conditions for any location on Earth: temperature, feels-like, humidity, wind speed/direction/gusts, pre…

Known-address label lookup

FREE w/ compute · or $0.002 · POST /api/address-label

Label a known EVM address from a curated, committed dataset: major stablecoin + token contracts (the USDC and USDG contr…

Wallet token transfers (filtered)

$0.003 · POST /api/asset-transfers

Recent token transfers for a wallet on Base, Ethereum and other EVM chains, newest first. Filtered transfer log for an E…