GET
/v2/leaderboardGet the trader leaderboard
The ranked board of realized PnL, combos included. `?time_period=` is `day` (default), `week`, `month` or `all`; `?category=` is `overall` (default) or a market category; `?sort_by=` picks the `PNL` (default) or `VOLUME` board. Deeper pages come only from `?cursor=`.
- Base URL
- https://data-api.polymarket.com
- Auth
- Public, no key
- Rate limit
- 800 req / 10s (80 per second)
- Limit applies to
- General (all /v2 endpoints)
Things to know
Every v2 response wraps its payload in a data field. Paginated reads return an opaque cursor in pagination and do not accept offset. Under load the API answers 429 with a Retry-After header.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| time_period | query | stringnull | no | Window: `day` | `week` | `month` | `all`. Defaults to `day`. |
| category | query | stringnull | no | `overall` (default), a Gamma market category (e.g. `sports`), or a synthetic category: `combos` (combinatorial positions; PNL boards only; the volume board has no combos rows) or `esports` (promoted subcategory). |
| sort_by | query | stringnull | no | Which board: `PNL` (default) or `VOLUME`. |
| user | query | stringnull | no | Look up one wallet's standing instead of reading the board. Returns a single object carrying both ranks, not a page. |
| limit | query | integernull | no | First-page size. Ignored when `cursor` is supplied. |
| cursor | query | stringnull | no | Opaque pagination cursor from a prior response's `next_cursor`. |
Example
curl -X GET "https://data-api.polymarket.com/v2/leaderboard"Responses
| Status | Meaning |
|---|---|
| 200 | A page of the board, or one wallet's standing when `user` is given |
| 400 | Board arm: invalid `time_period`, `sort_by`, or `cursor`, including a param that contradicts the cursor's pinned board. |
| 429 | Too many requests; retry after `Retry-After` |
| 500 | Internal server error |
| 503 | Timed out (the request deadline, the datastore statement timeout, or the connection pool's acquire budget) or a serving dependency is unavailable; retry after `Retry-After` |
From Polymarket's published OpenAPI spec and rate-limit tables, synced 2026-10-04.