Polymarket hub

Polymarket Leaderboard API

Top traders by profit or volume, or one wallet's rank on the board.

GET /v1/polymarket/leaderboard

1 credit Failed requests are free

About this endpoint

GET /v1/polymarket/leaderboard returns data.entries, rows from rank 1 down. Each row has rank, rankPnl, rankVolume, wallet, name, image, xUsername, verified, pnl and volume. window is day, week, month or all and defaults to all; sortBy is pnl (default) or volume; category narrows to a category such as sports or politics.

Pass wallet to return that wallet's rank instead of the board, as one row with rankPnl and rankVolume. limit is 1 to 1000 and defaults to 100. A wallet that is not on the board for the window and category returns an empty list.

Polymarket Leaderboard API FAQ

How do I get one wallet's rank?

Pass wallet with a 0x address. The response is one row whose rank is for the sortBy you asked for, and rankPnl and rankVolume show both ranks. If the wallet is not on that board, the list is empty.

Why is volume 0 for a row?

Polymarket reports 0 for a few rows whose traded volume is not known. That is a reported value, not a missing field. Use pnl or the wallet's stats route if you need another measure.

Does the board include every wallet?

No. It is a ranked board with a limited depth, so a very small or inactive wallet may not appear. That is different from a wallet lookup that returns an empty list because the wallet is not ranked.

What does lookupStatus mean on this route?

found means the object or list was returned. not_found means no matching object exists. HTTP 200 only means the request finished, so branch on data.lookupStatus before storing a row.

How much does this route cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.