Polymarket resolution history

Marketlens stores the winning outcome for 600,816 resolved Polymarket markets as a queryable field, next to the order books, trades, and candles each market traded on. Price history tells you what the crowd believed; resolution history tells you what actually happened. This page is about the outcomes dataset; the full archive overview is on historical data, endpoint reference in the docs, and provider comparisons on compare.

What the resolution dataset is

Once a Polymarket market settles, Marketlens records which outcome won and stores it as winning_outcome on the market row. That makes outcomes joinable data: filter any series to resolved markets, read the outcome next to the question, and line it up against the books and trades that preceded settlement. Coverage spans every recurring market type in the data catalog, 600,816 resolved markets across 644 series.

Polymarket's own API reports live prices, and most data vendors record prices and books. The settled result as a first class, queryable field across every market type is what this dataset adds. How each vendor compares is on the comparison page.

Example outcome splits

Every series page shows its live resolution split. Two examples from the archive: of the 42,018 resolved BTC up or down 5 minute windows, 21,034 resolved Down and 20,984 resolved Up. Sports series like MLB (15,742 resolved markets) resolve across bet types instead: totals to Under or Over, moneylines to team names, props to Yes or No, so their pages break markets down by bet type.

Splits like these are the raw material for calibration work: how often the favorite side of the book actually wins, per series, per price band, per time to close.

Settle by winning outcome, not final price

A market can trade near one outcome into the close and still resolve the other way, so the last traded price is not the settlement. Any PnL computed by marking positions at the final print quietly assumes it is. The stored winning_outcome is the actual payoff: a share of the winning side pays out in full, the losing side pays nothing. The Marketlens backtester settles positions this way by construction.

python
from marketlens import MarketLens client = MarketLens() # resolved markets with their winning outcome for market in client.markets.list( series_id="btc-up-or-down-5m", status="resolved", take=10, ): print(market.question, market.winning_outcome)

The same filter works on any series slug or category, from sports to weather, and the coverage runs from March 1, 2026 through August 5, 2026.

Common questions

Where can I get Polymarket resolution history?

Marketlens stores the winning outcome for 600,816 resolved Polymarket markets as a queryable winning_outcome field, alongside the order books, trades, and candles each market traded on. It is served through a REST API, a Python SDK (pip install marketlens), and bulk Parquet exports, with a free tier of 5M events per day.

How many resolved Polymarket markets are in the dataset?

600,816 resolved markets across 644 recurring series as of the current snapshot, growing as chains keep resolving. Every series page in the data catalog shows its own resolution split.

How do Polymarket markets resolve?

Each market settles to one winning outcome: Up or Down for crypto windows, a team or Over or Under for sports, a temperature bucket for weather. Marketlens captures the resolution and backfills winning_outcome on the stored market, so the settled result is a data field, not something inferred from prices.

Why not settle a backtest at the last traded price?

Because the last trade can sit on the losing side of the actual resolution: a market can trade near one outcome into the close and still resolve the other way. Settling positions by the stored winning_outcome reproduces what a real position would have paid, settling by final price does not.

Do other Polymarket data providers include outcomes?

Most vendors on the Marketlens comparison page advertise order book and price history rather than a queryable outcome field. Marketlens serves winning_outcome for 600,816 resolved markets across every market type, on every tier including free.

Try it

Query outcomes alongside the books

The free tier includes 5M events per day with full API and full archive access, no card required.

bash
$ pip install marketlens