# Polymarket Data API

Polymarket's keyless read API for trades, positions, holders and price history.

*https://predictionmarkets.tools/tools/polymarket-data-api · Prediction Market Data APIs*

## Facts

### At a glance

| Field | Value |
| --- | --- |
| Vendor | Polymarket |
| Category | Prediction Market Data APIs |
| Job | historical |
| Website | https://docs.polymarket.com/market-data/public-analytics |
| Pricing model | free |
| Free tier | true |
| Open source | false |
| Licence | none |
| Self-hosted | false |
| Tested hands-on | false |
| Last updated | 2026-10-01 |

### Availability

| Field | Value |
| --- | --- |
| Jurisdictions | global |
| Open to US persons | true |
| KYC required | false |

### Markets

| Field | Value |
| --- | --- |
| Subjects | politics, sports, crypto, macro, culture, business |
| Settlement | crypto |
| 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. |

### Economics

| Field | Value |
| --- | --- |
| Taker fee | none |
| Maker fee | none |
| Liquidity model | clob |
| Platforms | library |
| AI features | none |

### Interfaces

| Field | Value |
| --- | --- |
| API | true |
| WebSocket | false |
| Scripting | none |
| Python | true |
| MCP server | false |
| Export | json |

### Capabilities

Yes: portfolio_tracking

No: charting, screening, order_book, backtesting, automation, live_trading, paper_trading, calibration_scoring, cross_venue, alerts, news, tax_reporting

*Verified: pricing 2026-09-29; availability 2026-09-29; markets 2026-09-29; capabilities 2026-09-29.*

## What it is

