429 Too Many Requests.
Limits
The Retail API enforces a global rate limit of 20 requests per second per API key across all endpoints.| Limit | Value |
|---|---|
| Global (all authenticated endpoints) | 20 requests per second per API key |
| Public (unauthenticated) | 20 requests per second per IP |
When you’re rate limited
Use WebSocket instead of polling
The single most effective way to stay within limits is to stop polling and use WebSocket streams. One persistent connection replaces hundreds of repeated REST calls.| Don’t poll | Use instead |
|---|---|
GET /v1/orders/open repeatedly | /v1/ws/private - SUBSCRIPTION_TYPE_ORDER |
GET /v1/portfolio/positions repeatedly | /v1/ws/private - SUBSCRIPTION_TYPE_POSITION |
GET /v1/account/balances repeatedly | /v1/ws/private - SUBSCRIPTION_TYPE_ACCOUNT_BALANCE |
GET /v1/markets/{slug}/bbo repeatedly | /v1/ws/markets - SUBSCRIPTION_TYPE_MARKET_DATA_LITE |
GET /v1/markets/{slug}/book repeatedly | /v1/ws/markets - SUBSCRIPTION_TYPE_MARKET_DATA |
Cache reference data
Market and event metadata changes infrequently. Fetch it once on startup and refresh periodically rather than on every request.For automated systems
If you’re running an automated trading system and need higher limits for production:- Document your use case and expected request volume
- Email support@polymarket.us
- Include which endpoints you need higher limits for