Kalshi Weather Prediction Markets - Odds API avatar

Kalshi Weather Prediction Markets - Odds API

Pricing

from $0.70 / 1,000 market brackets

Go to Apify Store
Kalshi Weather Prediction Markets - Odds API

Kalshi Weather Prediction Markets - Odds API

Kalshi weather prediction markets data: every daily high and low temperature market, bracket by bracket, with odds, implied probability, volume and results. Joined with today's observed temperature at the NWS settlement station, and a signal when a bracket is already decided.

Pricing

from $0.70 / 1,000 market brackets

Rating

0.0

(0)

Developer

Tom Awake

Tom Awake

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Share

What does Kalshi Weather Prediction Markets do?

This actor extracts every Kalshi weather prediction market: the daily high and low temperature markets (KXHIGH / KXLOW series), bracket by bracket, with odds, implied probability, volume and results. It also joins each market with the temperature already observed today at the station that settles it. You get the odds, and you get what the thermometer has already decided.

  • All the series, found automatically. The actor reads Kalshi's own list of weather series on every run. On 19 Sep 2026 that was 104 series, 48 of them open, 288 brackets across 24 cities. A new city appears without anyone editing a table.
  • The right station. Each market's rules name its NWS climate station (CLIMDW), and the actor derives the observation station from it (KMDW): Chicago settles at Midway, not O'Hare. Measured: 24 stations out of 24 resolved.
  • The right day. The NWS climate day runs midnight to midnight in local standard time, and daylight saving is ignored. In summer it runs from 1 am to 1 am on the clock, and observed highs and lows use exactly that window.
  • Brackets already decided. A daily high only goes up and a daily low only goes down, so some brackets are settled before the day ends. observationSignal flags them, with a 1°F safety margin.
  • History for backtests. Settled markets come with their result and the settlement temperature. Checked on 288 settled brackets: the result matches the settlement value and the bracket bounds every time.

What data can you extract from Kalshi weather markets?

DataFields
Marketticker, eventTicker, seriesTicker, city, measure, marketDate, bracket, strikeType, floorStrikeF, capStrikeF
OddsyesBid, yesAsk, lastPrice, noBid, noAsk, impliedProbability
Activityvolume, volume24h, openInterest, liquidityDollars
Settlementstatus, result, settlementValue, closeTime, settlementSource, rules
StationclimateStationId, stationIcao, stationName
Today's observationsobservedHighF, observedLowF, observationCount, lastObservationAt, observationSignal

How to get Kalshi weather market data

  1. Leave cities empty for all of them, or name them as Kalshi does: New York City, Chicago, Miami.
  2. Choose the measure (high, low or both) and the markets: live odds, settled history, or both.
  3. Keep station observations on to see today's observed high and low next to each bracket.
  4. Click Start. For live monitoring, schedule it every few minutes.

How much does it cost?

One event per market bracket returned.

JobRowsCost
Two cities, high and low, live24about $0.02
Every open weather market~288about $0.29
30 days of settled history, all cities~8,600about $8.60

Subscription plans pay less per row.

Input example

{ "cities": ["New York City", "Chicago", "Miami"], "measure": "high", "mode": "live" }

Output example

{
"ticker": "KXHIGHAUS-26SEP19-T96",
"city": "Austin",
"measure": "high",
"marketDate": "2026-09-19",
"bracket": "95° or below",
"strikeType": "less",
"capStrikeF": 96,
"yesBid": 0.04,
"yesAsk": 0.05,
"impliedProbability": 0.045,
"volume24h": 1751.16,
"stationIcao": "KAUS",
"stationName": "Austin-Bergstrom International Airport",
"observedHighF": 80.6,
"observationSignal": ""
}

How the "already decided" signal works

Kalshi's bracket meaning, checked on 288 brackets: less with cap C wins if T ≤ C−1 ("95° or below" for C = 96). between a–b wins if a ≤ T ≤ b. greater with floor X wins if T ≥ X+1 ("104° or above" for X = 103). T is the whole-degree settlement temperature.

The 5-minute station data comes in whole degrees Celsius, which is ±1°F once converted. The signal fires only when the observation clears the bracket edge by that margin plus the half-degree of rounding. It is conservative on purpose: on 19 Sep 2026 it flagged 12 brackets, and the market was already pricing every one of them at 0–1¢.

Use the Kalshi weather API in Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("DataIO/kalshi-weather-markets").call(run_input={"measure": "high"})
for m in client.dataset(run["defaultDatasetId"]).iterate_items():
print(m["city"], m["bracket"], m["impliedProbability"], m["observedHighF"], m["observationSignal"])

Works from JavaScript, n8n, or trading agents through the Apify MCP server.

Other actors you might like

FAQ

Is the settlement temperature the same as the observed one?

Not always. Settlement uses The Weather Company's figure, as the market rules say. Observations come from the NWS feed for the same station, and the two can differ by a degree. The signal's margin covers the usual gap, but it is no guarantee.

Which cities are covered?

Every city Kalshi lists, currently US cities. International series (Berlin, London, Mexico City) sit in Kalshi's catalogue and are read if they open, but no NWS observation is joined for them.

Is this trading advice?

No. It is market and weather data.

Source

Kalshi public trade API (v2) and the National Weather Service API (api.weather.gov). Both are public and need no key. This actor is not affiliated with Kalshi or the NWS.