Polymarket API reference / CLOB API
GET/data/order/{orderID}

Get single order by ID

Retrieves a specific order by its ID (order hash) for the authenticated user, including canceled or fully matched orders. Builder-authenticated clients can also use this endpoint to retrieve orders attributed to their builder account.

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

Parameters

NameInTypeRequiredDescription
orderIDpathstringyesOrder ID (order hash)

Example

curl -X GET "https://clob.polymarket.com/data/order/<orderID>" \
  -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.

Response fields

FieldTypeDescription
idstringOrder ID (order hash)
statusstringOrder status. CANCELED_MARKET_RESOLVED cancels the unfilled remainder when the market resolves; it does not undo settled fills.
ownerstringUUID of the order owner
maker_addressstringEthereum address of the maker
marketstringMarket (condition ID)
asset_idstringAsset ID (token ID)
sidestringOrder side
original_sizestringOriginal order size in shares, as a decimal string. Already normalized; do not divide by 1e6.
size_matchedstringMatched size in shares, as a decimal string. Retained after cancellation; this is not the current position balance.
pricestringOrder price
outcomestringMarket outcome (YES/NO)
expirationstringUnix timestamp when the order expires
order_typestringOrder type
associate_tradesstring[]Array of associated trade IDs
created_atintegerUnix timestamp when the order was created

Responses

StatusMeaning
200Successfully retrieved order
400Bad request - Invalid order ID
401Unauthorized - Invalid API key or authentication failed
404Order not found
500Internal server error

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.