Polymarket Gamma API

Polymarket's read-only catalogue of events, markets, series and tags.

by Polymarket

Last updated

US persons
Yes
Taker fee
None
Settlement
Crypto
Liquidity
CLOB

What it is

The read half of Polymarket. Gamma is a plain REST service at gamma-api.polymarket.com that answers what is listed and what it means: events and their child markets, the series a recurring market belongs to, sports fixtures and teams, tag taxonomies, and a search endpoint. Every record carries the fields a catalogue needs — slug, condition ID, outcome token IDs, start and end dates, the resolution rules text, and the liquidity and volume figures Polymarket publishes about itself.

It is a separate product from the CLOB API and is bought by different people. Gamma is what you call to build a page, a screener, a research dataset or a market index. Nothing in it prices an order or places one, and no part of it requires a wallet.

The two identifiers that matter come out of here: the conditionId for the market and the token ID for each outcome. Both are what every other Polymarket surface is keyed by.

Availability

Unrestricted as far as Polymarket documents it. The endpoints take no credentials, so there is no account to be refused and no jurisdiction attached to a request.

That is worth separating from the platform underneath. Polymarket's international site tells a US visitor that trading is blocked and offers to continue in view-only mode, pointing at Polymarket US — a different entity, operating as a CFTC-designated contract market, with its own documentation and its own API. Gamma is the international platform's data service. A US reader may read it; what they may not do is trade the markets it describes on that platform.

The practical consequence for anyone building: Gamma will happily serve you a market your users cannot take a position in. Availability has to be enforced by your application, because the data layer does not carry it.

Pricing

Free, with nothing to buy. Polymarket sells no data plan, no tier and no key for the read endpoints, and the builder programme is about routing orders rather than about reading markets.

The limit that bites instead is the request rate. Polymarket's rate-limit page, read on 1 October 2026, gives Gamma 4,000 requests per 10 seconds overall and less per endpoint: 500 for /events, 300 for /markets, 900 for the two listings combined, 350 for /public-search, 200 each for /comments and /tags. The limits are per IP and enforced by Cloudflare, which throttles a request over the limit — delays or queues it — rather than rejecting it. A poller that overruns does not get errors to back off on; it gets slower answers.

Markets & resolution

Gamma describes markets it does not resolve. Resolution on Polymarket runs through the UMA optimistic oracle: an outcome is proposed against a bond (the docs give roughly 750 pUSD), there is a two-hour challenge window, a first dispute triggers a second proposal round, and a second dispute escalates to a vote of UMA token holders after a 24 to 48 hour debate period. Undisputed, that is about two hours; disputed, Polymarket's own timeline says four to six days.

Two fields on a Gamma record are worth more attention than they usually get. The rules text is where the actual source and the edge cases live — the question title is only the question. And a UMA vote can return "Unknown", in which case the market resolves 50/50 and every token, on both sides, redeems at 50 cents. Code that assumes a binary payout will mis-book that day.

Markets are grouped as events with child markets, which is the shape that surprises people coming from an exchange API: one event, many tradeable questions, each with its own pair of outcome tokens.

Integrations

REST and JSON, cursor-paginated through the keyset variants of the list endpoints. Polymarket publishes unified SDKs that cover this surface — the Python one is polymarket-client, whose AsyncPublicClient lists markets with no credentials — and an OpenAPI description of Gamma is linked from the documentation index.

There is no WebSocket here. Real-time on Polymarket comes from the CLOB market channel and from the separate live-data streams documented on the trading side. Those are mid-move: since 15 September 2026 PolyBolt carries the crypto and equity reference prices and needs CLOB API credentials; RTDS keeps the public activity topic, and its price topics are deprecated, planned for removal one month after the TypeScript SDK's 0.11.0 release; the live comments stream is being retired with no streaming replacement. What each Polymarket API holds maps all of them.

