Polymarket Leaderboard Scraper
Pricing
Pay per event
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
Maintained by CommunityActor 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.
| Field | Description |
|---|---|
rank | Numeric leaderboard rank. |
rankType | profit or volume. |
timeRange | today, weekly, monthly, or all. |
category | Polymarket category such as overall, crypto, or sports. |
username | Public Polymarket username. |
profileUrl | Polymarket profile URL based on the proxy wallet. |
proxyWallet | Public proxy wallet address exposed by Polymarket. |
walletExplorerUrl | PolygonScan URL for the proxy wallet. |
xUsername | X/Twitter username when Polymarket exposes it. |
xProfileUrl | X/Twitter profile URL when available. |
verifiedBadge | Whether the profile has a verified badge. |
profitUsd | Public PnL/profit value in USD. |
volumeUsd | Public trading volume value in USD. |
profileImageUrl | Avatar/profile image URL when available. |
sourceLeaderboardUrl | Human leaderboard URL for the filter. |
sourceApiUrl | API URL used for the row page. |
scrapedAt | ISO 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 tier | Per 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
overallpoliticssportsesportscryptofinanceculturementionsweathereconomicstech
Supported time ranges
todayweeklymonthlyall
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
- Open the Actor on Apify.
- Choose URL mode or selector mode.
- Keep
maxItemsPerCombinationsmall for a quick first run. - Click Start.
- 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 ApifyClientimport osclient = 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."
Related scrapers
- Polymarket Markets Scraper for market/event data.
- Crypto wallet and blockchain actors for wallet enrichment workflows.
- Prediction market and finance scrapers for broader market intelligence.
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.