The third of Polymarket's three read surfaces, and the one that answers questions about people and
the past rather than about what is listed or what it costs now. [Gamma](https://predictionmarkets.tools/tools/polymarket-gamma-api)
says which markets exist; the [CLOB API](https://predictionmarkets.tools/tools/polymarket-clob-api) prices them and takes orders.
The Data API at `data-api.polymarket.com` answers everything else a dashboard needs: recent trades in
a market, a wallet's positions and their lifecycle, its activity feed and portfolio value, the top
holders of an outcome, open interest, live event volume, trader and builder leaderboards, resolution
state, and the price series for an outcome token.

It is Polymarket's own service, but it behaves like an indexer, because that is what it is. The
wallet, position and profit figures are built from Polygon events, and v2 publishes a gauge of how
far behind the chain head they are — `GET /v2/status`. [Where a dashboard gets its
data](https://predictionmarkets.tools/guides/where-a-dashboard-gets-its-data) has a reading of that gauge and explains why it
matters.

**Two versions are live at once, and v2 is the current one.** v1 still answers but is frozen, and
Polymarket's migration guide says new integrations should start on v2. It describes v2 as one shared
contract across every read, replacing the original per-route contracts:

- every response is wrapped in `data`, and paginated routes add a `pagination` object; a documented
  miss is `data: null` or an empty list, not an error;
- pagination is an opaque cursor (`pagination.next_cursor` until it is null) instead of
  `limit`/`offset`, and v1's `offset` stops at 10,000 rows;
- fields are `snake_case` (`proxy_wallet`, `condition_id`) instead of `camelCase`, though v2 accepts
  both spellings in request parameters;
- markets are selected with `condition`, at most 20 distinct condition IDs per request;
- `GET /v2/positions` folds three v1 routes into one, filtered by `status` — `OPEN`, `REDEEMABLE`,
  `REDEEMABLE_LOST`, `MERGEABLE`, `CLOSED` — with `redeemable` and `mergeable` flags on every row.

v2 also adds reads v1 never had: a wallet's PnL series, profile stats and trading volume, the
biggest single winning positions, price history, resolution state and data freshness. One v1 route,
`GET /v1/accounting/snapshot`, has no v2 counterpart and is outside the retirement.

## Availability

Unrestricted as far as the documentation shows. The endpoints take no credentials, so there is no
account to be refused and no identity check. A US reader can read every figure the API serves.

What a US reader cannot do is trade the markets it describes on this platform: Polymarket's
international site blocks trading in the United States and points US visitors to
[Polymarket US](https://predictionmarkets.tools/tools/polymarket-us), a separate entity operating as a CFTC-designated contract
market with its own API. The Data API describes the international platform's wallets and markets
only. Polymarket US positions are not in it.

## Pricing

Free. There is no key to buy, no plan and no paid tier for the Data API.

What limits you is the published rate table, enforced by Cloudflare per IP address on sliding
windows. As captured on 22 September 2026:

| Route | Limit |
| --- | --- |
| All `/v2` routes together | 800 requests / 10 s |
| `/v2/trades` | 300 / 10 s |
| `/v2/positions`, `/v2/positions/combos` | 200 / 10 s |
| `/v2/activity`, `/v2/activity/combos` | 200 / 10 s |
| `/v2/prices-history` | 200 / 10 s |
| `/v2/status` | 100 / 10 s |
| All v1 routes together | 1,000 / 10 s |

Over the limit, requests are delayed or queued rather than rejected, so the first symptom is latency
and not an error code. [Why your bot gets throttled](https://predictionmarkets.tools/guides/why-your-bot-gets-throttled) covers
what that does to a polling loop.

## Markets & resolution

The API reports resolutions; it does not make them. `GET /v2/resolutions` returns resolution state
for a condition, and the positions lifecycle distinguishes a redeemable winner from a still-held
loser. The decision behind both is the UMA [optimistic oracle](https://predictionmarkets.tools/glossary/optimistic-oracle): a
proposal against a bond, a two-hour challenge window, and a UMA token-holder vote if the proposal is
disputed twice. A vote can come back "Unknown", in which case both outcome tokens redeem at 50 cents
— which is a state your position accounting has to allow for.

**Price history has a resolution ladder, and the far end is coarse.** Polymarket's changelog of 4
September 2026 says `GET /v2/prices-history` replaces the CLOB-hosted route, though on 1 October
2026 the CLOB host's `/prices-history` was still in its OpenAPI description and rate-limit table
with no retirement date. The v2 route takes an outcome `token_id` and exactly one time form — a
relative `interval`, an absolute `start`/`end`, or a point-in-time `as_of`. From the documentation:

- an explicit `start`/`end` range spans at most 15 days;
- `interval=max` returns the full history at 12-hour buckets by default, and explicit buckets of
  10,800 or 43,200 seconds also cover the full history;
- anything finer returns only the last 30 days;
- one-minute data lasts at least 7 days, five-minute at least 60 and thirty-minute at least 90 —
  stated as floors, not exact horizons — while three-hour and twelve-hour data is permanent;
- asking for a resolution the store cannot fill returns an empty or sparse page, and points carry a
  `resolution_seconds` field, and the documentation tells you to read it rather than assume even
  spacing — the last point can fall between bucket boundaries.

## Integrations

REST and JSON only. Both of Polymarket's unified SDKs cover it —
[`polymarket-client`](https://predictionmarkets.tools/tools/polymarket-client) in Python and `@polymarket/client` in TypeScript —
and Data API v2 support starts at version 0.10.0 of each; the Python package shipped that version on
10 September 2026. An OpenAPI description of v2 is linked from Polymarket's documentation index.

The documentation's examples call every route without a header. Wallet rows identify their owner
by a `proxy_wallet` field, which is the address to key your own tables on.

This card was written from Polymarket's documentation as captured by the Internet Archive — the
migration guide on 29 September 2026, the rate-limit page on 22 September and the price-history and
analytics pages on 18 and 19 September. The changelog, the CLOB OpenAPI description and the
rate-limit page were re-read on 1 October 2026 on the documentation's Mintlify host. No live call to
the API was made for it.

## Limitations

- **v1 is retired on 24 October 2026.** The response envelope, pagination, field casing and the
  market parameter all change, so a v1 integration does not survive the date without edits. The
  same documentation, captured on 18 September, still said only that the original routes "keep
  working" — the date was added later, which is a reason to re-read the migration page before
  relying on this one.
- **No stream.** Polling is the only way to follow a wallet, and the polling budget is the table
  above.
- **No order book.** Past or present, depth lives elsewhere: the current book on the CLOB API, and
  past books nowhere on Polymarket at all.
- **Fine price history expires.** Minute-level data for a market that moved last quarter is gone
  from this API; only 3-hour and 12-hour buckets reach back that far.
- **It is an indexer, with an indexer's lag.** Positions, PnL and value are derived from chain
  events and can trail the chain; `GET /v2/status` says by how much, and nothing else in a response
  does.
- **PnL and leaderboards are Polymarket's arithmetic.** The documentation describes the fields, not
  the cost-basis method behind them, so a figure you compute yourself from trades may not match.
- **No data licence is stated** on the documentation pages this card was written from. If you plan
  to redistribute rather than display, that is a question for Polymarket, not for this page.

## Alternatives

The other two halves of the same platform are the [Gamma API](https://predictionmarkets.tools/tools/polymarket-gamma-api) for
market metadata and the [CLOB API](https://predictionmarkets.tools/tools/polymarket-clob-api) for current books, prices and
orders. For the on-chain record without Polymarket's service in between,
[Polymarket dashboards on Dune](https://predictionmarkets.tools/tools/dune-polymarket-dashboards) answer in SQL, and the
[Goldsky Polymarket datasets](https://predictionmarkets.tools/tools/goldsky-polymarket-datasets) replicate fills and positions into a
database you run. For what this API does not keep — past order books — [Marketlens](https://predictionmarkets.tools/tools/marketlens),
[PolyOrderbooks](https://predictionmarkets.tools/tools/polyorderbooks) and [Predexon](https://predictionmarkets.tools/tools/predexon) sell recordings.

## FAQ

### Is it Data API v2 or v1?

Both, on the same host. The v2 routes sit under the /v2 prefix at data-api.polymarket.com and the original routes still answer beside them. Polymarket's migration guide, as captured on 29 September 2026, says v1 is retired on 24 October 2026, so a new integration should start on v2.

### Do I need an API key for the Polymarket Data API?

No. Every request in Polymarket's own Data API documentation is a plain GET with no credentials — trades, positions, holders, open interest, leaderboards and price history for any wallet or market. The limit that applies is per IP address, not per key.

### How far back does Polymarket price history go?

To the start of the market, but only at coarse resolution. Three-hour and twelve-hour buckets are kept permanently; bucket widths finer than that return only the last 30 days, and one-minute data is promised for at least 7 days. One explicit start-to-end request spans at most 15 days.

### What rate limit does the Data API enforce?

On v2, 800 requests per 10 seconds across all routes, with lower ceilings on the busy ones — 300 for trades and 200 each for positions, activity and price history. Over the limit, Cloudflare delays and queues requests rather than rejecting them.

### Can I watch a wallet in real time through the Data API?

Only by polling. The Data API has no WebSocket. Live fills and book changes come from the CLOB market channel, and your own orders from the authenticated user channel, both on the trading side of the platform.

## Also from Polymarket

- [Polymarket CLI](https://predictionmarkets.tools/tools/polymarket-cli.md)
- [polymarket-client](https://predictionmarkets.tools/tools/polymarket-client.md)
- [Polymarket CLOB API](https://predictionmarkets.tools/tools/polymarket-clob-api.md)
- [Polymarket Embeds](https://predictionmarkets.tools/tools/polymarket-embeds.md)
- [Polymarket Gamma API](https://predictionmarkets.tools/tools/polymarket-gamma-api.md)
- [Polymarket US API](https://predictionmarkets.tools/tools/polymarket-us-api.md)
- [Polymarket US Python SDK](https://predictionmarkets.tools/tools/polymarket-us-python.md)
- [Polymarket US TypeScript SDK](https://predictionmarkets.tools/tools/polymarket-us-typescript.md)
- [Polymarket US](https://predictionmarkets.tools/tools/polymarket-us.md)
- [Polymarket](https://predictionmarkets.tools/tools/polymarket.md)
- [py-clob-client](https://predictionmarkets.tools/tools/py-clob-client.md)

## Background

- [Where a dashboard gets its data, and what it loses when that moves](https://predictionmarkets.tools/guides/where-a-dashboard-gets-its-data.md) — A venue API, an indexer or the chain itself. Which one a dashboard reads decides how far back its history goes and what vanishes when that source changes.

- [What a trade actually costs on a prediction market](https://predictionmarkets.tools/guides/what-a-trade-actually-costs.md) — Venues publish trading fees in four incompatible units, so 3.00% on one can be cheaper than 1.75% on another. How to convert them, and what else takes a cut.
- [Where weather data comes from and what you may do with it](https://predictionmarkets.tools/guides/where-weather-data-comes-from.md) — Observations, model output and archives are three products with three licences. The forecast is the cheap half; a clean observation history is not.

## Also worth comparing

- [Goldsky Polymarket Datasets](https://predictionmarkets.tools/tools/goldsky-polymarket-datasets.md) — Polymarket's on-chain fills and positions, backfilled and streamed into your own database.
- [Marketlens](https://predictionmarkets.tools/tools/marketlens.md) — Recorded Polymarket order books across every market type, replayable to the tick.
- [Polymarket Data (SII dataset)](https://predictionmarkets.tools/tools/sii-polymarket-data.md) — The "107 GB" open Parquet dump of Polymarket CLOB fills, November 2022 to March 2026.
- [DepthFeed](https://predictionmarkets.tools/tools/depthfeed.md) — The recorded bid-ask ladder for crypto up-or-down markets, which no venue keeps itself.
- [PolyOrderbooks](https://predictionmarkets.tools/tools/polyorderbooks.md) — Recorded L2 books for Polymarket crypto markets, priced by how far back you may look.
- [Predexon](https://predictionmarkets.tools/tools/predexon.md) — Tick-level book history as Parquet, billed by the gigabyte, plus a mempool-aware feed.