Limitations

  • No order book, no prices beyond what the record carries. Any question about the current spread goes to a different host.
  • No price history. The series lives on the Data API at /v2/prices-history and, in its older form, on the CLOB host — not on Gamma — and is keyed by token ID rather than by market slug.
  • Throttled, not rejected. Over the per-endpoint limit, Cloudflare delays requests instead of returning an error, so a poller that overruns sees latency rather than a status code it can react to.
  • No stream. Keeping a large catalogue fresh means polling, and at 300 requests per 10 seconds on /markets the polling budget is the number above.
  • Volume and liquidity figures are Polymarket's own. They are the platform's numbers about the platform's markets, computed however Polymarket computes them, and nothing in the API explains the method.

Alternatives

For prices, books and order placement on the same venue, the sibling product is the Polymarket CLOB API — same markets, different preconditions. If what you want is a regulated US exchange with settled-market archives, the Kalshi API is the closest equivalent in shape. On Base, with its own REST and WebSocket surface, Limitless API covers a smaller and much shorter-dated market list.

For who traded, who holds what and the price series, the third sibling is the Polymarket Data API, keyless like this one. If the goal is live prices on a web page rather than an integration, Polymarket Embeds is the venue's own no-code iframe builder, and PredictWidget is a third-party two-line script that shows the highest-volume markets but cannot show one you pick.

If all you want is the slice of this list tied to a stock or ETF - up-or-down, price-target and earnings questions - Adanos reads it hourly and files each market under its ticker, with trades, liquidity and which way the odds lean rolled up, so you do not walk /markets and do the mapping yourself. The free plan is 250 calls a month; the full per-market rows start at 299 USD.

Specs

Interfaces
API, Python
Export
JSON
Available in
Global
KYC required
No
Market subjects
Politics, Sports, Crypto, Macro, Culture, Business
Resolved by
Each market carries its own rules and named source; the outcome is proposed to the UMA optimistic oracle and, if contested, decided by a UMA token-holder vote.
Maker fee
None
Platforms
Library
AI features
None
Pricing verified
Availability verified
Markets verified

Also from Polymarket

Background

How this part of the sector works, rather than which product to pick.

Also worth comparing

  • Futuur API — One question, two order books — play money and real money, selected per request.
  • Limitless API — REST and WebSocket for markets, books, candles and trading on Base.
  • PredictWidget — A free two-line script that drops Polymarket's most active markets into an article.
  • Kalshi API — REST, WebSocket and FIX access to a CFTC-regulated event exchange.
  • Manifold API — Every read is keyless, the server is MIT-licensed, and the currency is play money.
  • Goldsky Polymarket Datasets — Polymarket's on-chain fills and positions, backfilled and streamed into your own database.

Named as a replacement for

FAQ

Do I need an API key for the Polymarket Gamma API?

No. Every Gamma endpoint documented as market data answers an unauthenticated GET. A plain request to the markets endpoint returned live market records on 19 September 2026 with no credentials of any kind attached.

What is the difference between the Gamma API and the CLOB API?

Gamma answers what exists — events, markets, series, tags, teams and the rules text attached to them. The CLOB API answers what it costs, with order books, prices and order placement. Most integrations call both, and they are separate products with separate preconditions.

Does the Gamma API give me price history?

No. Gamma carries market metadata and current state. Price series live on Polymarket's Data API at /v2/prices-history, keyed by the outcome token ID you get from Gamma. An older prices-history route on the CLOB host was still documented on 1 October 2026, and Polymarket's changelog calls the Data API route its replacement.

What rate limit does Gamma enforce?

Polymarket's rate-limit page, read on 1 October 2026, gives Gamma 4,000 requests per 10 seconds overall, with tighter limits per endpoint — 500 for /events, 300 for /markets, 350 for /public-search. The limits are per IP and enforced by Cloudflare, which delays requests over the limit rather than rejecting them, so an overloaded poller slows down instead of failing.

Report an error on this page

Quote the line and say what it should be.

The vendor’s page, filing or documentation that says otherwise.

Only if you want to hear back. Never published.

Read by a person. It fixes a fact and moves nothing else.

Anything else — a question this page leaves open, a tool it should be compared with? Write to feedback@predictionmarkets.tools.

Is this your product? Claim this listing.