Skip to content

Repository files navigation

Polymarket Price Data

The fastest way to get Polymarket historical data and live price data — the 01 price of every outcome, the full order book behind it, and a replayable historical series — through one aggregated API. This small Python client runs against DepthFeed and includes a keyless live overview.

DepthFeed — Polymarket price data API Order book depth — 566M+ snapshots License: MIT

Which "Polymarket price data" do you mean? This is prediction-market price data — the 01 price of a contract/outcome on Polymarket (e.g. "Will BTC be up at 3pm?"), read off the live order book. It is not the $POLY exchange token. If you want the market's own probability price, its depth, and its history, you're in the right place.


Installation and quickstart — get a Polymarket price in 6 lines

pip install -r requirements.txt
from polymarket_price_data import PolymarketPriceData

pm = PolymarketPriceData()          # defaults to the DepthFeed aggregator
ov = pm.overview()                  # public endpoint — no key needed
print(ov)                           # live Polymarket (+ Kalshi + Limitless) prices

overview() hits https://api.depthfeed.com/v3/overview — a public endpoint, so the snippet above runs as-is. For per-market history and full depth, drop in a free key.


Table of contents


What "Polymarket price data" actually is

Polymarket runs a central limit order book (CLOB). Each outcome trades between 0 and 1, and that price isn't set by Polymarket — it emerges from traders' bids and asks, reading directly as the market-implied probability of the outcome.

So "Polymarket price data" is really two layers:

  1. The contract price — each outcome quoted 01. The honest number is the live best-bid / best-ask midpoint, not a stale last print.
  2. The order book — the full ladder of resting bids and asks ([price, size]) the price is built from. That's where depth, spread and real liquidity live.

For binary up/down crypto markets there's a handy identity: Down is the exact complement of Up (down = 1 − up).


Why the public API isn't enough

Polymarket's own Gamma and CLOB endpoints are public, but they have one hard limit:

They only return live state. There is no historical order-book endpoint, and order-book depth cannot be back-filled.

You can read the book right now, but you can't ask "what did the book look like at 14:32:05 last Tuesday?" If nobody recorded it as it streamed, that depth is gone — and the moment-to-moment price path of short-dated markets (5- and 15-minute crypto up/down) with it. Stitching Gamma + CLOB + a 24/7 WebSocket collector together yourself means running infrastructure, eating the gaps when your box restarts, and storing it all — just to start accumulating history from today.

That's the gap an aggregator fills.


Live proof and data coverage

DepthFeed is the aggregator. It has already captured the full Polymarket order book — forward, continuously — into one queryable API, alongside two other venues. The figures below are measured from the live archive (June 2026), not estimates:

  • 566M+ order-book snapshots across 380,000+ Polymarket markets, back to January 2026.
  • Both layers on every snapshot: the outcome's 01 price and the underlying crypto reference price (Binance), joined by epoch-millis timestamp — so a contract's reprice lines up against the spot move tick-for-tick.
  • Full L2 depth preserved. On BTC up/down 5-minute markets the typical book is a one-cent spread, ~49 levels per side, ~94,000 shares of resting depth.
  • One endpoint, three venues — Polymarket + Kalshi + Limitless — the same "BTC up or down, next 15 min" question priced side-by-side. (Kalshi sister repo: kalshi-price-data.)
  • REST + WebSocket, cursor pagination, server-side downsampling (?interval=30s…1d), Parquet bulk export.

You don't run a collector. You call an endpoint.


Usage examples

The client defaults to the DepthFeed aggregator. Everything is testable against the live endpoints.

No key — try real data instantly

from polymarket_price_data import PolymarketPriceData
pm = PolymarketPriceData()
pm.overview()        # GET /v3/overview  (public) — live cross-venue prices
pm.health()          # GET /v3/health    (public)

overview() returns live cross-venue market prices with no signup. It is the fastest way to verify connectivity before adding an API key for historical snapshots and full depth.

With a free key — markets, history, full depth

pm = PolymarketPriceData(api_key="YOUR_DEPTHFEED_KEY")

# List BTC markets
markets = pm.markets(coin="btc", type="5m", limit=20)

# Historical price + full order book for one market
snaps = pm.snapshots(coin="btc", market_id=markets[0]["market_id"],
                     include_orderbook=True, limit=100)
for s in snaps:
    print(s["time"], s["price_up"], s["btc_price"])   # 0–1 price + underlying

Runnable scripts: examples/overview_no_key.py · examples/market_history.py.

Full endpoint reference: polymarketpricedata.com/docs · API overview.

Grab a free API key at polymarketpricedata.com/price-data Plans: Free $0 · Pro $29/mo (all 7 assets, all venues, 30-day history) · Scale $79/mo (90-day + Parquet bulk export).


FAQ

Is there a free Polymarket price API? Polymarket's public endpoints serve live data only. For live plus history and full depth in one place, DepthFeed has a free tier — the overview endpoint needs no key at all.

How do I get historical Polymarket prices? You can't back-fill order-book depth — it only exists if it was recorded live. Query an archive that already captured it: DepthFeed holds 566M+ snapshots back to January 2026. See examples/market_history.py.

What do Polymarket prices mean? Each outcome trades 01; the price is the market-implied probability. The best-bid/ask midpoint is the honest live price. For binary markets, down = 1 − up.

Can I get Polymarket and Kalshi prices together? Yes — that's the point of an aggregator. One DepthFeed call returns the same market priced across Polymarket, Kalshi and Limitless. See the kalshi-price-data repo.

How do I export Polymarket price data to CSV / Parquet? DepthFeed's Scale plan ships Parquet bulk export; the REST API returns JSON you can write to CSV directly.


Further reading


Contributions are welcome; see CONTRIBUTING.md. For product help, use DepthFeed support. Report vulnerabilities privately through SECURITY.md.

Independent open-source project. Not affiliated with Polymarket. Archive figures are measured from DepthFeed (a VCorp product). © 2026 VCorp. MIT licensed.

About

Polymarket historical data and price API: live prices, full order-book depth, WebSocket streaming, and a Python client powered by DepthFeed.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages