Reference

Polymarket API Pricing: What It Costs and What It Doesn't

Polymarket's API is free. There is no paid tier, no subscription, and no API key to buy. Public market data — discovery, current order books, price history, trades — is readable without an account or a connected wallet. What actually costs money is trading fees on some markets, Polygon gas, and — if your work depends on historical order book depth — recording it yourself, because nobody sells you the past.

Endpoint behaviour tested against the live CLOB API on 2026-08-22; quotas and fees checked against Polymarket's docs the same day. Both change — follow the source links for current terms, and the figures below are reproducible if you want to check them.

Short answer

Is the Polymarket API free?

Yes, and it is worth being precise about why, because “free” gets used loosely. Polymarket does not operate a commercial data business. There is no pricing page for the API, no metered plan, and no key to purchase. The read paths are open:

  • No API key. Public market-data endpoints take no credential at all.
  • No account. You do not need to register to read markets or books.
  • No wallet. A connected wallet is required to trade, not to read.

Trading is where authentication appears, and it is still not a purchase: you derive API credentials by signing a message with your Polygon wallet. That is an identity step, not a subscription. See Polymarket's API introduction for the auth model.

Three APIs, one common confusion

Most questions about “the Polymarket API” are really about one of three separate services. They do not share an SDK, an auth surface, or a rate-limit budget.

SurfaceWhat it's forAuth
Gamma APIDiscovery — events, markets, slugs, CLOB token IDs, resolution metadataNone
CLOB APILive order book, midpoints, spreads, price history, and order placementNone for reads; wallet signature for trading
Data APITrades, positions, and holders by market or wallet addressNone

The practical consequence: a typical workflow starts on Gamma to resolve a market slug into CLOB token IDs, then moves to the CLOB API for book and price data. Budget your request volume per surface, not globally.

What costs money and what doesn’t

Every read path is free. The only charges attached to Polymarket are trading fees on markets that levy them and Polygon gas for on-chain movement — neither of which is a data charge.

ItemCostNotes
Public market data (Gamma API)FreeEvents, markets, token IDs, metadata. No API key, no wallet, no account.
Order book reads (CLOB API)FreeCurrent book, midpoints, best bid/ask, spreads. Read-only endpoints need no auth.
Historical price seriesFreeGET /prices-history, down to 1-minute buckets, including markets resolved years ago.
Public activity data (Data API)FreeTrades, positions, and holders by market or address.
WebSocket market feedFreeLive book changes, price updates, and trade events on the market channel.
API key / subscriptionDoes not existThere is no paid API tier. Trading auth is a wallet signature, not a purchased key.
Trading feesMarket-dependentSome markets charge taker fees; others are fee-free. Check the official fee docs per market.
Gas and transfersNetwork costPolymarket settles on Polygon. Deposits, withdrawals, and on-chain actions cost gas.

Rate limits are the real constraint

Since access is free, rate limits — not price — are what bound a data pipeline. Polymarket enforces per-endpoint quotas at the edge, with separate budgets for Gamma, the CLOB, and the Data API. Exceed them and you get throttled, then HTTP 429s; sustained overshoot can lead to a temporary block.

Quotas differ per surface and have been revised more than once, so treat Polymarket's official rate limits page as the only authority. For representative figures with the endpoints broken out, see the rate limits section of our Polymarket API guide.

Three habits that keep you inside the limits:

  • Batch where a batch endpoint exists — prefer one multi-token request over a loop of single-token calls.
  • Cache market metadata. Slugs, token IDs, and outcomes rarely change; re-resolving them on every request wastes your Gamma budget.
  • Use the WebSocket market channel for live book changes instead of polling GET /book. Streaming is what it is for.

Trading fees are separate from API access

People searching for Polymarket's fees are usually asking about trading, not data. These are unrelated: the API costs nothing regardless of what a market charges to trade.

Fees are set per market rather than platform-wide. Some markets charge taker fees; others are fee-free, and the schedule has been revised over time. Because it varies by market and by date, check Polymarket's fee documentation for the market you actually care about rather than trusting a single headline percentage.

Separately, Polymarket settles on Polygon, so deposits, withdrawals, and on-chain actions carry network gas costs. Again — not an API charge.

What is missing

What free official data does not cover

Free covers more than people assume, so it is worth being exact about where it stops. We tested these endpoints rather than repeating the folklore — the figures below come from live calls against resolved markets, and you can reproduce them.

Price history is genuinely free, including old resolved markets

A common claim is that /prices-history stops serving fine granularity once a market resolves. That is not what the endpoint does. Bound the request with startTs and endTs and 1-minute buckets come back normally:

MarketRequestReturned
2024 election, resolved ~21 months earlier6-hour window, fidelity=1360 points
BTC 5-minute market, resolved 3 months earlier10-minute window, fidelity=110 points
Same 2024 election marketinterval=max, fidelity=600 points
Same 2024 election marketinterval=max, fidelity=720615 points

The empty responses come from interval=max, not from resolution. An unbounded request for a long-lived market at fine granularity returns nothing; the same market over a bounded window returns a full series. This was reported as py-clob-client issue #216, which is closed — that client was archived read-only in May 2026. If you hit it, pass a time range instead of interval=max.

One minute is the floor

fidelity is expressed in minutes, so a minute is the finest bucket on offer. Passing fidelity=0 returns the raw retained points rather than a finer grid: on a five-minute market that was 10 points spaced 41 to 75 seconds apart, median 62. Fine for most analysis. Not a second-level series.

Order book depth is not archived at all

This is the real gap, and unlike the others it has no workaround. The GET /book endpoint returns the current state. There is no documented route to the ladder as it stood at a past timestamp, at any granularity, at any price.

Depth is forward-only. A price series tells you where the market traded; it cannot tell you what size rested at each level, what a 500-share order would have cost to fill, or how the book thinned before resolution. If nobody recorded the ladders while the market was live, that detail does not exist anywhere — not in the API, not in an archive, not for purchase.

So when does free stop being enough?

To be clear about when you do not need to pay anyone: live prices, current order books, market discovery, trade history, minute-resolution price history on resolved markets, and order placement are all free, documented, and sufficient. Most projects never need more.

You need an archive when your question is about execution rather than price — slippage against real depth, fill probability, spread dynamics, or liquidity before a resolution. Those questions need the ladder, and the ladder has to have been captured at the time.

That is what PolyOrderbooks records: a queryable REST archive of Polymarket crypto order books captured live at 1-second resolution, with resolved markets kept alongside their winning outcome. You can download a free 1-second L2 sample and inspect the schema before deciding anything, or read the API quickstart.

FAQ

Is the Polymarket API free?

Yes. Polymarket does not sell API access and there is no paid tier. Public market data from the Gamma, CLOB, and Data APIs is free to read without an API key, an account, or a connected wallet. Published rate limits still apply, and trading endpoints require a wallet signature rather than a purchased key.

How much does the Polymarket API cost?

Nothing for data access. The costs associated with Polymarket are trading fees on markets that charge them, and Polygon network gas for deposits, withdrawals, and on-chain settlement. Neither is an API charge.

Do I need an API key for Polymarket?

Not for reading market data. Gamma and the read-only CLOB endpoints are fully public. Placing orders requires deriving API credentials by signing with your Polygon wallet, which is an authentication step rather than a paid subscription.

What are Polymarket trading fees?

Fees are set per market rather than globally. Some Polymarket markets charge taker fees while others are fee-free, and the schedule has changed over time. Check Polymarket's own fee documentation for the current terms on the specific market you are trading.

What are the Polymarket API rate limits?

Polymarket enforces per-endpoint rate limits at the edge, with separate budgets for Gamma, CLOB, and the Data API. Exceeding them triggers throttling and then HTTP 429 responses; sustained overshoot can result in a temporary block. The exact quotas change, so read the official rate limits page rather than relying on a figure quoted elsewhere.

Does Polymarket have historical order book data?

No. The CLOB API returns the current order book only, and there is no documented endpoint for historical L2 depth at a past timestamp. Order book depth is forward-only: unless somebody recorded the ladders while the market was live, they do not exist anywhere. Historical prices are a different matter and are served free.

Why does /prices-history return empty data with interval=max?

Because the request is unbounded, not because the market resolved. Asking for a market's entire history at fine granularity returns an empty array — on one resolved market, fidelity=60 gave 0 points while fidelity=720 gave 615. Bound the request with startTs and endTs instead and fine granularity works: the same market returned 360 points at fidelity=1 over a six-hour window, nearly two years after it resolved. This was reported as py-clob-client issue #216, which is now closed; that repository was archived in May 2026.

When would I pay for Polymarket data at all?

When you need something the official API does not serve: historical L2 order book depth, sub-minute resolution on markets that have already resolved, or a queryable archive instead of running your own collector. For live prices, current books, discovery, and trading, the official APIs are free and sufficient.

Can I get sub-minute price history from Polymarket?

No. The fidelity parameter is expressed in minutes, so one minute is the finest bucket available. Passing fidelity=0 returns the raw points Polymarket retained rather than a finer grid — on a five-minute market that was 10 points spaced 41 to 75 seconds apart, median 62. Adequate for most analysis, but not a second-level series.

Related reading