Polymarket errors / Global Errors
429 Too Many RequestsRetry after the delay

Too Many Requests

You've exceeded the rate limit. Back off and retry with exponential backoff.

You exceeded a rate limit. See the per-endpoint limits in the Polymarket API reference.

Retry? Retry after the delay

Wait for the Retry-After header when it is present, otherwise back off exponentially with jitter. Polymarket's Cloudflare IP limits delay requests rather than rejecting them, while the per-signer order and cancel buckets return 429 once enforcement is live.

Any authenticated CLOB endpoint can return this.

Handling it in code

The CLOB API returns errors as {"error": "..."}. It also rewrites status codes by message, so branch on the text: anything containing "not found" becomes 404 and anything containing "unauthorized" becomes 401.

r = session.post(url, json=payload, headers=headers)
if r.status_code >= 400:
    msg = r.json().get("error", "")
    if "Too Many Requests" in msg:
        time.sleep(float(r.headers.get("Retry-After", 1)))

Related errors

For errors Polymarket doesn't document, like "order manager not ready" or 403s from the edge, see the full error guide.

Message and status from Polymarket's error reference, synced 2026-10-04.