Polymarket Weather Markets (temp brackets, forecast vs odds)
Pricing
from $4.00 / 1,000 result items
Polymarket Weather Markets (temp brackets, forecast vs odds)
Polymarket weather markets: every active daily high/low temperature bracket with a model probability from a regional forecast model plus ECMWF ensemble spread, the market best ask and the difference. Platt-calibrated on 3,301 resolved markets. Public APIs, no anti-bot, no login.
Pricing
from $4.00 / 1,000 result items
Rating
0.0
(0)
Developer
Viktor Dubnytskiy
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Every active Polymarket daily high/low temperature market as one row per bracket, with a documented model probability next to the market's best ask and the difference between them. It is a research and monitoring dataset for people who trade, study or report on weather prediction markets — not betting advice.
What you get (example output)
Real rows from the example dataset (Miami, high temperature, 3 September):
| Field | Example value | What it is |
|---|---|---|
slug | highest-temperature-in-miami-on-september-3-2026-78-79f | Polymarket market slug (url is the full market link) |
question | Will the highest temperature in Miami be between 78-79°F on September 3? | Market question as shown on Polymarket |
city / date / kind | miami / 2026-09-03 / high | City, market date and whether it is a daily high or low |
bracket / low / high / unit | 78-79F / 78 / 79 / F | The temperature bracket, parsed into numbers |
forecastC / sigmaC | 31.8 / 2.3 | Forecast daily max in °C and the uncertainty used |
modelPrimary | ncep_hrrr_conus | Which forecast model produced forecastC |
probability / probabilityCalibrated | 0.007 / 0.0515 | Raw model probability for the bracket and the Platt-calibrated one |
bestAsk / diffVsAsk | 0.001 / 0.0505 | Market best ask and calibrated probability minus that ask |
liquidity | 14553.01 | Polymarket liquidity for the bracket market |
Every row also carries bounds, modelCrossVal, divergenceC, ensembleStdC, ensembleMembers, marketYesPrice, bestBid, endDate, stationNote and scrapedAt.
Use cases
- Research on prediction-market calibration — a reproducible model probability sitting next to the traded price for every bracket, with the model name and uncertainty attached.
- Monitoring weather markets — one scheduled run gives the current best bid/ask, liquidity and model view for every active city and date.
- Teaching and reporting — a clean, documented dataset showing how forecast uncertainty maps onto bracket probabilities.
Related actors
- Polymarket Scraper — Resolved Markets & Price Before Close — for resolved markets and pre-close pricing outside weather brackets.
- Yahoo Finance Scraper (quotes, key stats, history, alerts) — compare weather-market pricing against traditional financial data.
- Google Trends Scraper: Interest, Related Queries, Spikes — check public search interest around a weather event.
How it works
- Forecast: an hourly temperature series for the market date from a per-city regional model (HRRR for US cities, ICON-D2/EU for Germany and Europe, JMA MSM for Japan, ECMWF IFS elsewhere), reduced to the daily max (high markets) or min (low markets) in the city's local day.
- Uncertainty: the ECMWF ensemble (50 members) spread for the same day, floored at 2.0 °C, inflated by 15 % for max/min markets and further when a cross-validation model disagrees by more than 1 °C.
- Bracket probability: a normal distribution with continuity correction at the bracket edges; open-ended brackets ("X or higher") use the half-line form so probability mass is not truncated.
probabilityCalibrated: a Platt correction fitted on 3,301 resolved markets (a = 0.528, b = −0.297). Raw model probabilities were over-confident by 17–20 percentage points on our own historical bets, so the calibrated column is the one to compare with prices.
Prices and order books come from Polymarket's public APIs and the forecast from Open-Meteo — no anti-bot, no proxy, no login.
Calibration note (read before using diffVsAsk)
On 36,778 resolved Polymarket weather markets, Yes prices sit within about 1.7 points of the realised frequency and a group's Yes prices sum to roughly 1.08. A positive diffVsAsk is therefore usually the market's margin, not an edge. This dataset gives you a documented, reproducible model probability next to the price; it is not betting advice and does not claim an edge.
Input
| Field | Meaning | Default |
|---|---|---|
cities | City slugs as they appear in market URLs, e.g. miami, nyc, london; empty means every city with active markets | empty (all) |
dates | Market dates as YYYY-MM-DD, e.g. 2026-09-15; empty means every active market date | empty (all) |
includeKalshi | Also include Kalshi weather markets — off by default, Kalshi's Data Terms restrict commercial use | false |
maxItems | Stop after this many bracket rows | 30 |
mode | scrape = every bracket; monitor = only brackets changed since the previous run of this Task | scrape |
monitorStateId | State key for monitor mode when not running as a saved Task | empty |
webhookUrl | URL that receives a POST with the change summary in monitor mode | empty |
telegramBotToken / telegramChatId | Optional Telegram destination for monitor-mode summaries | empty |
Pricing
| Event | Price |
|---|---|
| result | $0.005 per bracket row ($5 per 1,000) |
Charged only for rows with a computed probability. If a city has no coordinates or the forecast source fails, its markets are skipped and counted in the run summary.
Found it useful? A short review on the Store page helps other traders find this actor and tells us what to improve. If a forecast or odds read looks wrong, open an issue on the actor page — issues are answered within a day.
Why this actor
- The model is documented, not a black box — model name, cross-validation model, divergence, ensemble spread and member count ship in every row, so you can reproduce or reject the number.
- Calibrated against 3,301 resolved markets, with the size of the raw model's over-confidence stated rather than hidden.
- Honest about the edge — the calibration note says plainly that a positive
diffVsAskis usually the market's margin. - No anti-bot, no login, no proxy cost — public APIs only, so runs are cheap and reliable.
- No charge for empty runs — you pay per pushed row; skipped cities are reported in the run summary instead.
Limits
- The forecast is a grid point at the city's coordinates (LaGuardia for NYC), not the exact reporting station that settles the market;
stationNotestates the local-day resolution rule for each row. - Typically 200–300 active bracket markets across about 20 cities; each city/date costs one forecast bundle (3 requests) and each market one order-book request.
- Markets more than 7 days out are skipped — the hourly forecast window does not reach them.
- An Open-Meteo commercial plan key is required for commercial use of the forecast source (set the
OPEN_METEO_API_KEYsecret); the free endpoints are for evaluation only. - Kalshi markets are opt-in and off by default because of Kalshi's Data Terms.
FAQ
Which Polymarket markets does this cover? The daily high and low temperature bracket markets, for every city that currently has active markets. Restrict it with cities and dates, or leave both empty for everything.
Where does the probability come from? A regional weather model chosen per city (HRRR, ICON-D2/EU, JMA MSM or ECMWF IFS), with the ECMWF 50-member ensemble spread as the uncertainty, mapped onto the bracket with a normal distribution and then Platt-calibrated. Every input is in the row.
Does a positive diffVsAsk mean a profitable bet? No. Measured over 36,778 resolved weather markets, Polymarket Yes prices track realised frequency closely and a bracket group sums to about 1.08, so the gap is normally the market's margin. Treat the column as research output, not a signal.
Changelog
- 0.1: initial release — Polymarket temperature markets, regional models + ECMWF ensemble sigma, Platt calibration, CLOB best ask.
If this actor is useful, a review on its Apify Store page genuinely helps other buyers find it. Found a bug or need a field that is missing? Open a ticket on the Issues tab of the actor and it will be looked at.