Guide
Polymarket API: how to get real-time Polymarket data
20 June 2026 · 7 min read
If you want live Polymarket data — prices, trades, whale flow, or which markets are moving — you have two paths: Polymarket's own low-level APIs, or a layer that normalises and enriches them for you. This guide covers both honestly, so you can pick the right one.
Does Polymarket have an API?
Yes — Polymarket exposes several public APIs, and they're genuinely good. There are three you'll meet:
- Gamma API (
gamma-api.polymarket.com) — markets and events: questions, outcomes, categories, metadata, current prices. - CLOB API (
clob.polymarket.com) — the central limit order book: live prices, the book, and order placement (this is also where the real-time WebSocket lives). - Data API (
data-api.polymarket.com) — historical trades and holder/position data.
They're free within rate limits and well-documented. If you just need to read a market or place an order, go straight to them — you don't need anything else.
So what's actually hard?
The APIs are the easy part. The work shows up when you try to turn them into something useful in production:
- Real-time plumbing — the CLOB WebSocket needs reconnect logic, heartbeat handling, and message parsing before it's reliable.
- Signals — "a whale just bought," "this market is mispriced," "volume just surged" aren't endpoints. You derive them from the raw stream, and tuning them is its own project.
- Resolution truth — the genuinely hard one. When a market settles, what actually won? Scraped "resolved" fields drift, and any backtest or signal built on a wrong label inherits the error.
- Cross-platform — the moment you also want Kalshi, you're maintaining a second, differently-shaped pipeline and reconciling the two.
Reading Polymarket data directly (the quick version)
For a one-off read, the Gamma API is the fastest start — no key needed:
curl "https://gamma-api.polymarket.com/markets?active=true&limit=5"
That's perfect for a script. It stops being perfect when you need it live, normalised, signal-ready, and trustworthy at settlement — which is where most builders end up.
The shortcut: a normalised intelligence layer
Idmon sits on top of the raw markets and gives you the part you'd otherwise build: normalised real-time signals (whale flow, movers, mispricing), calibrated, on-chain-anchored resolution labels, and one schema across Polymarket and Kalshi — delivered by REST, WebSocket, or signed webhooks.
# recent signals, one authenticated call
curl -H "Authorization: Bearer YOUR_KEY" \
"https://api.idmon.io/api/alerts/recent?limit=20"
There are code examples in curl, Python, and Node, and the full API docs cover the WebSocket and webhook-signature details.
Which should you use?
| If you… | Use |
|---|---|
| Need to read a market or place an order | Polymarket's Gamma / CLOB API directly |
| Want live signals without building ingestion | Idmon (REST / WebSocket) |
| Want events pushed into Discord or your app | Idmon (signed webhooks) |
| Need trustworthy resolution + Polymarket and Kalshi in one schema | Idmon |
There's no shame in starting with Polymarket's APIs directly — many builds do. You reach for a layer like Idmon when the ingestion, signal, and resolution work starts costing you more than the data itself.
Try it free, no signup. Idmon's /public/* endpoints serve most of the data at 60 requests/min with no key — see the docs. When you want real-time push, headroom, calibrated resolution, and a commercial licence, request a key and you'll be live within a business day.
FAQ
Is there an official Polymarket API?
Yes — Gamma (markets/events), CLOB (order book + trading + WebSocket), and a data API (trade history). Free within rate limits, but lower-level: you build and maintain the pipeline, and they don't provide normalised signals or calibrated resolution.
How do I get real-time Polymarket data?
Connect to the CLOB WebSocket directly and handle reconnects/parsing yourself, or use a layer like Idmon that delivers normalised real-time signals by REST, WebSocket, or signed webhooks across Polymarket and Kalshi.
Is the Polymarket API free?
Polymarket's own APIs are free within their rate limits. Idmon adds free public endpoints (60/min, no signup) plus paid tiers for real-time push, higher limits, calibrated resolution, and a commercial licence.
Can I get Polymarket data by webhook?
Polymarket's native APIs are pull/stream only. To receive events pushed to your own endpoint or Discord by signed webhook, use Idmon — which adds webhooks alongside REST and WebSocket.
Related: Kalshi API · Polymarket vs Kalshi · Polymarket whale tracking · Webhooks vs REST vs WebSocket · API documentation