GET
/data/tradesGet 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | query | string | no | Trade ID to filter by specific trade |
| maker_address | query | string | yes | Maker address to filter trades |
| market | query | string | no | Market (condition ID) to filter trades |
| asset_id | query | string | no | Asset ID (token ID) to filter trades |
| before | query | string | no | Filter trades before this Unix timestamp |
| after | query | string | no | Filter trades after this Unix timestamp |
| next_cursor | query | string | no | Cursor 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
| Field | Type | Description |
|---|---|---|
| limit | integer | Maximum number of items per page |
| next_cursor | string | Cursor for next page (base64 encoded offset). "LTE=" indicates no more pages |
| count | integer | Number of items in current response |
| data | object[] | Array of trades |
Responses
| Status | Meaning |
|---|---|
| 200 | Successfully retrieved trades |
| 400 | Bad request - Invalid parameters |
| 401 | Unauthorized - Invalid API key or authentication failed |
| 500 | Internal server error |
Related endpoints
- GET /data/orders CLOB API
- GET /data/order/{orderID} CLOB API
From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.