Polymarket API docs: endpoints, rate limits, and usage
If you searched for "polymarket api docs" you want the exact endpoints, auth model, and practical limits for building or integrating with Polymarket. Below are the three public REST APIs and the market WebSocket you’ll use, plus the key parameters and rate limits. I also cover what the CLOB requires for trading and how PolyArb leverages these surfaces to find intra-market arbitrage.
Official API endpoints and surface map
Polymarket exposes three public REST surfaces and one market WebSocket. The Gamma API for markets and events is at https://gamma-api.polymarket.com. The Data API for positions, trades, and open interest is at https://data-api.polymarket.com. The CLOB API for order book and trading is at https://clob.polymarket.com. The real-time market socket is wss://ws-subscriptions-clob.polymarket.com/ws/market. Each surface has its purpose: Gamma is for listings and filters, Data is historical and on-chain-derived activity, CLOB is live order-book reads and order placement (reads are public; trading requires API key + HMAC). The WebSocket streams book and price-change events for up to 500 instruments per connection.
Gamma /markets parameters and limits
Gamma’s /markets endpoint supports keyset pagination: use after_cursor returned by the previous call; offset is rejected with HTTP 422. Useful query params include limit (max 1000), slug, id, condition_ids, clob_token_ids, question_ids, market_maker_address, closed, active, archived, order, ascending, and tag_id. Rate limits: /markets is limited to 300 requests per 10 seconds; combined /markets + /events listing calls are limited to 900 requests per 10 seconds. The overall Gamma API allowance is 4000 requests per 10 seconds.
CLOB and trading mechanics
CLOB exposes order book, midpoint, price history, and order placement/cancellation. Trading requires an API key plus HMAC; reads are public. Polymarket’s tick size, best_bid_ask events, and the FAK market order helper are surfaced through CLOB and the market WebSocket. Remember maker fees are zero and taker fees vary by category. If you build a trading agent route, consider Polymarket’s Builder Program for attribution and builder-fee rewards.
How PolyArb uses these APIs
PolyArb polls Gamma and the CLOB book and subscribes to the market WebSocket to detect intra-market arbitrage opportunities where Σ bestAsk < $1.00. Our bot runs on low-latency infrastructure (40ms plan) to beat free bots (~800ms), with a $99/month plan and a $7.62 minimum guaranteed edge per trade. We combine live best_bid_ask events, the CLOB midpoint, and Data API history to size orders and avoid partial fills. Note the usual operational risks: resolution disputes via UMA, slippage, fee changes, settlement timing, and smart-contract risk.
Start arbitraging Polymarket with PolyArb today
Subscribe to PolyArb for $99/month to get 40ms latency, Telegram and Discord alerts, non-custodial execution, and our $7.62 minimum guaranteed edge per trade.
FAQ
- Where are the official Polymarket API base URLs?
- Gamma: https://gamma-api.polymarket.com; Data: https://data-api.polymarket.com; CLOB: https://clob.polymarket.com; WebSocket: wss://ws-subscriptions-clob.polymarket.com/ws/market.
- Do I need authentication to read market data?
- No. Reads from Gamma, Data, and public CLOB endpoints are unauthenticated. Placing orders on CLOB requires an API key plus HMAC.
- What are the important rate limits for /markets?
- /markets is limited to 300 requests per 10 seconds. Combined /markets and /events listing calls are limited to 900 requests per 10 seconds. The Gamma API overall limit is 4000 req per 10 seconds.
- Can I use the WebSocket for real-time order book updates?
- Yes. The market WebSocket provides real-time book, price_change, best_bid_ask, last_trade_price, and tick_size_change events. It pings every 10 seconds and supports up to 500 instruments per connection.