Prediction Hunt/ API
REST API / Polymarket / Trader Leaderboard

Trader Leaderboard (Polymarket)

The canonical Polymarket trader leaderboard, ranked by profit or volume across all time. Look up any wallet's exact rank in the global ranking.

GET/v2/polymarket/leaderboard

Query Parameters

categorystring

Market category filter. One of: OVERALL (default), POLITICS, SPORTS, CRYPTO, CULTURE, MENTIONS, WEATHER, ECONOMICS, TECH, FINANCE.

timePeriodstring

Time window. One of: DAY (default), WEEK, MONTH, ALL.

orderBystring

Sort key. One of: PNL (default), VOL.

limitinteger

Number of rows to return. Range 1-50, default 25.

offsetinteger

Starting index in the ranking. Range 0-1000, default 0. Combined with limit, list iteration is bounded to rank ~1050.

userstring

Optional. 0x-prefixed wallet address — returns the single row at that wallet's rank in the global ranking. Use this to look up ranks beyond the pagination cap.

userNamestring

Optional. Single-user lookup by Polymarket username.

Response Schema

categorystring

Echoed back: market category filter applied.

time_periodstring

Echoed back: time window applied (DAY/WEEK/MONTH/ALL).

order_bystring

Echoed back: sort key (PNL or VOL).

limitinteger

Echoed back: max rows requested.

offsetinteger

Echoed back: starting index in the global ranking.

countinteger

Number of rows returned in this response.

leaderboardobject[]

Ranked rows. Same data Polymarket's own UI displays.

rankinteger

Global rank position for the (category, time_period, order_by) tuple.

proxy_walletstring

Trader's Polygon wallet address (0x-prefixed).

user_namestring

Display name on Polymarket. Often the wallet address itself when no custom username has been set.

x_usernamestring | null

Linked X/Twitter username if the trader has connected one.

verified_badgeboolean

Whether Polymarket has issued a verified badge for the trader.

profile_image_urlstring | null

Profile image URL if set.

volnumber

Trading volume (USD) for the selected period.

pnlnumber

Profit and loss (USD) for the selected period.

_metaobject

Response metadata.

sourcestring

Data source identifier.

pagination_capstring

List iteration is capped near rank 1050. Pass ?user= for deeper rank lookups.

Error Responses

All errors return the same envelope. The code field is stable and programmatically branchable; error and message are human-readable. errors[] is present only on validation failures with field-level detail. See the full error code reference →

successboolean

Always `false` on error responses.

errorstring

Short, human-readable title (e.g. 'Invalid API Key.').

messagestring

Human-readable explanation for the error. Safe to surface in UIs.

codestring

Stable, hierarchical machine-readable code (e.g. 'validation.invalid_enum'). Use for programmatic handling.

doc_urlstring

Link to this code's entry in the Error Reference.

errorsobject[]

Optional. Present only on validation failures with field-level detail.

fieldstring

Name of the offending parameter.

codestring

Field-level machine code.

messagestring

Human-readable explanation.

Authentication

API Key

To secure your requests, we strongly recommend passing your API key via the X-API-Key header. This prevents sensitive keys from being exposed in access logs or browser history.

Request HeaderX-API-Key: pmx_test_5e8f...

Rate Limits

API rate limits are enforced based on the tier associated with your API key. Limits are tracked on two dimensions: requests per second and requests per month. Each completed request counts toward the global monthly quota. Separate endpoint-group monthly limits (matched markets, arbitrage, EV) only advance when the response body has success: true.

Usage is returned on responses via headers such as:

Response Headers (global)X-RateLimit-Limit-Second: 10X-RateLimit-Remaining-Second: 9X-RateLimit-Limit-Month: 1000X-RateLimit-Remaining-Month: 842Example (endpoint-group, when applicable)X-RateLimit-Limit-Arb-Month: 500X-RateLimit-Remaining-Arb-Month: 412

If you exceed a rate limit, the API returns a 429 status with a Retry-After header indicating when you can resume.

Request

Live API Key

Demo Mode
Verified

Parameters

Category
Time Period
Order By
Limit (1–50)
Offset (0–1000)
User Address (single-user lookup)

Response

Click EXECUTE to send a request →