Polymarket price history

Polymarket price history, downloaded in Python from a series slug: candles at any resolution from 1 second to 1 day, every trade with size and side, and the order book behind each price, for 903,238 markets since March 1, 2026, resolved markets included. A Polymarket price is the last traded price of one outcome token, quoted between 0 and 1 as a probability; the archive keeps both outcomes of every market.

Step 1: find the markets by series

The archive is indexed by series slug, the family names you see on Polymarket: btc-up-or-down-5m, mlb, a weather city. series.walk() lists a rolling series' markets over a window in order; each market carries its question, outcome, and the span it was live in the archive. Leagues and weather cities use markets.list(series_id="mlb", close_after=, close_before=, subtype="moneyline") instead.

python
from marketlens import MarketLens client = MarketLens() # pip install marketlens, key in MARKETLENS_API_KEY # every resolved market of a series over a window, oldest first for market in client.series.walk( "btc-up-or-down-5m", status="resolved", after="2026-09-10T12:00:00Z", before="2026-09-10T12:30:00Z", ): print(market.question, market.winning_outcome, market.data_start, market.data_end)

Step 2: download price history, trades, and the order book

Three calls on the market, bounded by its own data_start and data_end: candles at 1m (or any of ten resolutions), every trade, and the full order book at one moment. Two minutes before close is used here because the last seconds of a 5 minute market are one sided.

python
candles = client.markets.candles( market.id, resolution="1m", after=market.data_start, before=market.data_end, ).to_dataframe() # indexed by open_time candles.to_csv("price_history.csv") trades = client.markets.trades( market.id, after=market.data_start, before=market.data_end, ).to_dataframe() # indexed by platform_timestamp book = client.orderbook.get(market.id, at=market.close_time - 120_000) print(candles.close.iloc[-1], len(trades), book.best_bid, book.best_ask)

That is the whole job for one market. A 5 minute BTC market holds 800 to 1,700 trades; a NO price is one minus the YES price, so one book covers both outcomes. For a whole series at once, the exports write the same records as Parquet.

Price history for every market since March 2026

207M candles, 280M trades with size and side, 37.2B order book price changes behind them, and 883,443 resolved markets with the winning outcome to score a price against. Polymarket's own API keeps one price series per outcome token at minute fidelity and nothing else from the past; the archive is the complete record, keyed by the same series slugs and token ids. The free tier covers 25 million rows a day with no card. Endpoint reference: Polymarket historical data API.

Polymarket price history questions

How do I get Polymarket price history?

Name the series, pick the window, read the candles. client.series.walk(slug, after, before) lists the markets in order and client.markets.candles(market.id, resolution) returns each one's price history at 1 second to 1 day resolution, with trades and the order book behind every price on the same market object. Marketlens holds this for 903,238 markets since March 1, 2026.

Does the Polymarket API have a price history endpoint?

Polymarket's own API keeps one price series per outcome token at minute fidelity, with no trades, sizes, or order book depth, and only for markets the platform still holds. The Marketlens market object carries the token ids that endpoint needs, so both can be used together; the archive is the complete record.

Can I download Polymarket price history as CSV?

Yes. Candles and trades come back as pandas DataFrames, so to_csv() is one line; bulk Parquet exports per series convert the same way. See marketlens.trade/polymarket-csv-export.

How far back does Polymarket price history go?

Complete from March 1, 2026 for every recurring market type, resolved markets included: 903,238 markets, 207M candles, 280M trades. The most recent few hours are still being built, so end windows a little in the past.

Try it

Every price, both sides, since March 2026

Candles from 1 second to 1 day, every trade, and the book behind each price. The free tier includes 25M rows per day, no card required.

bash
$ pip install marketlens