Polymarket Leaderboard Scraper avatar

Polymarket Leaderboard Scraper

Pricing

Pay per event

Go to Apify Store
Polymarket Leaderboard Scraper

Polymarket Leaderboard Scraper

Extract Polymarket top trader rankings by profit or volume with wallets, profiles, categories, time ranges, and source URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Extract top Polymarket traders from the public leaderboard with rank, profit, volume, wallet, profile, X/Twitter, category, and time-window metadata.

What does Polymarket Leaderboard Scraper do?

Polymarket Leaderboard Scraper collects public trader leaderboard rows from Polymarket. It uses Polymarket's public data API, so it is fast, lightweight, and does not need a login. You can scrape the overall leaderboard or focus on categories such as crypto, sports, politics, finance, economics, tech, weather, culture, mentions, and esports. You can rank traders by profit or by volume. You can run one leaderboard URL or many category/time-range/rank combinations in the same Actor run.

Who is it for?

Prediction-market traders use it to monitor the accounts currently winning on Polymarket. Crypto analysts use it to connect Polymarket profiles with proxy wallet addresses. Wallet intelligence teams use it to build recurring watchlists of high-volume or high-PnL traders. Market researchers use it to compare category-level performance across politics, sports, crypto, finance, and more. Data teams use it to feed dashboards, spreadsheets, alerts, and enrichment pipelines.

Why use this scraper?

✅ It returns typed rows instead of screenshots or unstructured HTML. ✅ It supports profit and volume rankings. ✅ It supports Polymarket's public category and time-range filters. ✅ It includes source URLs so every row is traceable. ✅ It can save hundreds of leaderboard rows in a small HTTP-only run. ✅ It does not require cookies, private accounts, browser automation, or residential proxies.

What data can you extract?

Each dataset item represents one Polymarket leaderboard trader row.

FieldDescription
rankNumeric leaderboard rank.
rankTypeprofit or volume.
timeRangetoday, weekly, monthly, or all.
categoryPolymarket category such as overall, crypto, or sports.
usernamePublic Polymarket username.
profileUrlPolymarket profile URL based on the proxy wallet.
proxyWalletPublic proxy wallet address exposed by Polymarket.
walletExplorerUrlPolygonScan URL for the proxy wallet.
xUsernameX/Twitter username when Polymarket exposes it.
xProfileUrlX/Twitter profile URL when available.
verifiedBadgeWhether the profile has a verified badge.
profitUsdPublic PnL/profit value in USD.
volumeUsdPublic trading volume value in USD.
profileImageUrlAvatar/profile image URL when available.
sourceLeaderboardUrlHuman leaderboard URL for the filter.
sourceApiUrlAPI URL used for the row page.
scrapedAtISO timestamp of extraction.

How much does it cost to scrape Polymarket leaderboard traders?

This Actor uses pay-per-event pricing. There is a $0.005 start charge per run and a tiered per-trader charge for each saved leaderboard row.

Plan tierPer saved trader
Free$0.000031846
Bronze$0.000027692
Silver$0.0000216
Gold$0.000016615
Platinum$0.000011077
Diamond$0.00001

For example, a default 100-row Bronze run is about $0.00777 before any Apify plan-specific display rounding.

Input options

You can use either URL mode or selector mode.

URL mode

Paste Polymarket leaderboard URLs such as:

{
"startUrls": [
{ "url": "https://polymarket.com/leaderboard/overall/monthly/profit" },
{ "url": "https://polymarket.com/leaderboard/crypto/weekly/volume" }
],
"maxItemsPerCombination": 100
}

Selector mode

Choose categories, time ranges, and rank types:

{
"categories": ["overall", "crypto", "sports"],
"timeRanges": ["weekly", "monthly"],
"rankTypes": ["profit", "volume"],
"maxItemsPerCombination": 100
}

Supported categories

  • overall
  • politics
  • sports
  • esports
  • crypto
  • finance
  • culture
  • mentions
  • weather
  • economics
  • tech

Supported time ranges

  • today
  • weekly
  • monthly
  • all

Supported rank types

  • profit — top traders by PnL/profit.
  • volume — top traders by trading volume.

Output example

