Authentication
Pass your API key via query parameter?key=, header x-api-key, or Authorization: Bearer.
Parameters
Time period for P&L and volume. Matches Polymarket’s leaderboard tabs.
day— Todayweek— Last 7 daysmonth— Last 30 daysall— All time
Market category filter. Use
all to get every category in one response, or specify one:all— Returns all categories grouped in acategoriesobject (default)overall— All markets combinedpoliticssportscryptofinancetechweatherculturementions
Sort metric.
pnl (Profit/Loss) or vol (Volume).Maximum entries per category. Max 500.
Pagination offset.
Response: all categories (default)
Whencategory=all or omitted, the response groups results by category. Each category is sorted and ranked independently.
Response: single category
When you specify a category likecategory=crypto, the response is a flat leaderboard with a total count.
Response: sorted by volume
Response: today’s activity
Top-level response fields
| Field | Type | Description |
|---|---|---|
timePeriod | string | The time period used for this query |
category | string | "all" or the specific category queried |
orderBy | string | Sort metric used (pnl or vol) |
total | number | Total wallets with data for this query (single-category mode only) |
offset | number | Pagination offset |
limit | number | Maximum entries returned |
lastRefreshed | string | ISO timestamp of the last background data refresh |
categories | object | Leaderboard entries grouped by category (when category=all) |
leaderboard | array | Flat leaderboard entries (when a specific category is requested) |
Leaderboard entry fields
| Field | Type | Description |
|---|---|---|
localRank | number | Rank within your custom leaderboard set |
rank | string | Global rank on Polymarket’s leaderboard. This is a string matching Polymarket’s API format. |
proxyWallet | string | Polymarket proxy wallet address |
userName | string | Polymarket display name |
xUsername | string | Twitter/X username (if set) |
verifiedBadge | boolean | Polymarket verified badge |
vol | number | Trading volume (USD) for this time period |
pnl | number | Profit/Loss (USD) for this time period |
profileImage | string | Profile image URL |
Code examples
Get everything for the current week
Get a single category
Sort by volume, paginated
Rate limiting
This endpoint is rate limited to 1 request per 5 seconds per API key. If you exceed this, you’ll get a 429 response:| Field | Type | Description |
|---|---|---|
error | string | Error message |
retryAfterMs | number | Milliseconds to wait before retrying |
Retry-After header (in seconds).
Data refreshes every ~30 minutes in the background. Repeat requests within 60 seconds are served from an in-memory cache for maximum speed.

