Polymarket API reference / CLOB API
GET/data/trades

Get trades

Retrieves trades for the authenticated user. Returns paginated results. Requires readonly or level 2 API key authentication.

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
500 req / 10s (50 per second)
Limit applies to
/data/trades

Parameters

NameInTypeRequiredDescription
idquerystringnoTrade ID to filter by specific trade
maker_addressquerystringyesMaker address to filter trades
marketquerystringnoMarket (condition ID) to filter trades
asset_idquerystringnoAsset ID (token ID) to filter trades
beforequerystringnoFilter trades before this Unix timestamp
afterquerystringnoFilter trades after this Unix timestamp
next_cursorquerystringnoCursor for pagination (base64 encoded offset)

Example

curl -X GET "https://clob.polymarket.com/data/trades?maker_address=<maker_address>" \
  -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
limitintegerMaximum number of items per page
next_cursorstringCursor for next page (base64 encoded offset). "LTE=" indicates no more pages
countintegerNumber of items in current response
dataobject[]Array of trades

Responses

StatusMeaning
200Successfully retrieved trades
400Bad request - Invalid parameters
401Unauthorized - Invalid API key or authentication failed
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.