Polymarket API reference / CLOB API
POST/orders-scoring

Get scoring status for multiple orders (POST)

Checks if multiple orders are currently scoring for rewards. This POST variant accepts order IDs in the request body. An order is considered "scoring" if it meets all the criteria for earning maker rewards: - The order is live on a rewards-eligible market - The order meets the minimum size requirements - The order is within the valid spread range - The order has been live for the required duration

Base URL
https://clob.polymarket.com
Auth
L2 API credentials (key, secret, passphrase)POLY_API_KEY, POLY_ADDRESS, POLY_SIGNATURE, POLY_PASSPHRASE, POLY_TIMESTAMP
Rate limit
9,000 req / 10s (900 per second)
Limit applies to
CLOB API general

Example

curl -X POST "https://clob.polymarket.com/orders-scoring" \
  -H "POLY_API_KEY: $POLY_API_KEY" \
  -H "POLY_ADDRESS: $POLY_ADDRESS" \
  -H "POLY_SIGNATURE: $POLY_SIGNATURE" \
  -H "POLY_PASSPHRASE: $POLY_PASSPHRASE" \
  -H "POLY_TIMESTAMP: $POLY_TIMESTAMP"

L2 requests are signed with HMAC-SHA256 using your API secret, and the timestamp is part of the signature, so keep the machine's clock accurate. A missing credential or a stale signature both come back as Unauthorized/Invalid api key. The Python SDK signs for you.

Responses

StatusMeaning
200Successfully retrieved scoring status for all orders
400Bad request - Invalid payload or order ID
401Unauthorized - Invalid API key or authentication failed
500Internal server error
503Service unavailable - Trading disabled

Related endpoints

Polymarket's API serves current state only, so it cannot show what a market's book looked like after it resolved. PolyTest records Up/Down markets while they run and keeps the snapshots. Try it free, or read the full rate limit reference.

From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.