{
"rank": 1,
"rankType": "profit",
"timeRange": "monthly",
"category": "overall",
"username": "swisstony",
"profileUrl": "https://polymarket.com/profile/0x204f72f35326db932158cba6adff0b9a1da95e14",
"proxyWallet": "0x204f72f35326db932158cba6adff0b9a1da95e14",
"walletExplorerUrl": "https://polygonscan.com/address/0x204f72f35326db932158cba6adff0b9a1da95e14",
"xUsername": null,
"xProfileUrl": null,
"verifiedBadge": false,
"profitUsd": 3119559.0719809025,
"volumeUsd": 230731144.9539759,
"profileImageUrl": null,
"sourceLeaderboardUrl": "https://polymarket.com/leaderboard/overall/monthly/profit",
"sourceApiUrl": "https://data-api.polymarket.com/v1/leaderboard?timePeriod=month&orderBy=PNL&limit=50&offset=0&category=overall",
"scrapedAt": "2026-07-10T06:51:24.503Z"
}

How to run it on Apify

  1. Open the Actor on Apify.
  2. Choose URL mode or selector mode.
  3. Keep maxItemsPerCombination small for a quick first run.
  4. Click Start.
  5. Download results as JSON, CSV, Excel, XML, RSS, or HTML table.

Tips for better results

Start with overall + monthly + profit if you want a broad snapshot. Use all + volume to find historically active wallets. Use crypto or sports categories for category-specific trading intelligence. Use multiple categories in one run when you want a dashboard-ready dataset. Increase maxItemsPerCombination only when you need deeper ranks.

Integrations

Send results to Google Sheets for analyst review. Push wallet addresses into a Polygon wallet enrichment pipeline. Join the output with market, trade, or event datasets from related Polymarket workflows. Trigger a webhook when a known wallet enters a top rank. Store daily snapshots in a database to track leaderboard movements over time.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/polymarket-leaderboard-scraper').call({
categories: ['overall'],
timeRanges: ['monthly'],
rankTypes: ['profit'],
maxItemsPerCombination: 100,
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/polymarket-leaderboard-scraper').call(run_input={
'categories': ['overall'],
'timeRanges': ['monthly'],
'rankTypes': ['profit'],
'maxItemsPerCombination': 100,
})
print(run['defaultDatasetId'])

cURL

curl "https://api.apify.com/v2/acts/automation-lab~polymarket-leaderboard-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"categories":["overall"],"timeRanges":["monthly"],"rankTypes":["profit"],"maxItemsPerCombination":100}'

MCP integration

Use the Apify MCP server with Claude Desktop or Claude Code to run this Actor from natural language.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/polymarket-leaderboard-scraper

Claude Code setup:

$claude mcp add apify-polymarket-leaderboard "https://mcp.apify.com/?tools=automation-lab/polymarket-leaderboard-scraper"

Claude Desktop JSON config:

{
"mcpServers": {
"apify-polymarket-leaderboard": {
"url": "https://mcp.apify.com/?tools=automation-lab/polymarket-leaderboard-scraper"
}
}
}

Example prompts:

  • "Scrape the monthly Polymarket profit leaderboard and summarize the top wallets."
  • "Get the top 100 crypto-category Polymarket traders by weekly volume."
  • "Compare today's profit leaderboard with all-time volume leaders."

Legality and responsible use

This Actor extracts public leaderboard data from Polymarket. It does not bypass login-only content. It does not place trades. It does not access private user accounts. You are responsible for using the output in accordance with applicable laws, platform terms, and privacy obligations.

Troubleshooting

If a run returns fewer rows than requested, Polymarket may not expose more rows for that filter. Try a broader category such as overall or a broader time range such as all.

If a pasted URL is ignored, make sure it contains /leaderboard/ and follows the Polymarket pattern /leaderboard/{category}/{timeRange}/{rankType}.

If you need historical rank changes, schedule this Actor daily and compare snapshots by proxyWallet, category, timeRange, and rankType.

FAQ

Do I need a Polymarket account?

No. The Actor reads public leaderboard data.

Can I scrape both profit and volume in one run?

Yes. Set rankTypes to ["profit", "volume"].

Can I scrape several categories at once?

Yes. Add multiple values to categories.

Does it expose wallet addresses?

It returns the public proxy wallet address when Polymarket exposes it on the leaderboard API.

Is this a trading bot?

No. It only extracts public leaderboard data.

Changelog

See .actor/CHANGELOG.md for release notes.

Support

Open an issue on the Actor page if the Polymarket leaderboard changes or if you need an additional output field.