Polymarket API endpoint
Returns trader leaderboard rows. The `window` enum accepts `1d`, `7d`, `30d`, and `all`; the `sort_by` enum accepts `profit` and `volume`.
/polymarket/leaderboardQuery parameters:
window: optional leaderboard time window. Allowed values: 1d, 7d, 30d, all. Defaults to 30d.sort_by: optional leaderboard sort. Allowed values: profit, volume. Defaults to profit.limit: optional maximum rows to return. Defaults to 20; maximum 100.Notable response behavior:
/leaderboard page.profit maps to upstream profit/loss sorting; volume maps to upstream volume sorting.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| rank | 20 | 1 to 20, median 10 |
| proxy_wallet | 20 | “0xf0318c32136c2db7fec88b84869aee6a1106c80c” and 19 other values |
| user_name | 20 | |
| verified_badge | 20 | true in 0 of 20 |
| volume | 20 | 0 to 1,568,634.71, median 206,847.77 |
| profit_loss | 20 | 39,882.19 to 927,933.5, median 103,418.72 |
| profile_image_url | 1 | polymarket-upload.s3.us-east-2.amazonaws.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| window | string | No | Leaderboard time window Allowed values: 1d, 7d, 30d, all. | ||
| sort_by | string | No | Leaderboard sort Allowed values: profit, volume. | ||
| limit | integer | No | 20 and supports up to 100 | Maximum rows, defaults to 20 and supports up to 100 | 20 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/polymarket/leaderboard?window=1d&sort_by=profit&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"window": "30d",
"sort_by": "profit",
"limit": 2,
"source_url": "https://data-api.polymarket.com/v1/leaderboard?limit=2&sortBy=profit&window=30d",
"fetched_at": "2026-06-07T11:00:00Z",
"rows": [
{
"rank": "1",
"proxy_wallet": "0x4bff30af91642dc7d2b19a8664378fe55c45fc26",
"user_name": "Sassy-Bucket",
"verified_badge": false,
"volume": 770358.109102,
"profit_loss": 322870.79601
}
]
}
}Request schema
No body schema
Response schema
#/definitions/polymarket.leaderboardResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | polymarket.LeaderboardResponse | No | ||||
| data.fetched_at | string | No | 2026-06-07T11:00:00Z | |||
| data.limit | integer | No | 20 | |||
| data.rows | array | No | ||||
| data.rows[].profile_image_url | string | No | ||||
| data.rows[].profit_loss | number | No | 322870.79601049656 | |||
| data.rows[].proxy_wallet | string | No | 0x4bff30af91642dc7d2b19a8664378fe55c45fc26 | |||
| data.rows[].rank | string | No | 1 | |||
| data.rows[].user_name | string | No | Sassy-Bucket | |||
| data.rows[].verified_badge | boolean | No | ||||
| data.rows[].volume | number | No | 770358.109102 | |||
| data.rows[].x_username | string | No | polymarket | |||
| data.sort_by | string | No | profit | |||
| data.source_url | string | No | https://data-api.polymarket.com/v1/leaderboard?window=30d&sortBy=profit&limit=20 | |||
| data.window | string | No | 30d | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/polymarket/leaderboard?window=1d&sort_by=profit&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"