
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Scrape the GMGN.ai copy-trade wallet leaderboard without login: top smart-money, KOL, sniper, fresh and dev wallets on Solana, BSC, Ethereum, Base, Tron and 6 more chains, with realized profit, PnL, win rate, volume, net inflow, tags and X handles.
Pull the GMGN.ai copy-trade leaderboard as clean data: the top smart-money, KOL, sniper, fresh and token-dev wallets on Solana, BSC, Ethereum, Base, Tron and six more chains, with realized profit, PnL, win rate, volume, net inflow, tags and X handles. A list of 100 wallets takes a few seconds, needs no GMGN account, and you pay per wallet saved.
| Field | What it does |
|---|---|
chains | Chains to scrape: sol, bsc, eth, base, tron, monad, hyperevm, megaeth, robinhood, xlayer, arc. |
traderTypes | Leaderboard tabs: all, smart_degen (Smart Money), pump_smart, launchpad_smart, renowned (KOL/VC), live, fresh_wallet, snipe_bot, top_followed, top_renamed, top_dev. |
sortBy | profit_7days, win_rate_30days, volume_1day, net_inflow_7days, last_activity, balance, tracked, renamed, and other options. dev_* orders apply to top_dev. |
sortDirection | desc (leaders first) or asc. |
maxResults | Wallets per chain and category, 1 to 100 (GMGN's maximum per list). |
min_* / max_* | Optional filters, for example min_winrate_7d (%), min_profit_30d (USD) or max_txs_1d. |
{
"chains": ["sol", "bsc"],
"traderTypes": ["smart_degen", "renowned"],
"sortBy": "profit_7days",
"sortDirection": "desc",
"maxResults": 50,
"min_winrate_7d": 50,
"min_profit_7d": 5000
}
Each row is one wallet. The main fields:
| Field | Meaning |
|---|---|
rank, chain, traderType, sortBy | Where the wallet sits on which leaderboard. |
wallet_address, profileUrl | Wallet address and its GMGN page. |
name, twitter_username, twitterUrl, twitter_name, twitter_description, avatar, tags | Public identity and GMGN tags (kol, smart_degen, sniper, the trading bot used, ...). |
realized_profit_1d/7d/30d | Realized profit in USD. |
pnl_1d/7d/30d | Profit/loss as a ratio (0.25 = +25%). |
winrate_1d/7d/30d | Share of winning trades (0.6 = 60%). |
buy_*, sell_*, txs_* | Buy, sell and total transaction counts. |
volume_*, net_inflow_*, avg_cost_* | Volume, net inflow and average buy size in USD. |
avg_holding_period_* | Average holding time in seconds. |
pnl_gt_5x_num_7d, pnl_2x_5x_num_7d, ... | 7-day trade outcome distribution. |
daily_profit_7d | Realized profit for each of the last 7 days. |
balance, sol_balance, eth_balance, ... | Native-coin balance. |
follow_count, remark_count | How many GMGN users track or have renamed the wallet. |
last_active, last_active_at | Last trade time (Unix and ISO). |
top_dev rows hold token-creator stats instead: created_count, open_count (graduated tokens), open_ratio, max_market_cap, max_market_cap_coin_symbol, market_cap_* buckets, avg_creator_fee and last_created_at.
Example row from a test run (the name, handle and address are fictional, the rest is shortened):
{
"rank": 1,
"chain": "sol",
"traderType": "all",
"sortBy": "profit_7days",
"wallet_address": "7xQe2mVb9pLkTr4NwYc8HsDfJ3aZuE6gK1oPq5RtWnXv",
"name": "Sample Trader",
"twitter_username": "sampletrader",
"profileUrl": "https://gmgn.ai/sol/address/7xQe2mVb9pLkTr4NwYc8HsDfJ3aZuE6gK1oPq5RtWnXv",
"twitterUrl": "https://x.com/sampletrader",
"tags": ["kol", "photon", "axiom", "top_followed"],
"realized_profit_1d": 96886.44,
"realized_profit_7d": 181477.47,
"realized_profit_30d": 821862.01,
"pnl_7d": 0.1299,
"winrate_7d": 0.5683,
"buy_7d": 10056,
"sell_7d": 3025,
"txs_7d": 13081,
"volume_7d": 2132956.8,
"net_inflow_7d": -126440.5,
"avg_cost_7d": 97.05,
"avg_holding_period_7d": 169622.5,
"pnl_gt_5x_num_7d": 0,
"pnl_2x_5x_num_7d": 8,
"daily_profit_7d": [
{"timestamp": 1792368000, "date": "2026-10-19", "profit": 10132.38},
{"timestamp": 1792454400, "date": "2026-10-20", "profit": 15896.29}
],
"balance": 643.25,
"follow_count": 82322,
"remark_count": 38217,
"last_active": 1792581230,
"last_active_at": "2026-10-21T11:13:50Z",
"scrapedAt": "2026-10-21T11:41:10.883Z"
}
You pay $0.007 per wallet saved ($7 per 1,000 wallets), plus a small platform usage charge. A run uses 256 MB for a few seconds, which costs a fraction of a cent.
Lists that come back empty, invalid input and failed requests cost nothing in events.
Is it legal to scrape GMGN? The actor reads public leaderboard data that GMGN shows to every visitor without login. Wallet addresses and the linked public X profiles are public, but check your local rules and GMGN's terms before you reuse the data commercially.
Do I need a GMGN account or a proxy? No account is needed. The default datacenter proxy works and is the cheapest option. Switch to residential in the Proxy section if you ever see blocks.
How many wallets can I get? GMGN shows at most 100 wallets per leaderboard, so you can get up to 100 per chain and category. Several chains and categories in one run multiply that, for example 11 chains × 10 categories. A wallet that appears in two categories of the same chain is saved once.
Why is a field empty?
GMGN leaves some fields blank, for example the X handle of anonymous wallets or avg_cost_* for wallets that only sold. Empty values are saved as null.
What do pnl and winrate numbers mean?
They're ratios: pnl_7d: 0.25 means +25% and winrate_7d: 0.6 means 60%. Filters take percentages, so min_winrate_7d: 60 keeps wallets with at least 60%.
Can I schedule it or use the API? Yes. Schedule runs every few minutes or hours to track the leaderboard, or start runs and fetch the dataset through the API and integrations.
top_dev category, which has its own sort orders (dev_*).eth_balance, sol_balance, ...) repeat the wallet's native balance exactly as GMGN sends them.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
chainsarrayOptionalBlockchains
Chains whose GMGN wallet leaderboard you want. Each chain is a separate list.
traderTypesarrayOptionalTrader categories
GMGN's leaderboard tabs. Each category is a separate list per chain. A wallet that appears in several categories is saved once. 'Top token devs' returns token-creator stats (tokens created, best market cap) instead of trading stats. Empty means all wallets.
sortByenumOptionaldefault "profit_7days"Sort by
How GMGN ranks the wallets. The 'Top devs' orders apply to the 'Top token devs' category only.
sortDirectionenumOptionaldefault "desc"Sort direction
Highest first returns the leaders; lowest first returns the bottom of the ranking.
maxResultsintegerOptionaldefault 20Wallets per list
How many wallets to save per chain and category. GMGN shows at most 100 wallets per list.
Optional. GMGN applies these filters to its leaderboard; leave empty for no limit. They do not apply to the 'Top token devs' category.
min_pnl_1dintegerOptionalMin 1D PnL (%)
Minimum 1D profit/loss percentage, e.g. 50 for +50%.
max_pnl_1dintegerOptionalMax 1D PnL (%)
Maximum 1D profit/loss percentage, e.g. 50 for +50%.
min_profit_1dintegerOptionalMin 1D realized profit (USD)
Minimum 1D realized profit in USD.
max_profit_1dintegerOptionalMax 1D realized profit (USD)
Maximum 1D realized profit in USD.
min_winrate_1dintegerOptionalMin 1D win rate (%)
Minimum 1D win rate in percent, e.g. 60 for 60%.
max_winrate_1dintegerOptionalMax 1D win rate (%)
Maximum 1D win rate in percent, e.g. 60 for 60%.
min_txs_1dintegerOptionalMin 1D transactions
Minimum 1D number of buy and sell transactions.
max_txs_1dintegerOptionalMax 1D transactions
Maximum 1D number of buy and sell transactions.
min_volume_1dintegerOptionalMin 1D volume (USD)
Minimum 1D trading volume in USD.
max_volume_1dintegerOptionalMax 1D volume (USD)
Maximum 1D trading volume in USD.
min_net_inflow_1dintegerOptionalMin 1D net inflow (USD)
Minimum 1D net inflow in USD (buys minus sells, can be negative).
max_net_inflow_1dintegerOptionalMax 1D net inflow (USD)
Maximum 1D net inflow in USD (buys minus sells, can be negative).
min_pnl_7dintegerOptionalMin 7D PnL (%)
Minimum 7D profit/loss percentage, e.g. 50 for +50%.
max_pnl_7dintegerOptionalMax 7D PnL (%)
Maximum 7D profit/loss percentage, e.g. 50 for +50%.
min_profit_7dintegerOptionalMin 7D realized profit (USD)
Minimum 7D realized profit in USD.
max_profit_7dintegerOptionalMax 7D realized profit (USD)
Maximum 7D realized profit in USD.
min_winrate_7dintegerOptionalMin 7D win rate (%)
Minimum 7D win rate in percent, e.g. 60 for 60%.
max_winrate_7dintegerOptionalMax 7D win rate (%)
Maximum 7D win rate in percent, e.g. 60 for 60%.
min_txs_7dintegerOptionalMin 7D transactions
Minimum 7D number of buy and sell transactions.
max_txs_7dintegerOptionalMax 7D transactions
Maximum 7D number of buy and sell transactions.
min_volume_7dintegerOptionalMin 7D volume (USD)
Minimum 7D trading volume in USD.
max_volume_7dintegerOptionalMax 7D volume (USD)
Maximum 7D trading volume in USD.
min_net_inflow_7dintegerOptionalMin 7D net inflow (USD)
Minimum 7D net inflow in USD (buys minus sells, can be negative).
max_net_inflow_7dintegerOptionalMax 7D net inflow (USD)
Maximum 7D net inflow in USD (buys minus sells, can be negative).
min_pnl_30dintegerOptionalMin 30D PnL (%)
Minimum 30D profit/loss percentage, e.g. 50 for +50%.
max_pnl_30dintegerOptionalMax 30D PnL (%)
Maximum 30D profit/loss percentage, e.g. 50 for +50%.
min_profit_30dintegerOptionalMin 30D realized profit (USD)
Minimum 30D realized profit in USD.
max_profit_30dintegerOptionalMax 30D realized profit (USD)
Maximum 30D realized profit in USD.
min_winrate_30dintegerOptionalMin 30D win rate (%)
Minimum 30D win rate in percent, e.g. 60 for 60%.
max_winrate_30dintegerOptionalMax 30D win rate (%)
Maximum 30D win rate in percent, e.g. 60 for 60%.
min_txs_30dintegerOptionalMin 30D transactions
Minimum 30D number of buy and sell transactions.
max_txs_30dintegerOptionalMax 30D transactions
Maximum 30D number of buy and sell transactions.
min_volume_30dintegerOptionalMin 30D volume (USD)
Minimum 30D trading volume in USD.
max_volume_30dintegerOptionalMax 30D volume (USD)
Maximum 30D trading volume in USD.
min_net_inflow_30dintegerOptionalMin 30D net inflow (USD)
Minimum 30D net inflow in USD (buys minus sells, can be negative).
max_net_inflow_30dintegerOptionalMax 30D net inflow (USD)
Maximum 30D net inflow in USD (buys minus sells, can be negative).
min_avg_costintegerOptionalMin average buy size (USD)
Minimum average cost per buy in USD.
max_avg_costintegerOptionalMax average buy size (USD)
Maximum average cost per buy in USD.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for GMGN and are the cheapest option. Switch to residential if you see blocks.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| rank | any | Rank |
| chain | any | Chain |
| traderType | any | Category |
| wallet_address | any | Wallet |
| profileUrl | any | GMGN profile |
| name | any | Name |
| twitter_username | any | X / Twitter |
| tags | any | Tags |
| realized_profit_7d | any | 7D realized profit (USD) |
| pnl_7d | any | 7D PnL (ratio) |
| winrate_7d | any | 7D win rate (ratio) |
| txs_7d | any | 7D transactions |
| volume_7d | any | 7D volume (USD) |
| net_inflow_7d | any | 7D net inflow (USD) |
| realized_profit_30d | any | 30D realized profit (USD) |
| pnl_30d | any | 30D PnL (ratio) |
| winrate_30d | any | 30D win rate (ratio) |
| realized_profit_1d | any | 1D realized profit (USD) |
| balance | any | Native balance |
| follow_count | any | Times tracked |
| last_active_at | any | Last active |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Wallet | One wallet saved from the GMGN leaderboard. | $0.007 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('querystone/gmgn-scraper').call({
"chains": [
"sol"
],
"traderTypes": [
"all"
],
"sortBy": "profit_7days",
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run querystone/gmgn-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=querystone/gmgn-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
GMGN's Smart Money leaderboard on two chains, ranked by 7-day realized profit.
Renowned Solana wallets (KOLs and VCs) ranked by 30-day win rate.
Solana wallets with a 7-day win rate of at least 40%, $1,000+ profit and 10+ trades.
Serial Solana token creators ranked by the best market cap their tokens reached.
The highest 30-day volume wallets on Base and Ethereum.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.