GMGN CopyTrade Wallet Scraper avatar

GMGN CopyTrade Wallet Scraper

Pricing

from $3.75 / 1,000 wallets

Go to Apify Store
GMGN CopyTrade Wallet Scraper

GMGN CopyTrade Wallet Scraper

Scrape GMGN.ai copytrade wallet leaderboards across Solana, BSC, Ethereum, Base, Tron, and Monad. Get wallet PnL, win rates, transactions, balances, tags, source ranks, and GMGN wallet URLs. No GMGN login is needed.

Pricing

from $3.75 / 1,000 wallets

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

1

Monthly active users

5 days ago

Last modified

Share

🧭 GMGN CopyTrade Wallet Scraper for smart money research

GMGN CopyTrade Wallet Scraper pulls public copytrade wallet leaderboards from GMGN.ai into one dataset for crypto researchers. Choose a chain, trader category, sort order, and wallet limit. Each wallet gets its own row with its address, source rank, realized profit, PnL, win rates, trading activity, balances, tags, profile details, and GMGN wallet link. It uses only public GMGN leaderboard data, so you do not need a GMGN login. You skip copying leaderboard rows by hand.

Use it for smart money research, crypto wallet leaderboard research, or copy trading analysis. Run it in Apify Console or through the Apify API. You can also schedule repeat runs and compare the saved rows yourself.

  • Collect the top wallets on a chain, ranked by 7-day realized profit, with each wallet's address and GMGN wallet link.
  • Compare Smart Money and key opinion leader (KOL / VC) wallets on the same chain before you pick wallets to research.
  • Review each wallet's realized profit, PnL, win rate, and transaction counts across 1, 7, and 30 days.
  • Check a wallet's daily profit for up to the last seven days, as far as GMGN has that history, and its 7-day PnL distribution.
  • Save a new snapshot on each run and compare the rows yourself to see how a leaderboard changes.

For a small first run, keep the default Solana Smart Money leaderboard and wallet limit of 1. Once you have checked the output, switch chains, categories, or the optional 1D/7D/30D filters for your research.

📦 GMGN wallet data you can extract

Each output item represents one GMGN copytrade wallet. Fields include:

  • walletAddress, chain, sourceRank, sourceUrl, and gmgnWalletUrl
  • traderType, traderTypeLabel, sourceSortBy, and sourceSortDirection
  • lastActiveTimestamp and lastActiveAt
  • realizedProfit1d, realizedProfit7d, and realizedProfit30d
  • pnl1d, pnl7d, pnl30d, winRate1d, winRate7d, and winRate30d
  • transactions, buys, and sells for totals, plus separate fields ending in 1d, 7d, or 30d for each period
  • balance, ethBalance, solBalance, trxBalance, bnbBalance, and monadBalance
  • volume1d, volume7d, volume30d, netInflow1d, netInflow7d, and netInflow30d
  • avgCost1d, avgCost7d, avgCost30d, avgHoldingPeriod1d, avgHoldingPeriod7d, and avgHoldingPeriod30d
  • followCount and remarkCount
  • tags, profile, dailyProfit7d, and pnlBuckets7d

Some optional GMGN fields are empty for some wallets. When GMGN does not expose a value, the Actor returns null for optional scalar fields and empty arrays for lists.

What this Actor does

  • Scrapes GMGN copytrade wallet leaderboards for Solana, BSC, Ethereum, Base, Tron, and Monad.
  • Lets you choose a trader category, such as Smart Money or key opinion leaders and venture investors.
  • Ranks wallets by 7-day realized profit, highest first, by default.
  • Lets you cap saved wallets with maxWallets, to keep first runs small.
  • Adds optional 1D/7D/30D min and max filters for PnL, realized profit, win rate, transactions, volume, net inflow, and average cost.
  • Saves one dataset item for each wallet the run collects.
  • Includes source rank, source URL, GMGN wallet URL, normalized timestamps, profile fields, tags, PnL buckets, and 7-day daily profit when GMGN exposes them.

This Actor is focused on GMGN leaderboard discovery. It does not deep-scrape a submitted wallet portfolio, token holdings, live buy-signal feeds, token holder lists, or rugcheck data.

🚀 How to run the GMGN leaderboard

  1. Choose a Blockchain.
  2. Choose a Trader category.
  3. Keep Wallet limit at 1 for a small test, or raise it to get more wallets. Leave it empty to return all available wallets until the source is exhausted. The source may have fewer matching wallets.
  4. Check Sort by and Sort direction. The default ranks wallets by 7-day realized profit, highest first.
  5. Optional: add 1D/7D/30D filters for PnL, profit, win rate, transactions, volume, net inflow, or average cost.
  6. Run the Actor and open the dataset.

Results go to an Apify dataset. You can view it in Apify Console or read it through the Apify API. You can also schedule repeat runs and compare the saved rows yourself.

⚙️ Input

Input fields

FieldTypeWhat it does
chainstringChoose the GMGN chain leaderboard to scrape.
traderTypestringChoose the GMGN wallet group. Use All wallets for the broad leaderboard, or choose a smart-money category for a narrower copytrade wallet list.
maxWalletsintegerMaximum number of wallets to save. Leave empty to return all available wallets until the source is exhausted.
sortBystringMetric used to rank the GMGN wallet leaderboard.
sortDirectionstringUse descending for top wallets by the selected metric, or ascending for the lowest values.
minPnl1dnumberKeep only wallets with at least this 1-day PnL percentage. Leave empty to skip this filter.
maxPnl1dnumberKeep only wallets with at most this 1-day PnL percentage. Leave empty to skip this filter.
minProfit1dnumberKeep only wallets with at least this realized 1-day profit in USD. Leave empty to skip this filter.
maxProfit1dnumberKeep only wallets with at most this realized 1-day profit in USD. Leave empty to skip this filter.
minWinRate1dnumberKeep only wallets with at least this 1-day win rate. Use 40 for 40%. Leave empty to skip this filter.
maxWinRate1dnumberKeep only wallets with at most this 1-day win rate. Use 80 for 80%. Leave empty to skip this filter.
minTxs1dintegerKeep only wallets with at least this many 1-day transactions. Leave empty to skip this filter.
maxTxs1dintegerKeep only wallets with at most this many 1-day transactions. Leave empty to skip this filter.
minVolume1dnumberKeep only wallets with at least this 1-day trading volume in USD. Leave empty to skip this filter.
maxVolume1dnumberKeep only wallets with at most this 1-day trading volume in USD. Leave empty to skip this filter.
minNetInflow1dnumberKeep only wallets with at least this 1-day net inflow in USD. Leave empty to skip this filter.
maxNetInflow1dnumberKeep only wallets with at most this 1-day net inflow in USD. Leave empty to skip this filter.
minAvgCost1dnumberKeep only wallets with at least this 1-day average trade cost in USD. Leave empty to skip this filter.
maxAvgCost1dnumberKeep only wallets with at most this 1-day average trade cost in USD. Leave empty to skip this filter.
minPnl7dnumberKeep only wallets with at least this 7-day PnL percentage. Leave empty to skip this filter.
maxPnl7dnumberKeep only wallets with at most this 7-day PnL percentage. Leave empty to skip this filter.
minProfit7dnumberKeep only wallets with at least this realized 7-day profit in USD. Leave empty to skip this filter.
maxProfit7dnumberKeep only wallets with at most this realized 7-day profit in USD. Leave empty to skip this filter.
minWinRate7dnumberKeep only wallets with at least this 7-day win rate. Use 40 for 40%. Leave empty to skip this filter.
maxWinRate7dnumberKeep only wallets with at most this 7-day win rate. Use 80 for 80%. Leave empty to skip this filter.
minTxs7dintegerKeep only wallets with at least this many 7-day transactions. Leave empty to skip this filter.
maxTxs7dintegerKeep only wallets with at most this many 7-day transactions. Leave empty to skip this filter.
minVolume7dnumberKeep only wallets with at least this 7-day trading volume in USD. Leave empty to skip this filter.
maxVolume7dnumberKeep only wallets with at most this 7-day trading volume in USD. Leave empty to skip this filter.
minNetInflow7dnumberKeep only wallets with at least this 7-day net inflow in USD. Leave empty to skip this filter.
maxNetInflow7dnumberKeep only wallets with at most this 7-day net inflow in USD. Leave empty to skip this filter.
minAvgCost7dnumberKeep only wallets with at least this 7-day average trade cost in USD. Leave empty to skip this filter.
maxAvgCost7dnumberKeep only wallets with at most this 7-day average trade cost in USD. Leave empty to skip this filter.
minPnl30dnumberKeep only wallets with at least this 30-day PnL percentage. Leave empty to skip this filter.
maxPnl30dnumberKeep only wallets with at most this 30-day PnL percentage. Leave empty to skip this filter.
minProfit30dnumberKeep only wallets with at least this realized 30-day profit in USD. Leave empty to skip this filter.
maxProfit30dnumberKeep only wallets with at most this realized 30-day profit in USD. Leave empty to skip this filter.
minWinRate30dnumberKeep only wallets with at least this 30-day win rate. Use 40 for 40%. Leave empty to skip this filter.
maxWinRate30dnumberKeep only wallets with at most this 30-day win rate. Use 80 for 80%. Leave empty to skip this filter.
minTxs30dintegerKeep only wallets with at least this many 30-day transactions. Leave empty to skip this filter.
maxTxs30dintegerKeep only wallets with at most this many 30-day transactions. Leave empty to skip this filter.
minVolume30dnumberKeep only wallets with at least this 30-day trading volume in USD. Leave empty to skip this filter.
maxVolume30dnumberKeep only wallets with at most this 30-day trading volume in USD. Leave empty to skip this filter.
minNetInflow30dnumberKeep only wallets with at least this 30-day net inflow in USD. Leave empty to skip this filter.
maxNetInflow30dnumberKeep only wallets with at most this 30-day net inflow in USD. Leave empty to skip this filter.
minAvgCost30dnumberKeep only wallets with at least this 30-day average trade cost in USD. Leave empty to skip this filter.
maxAvgCost30dnumberKeep only wallets with at most this 30-day average trade cost in USD. Leave empty to skip this filter.

Input example

This is the public input from a successful current-beta run that used the default Solana Smart Money settings. The form starts Maximum 30D transactions at 1000, so clear that field to match this example.

{
"chain": "sol",
"traderType": "smart_degen",
"maxWallets": 1,
"sortBy": "profit_7d",
"sortDirection": "desc"
}

chain selects the GMGN blockchain leaderboard. traderType selects the wallet group. maxWallets controls how many wallet rows are saved. sortBy and sortDirection control the leaderboard order. Optional filters support min and max thresholds across 1D, 7D, and 30D PnL, realized profit, win rate, transactions, volume, net inflow, and average cost. PnL and win rate inputs use percentages, so 40 means 40%.

🧾 Output

Run output link

FieldTypeWhat it does
resultsstringOpens the saved wallet dataset in its overview view.

Wallet row fields

FieldTypeWhat it does
walletAddressstringWallet address on the selected chain.
chainstringBlockchain for this wallet.
sourceRankintegerPosition in the returned GMGN leaderboard.
traderTypestringWallet group used for this leaderboard.
traderTypeLabelstringName of the wallet group.
sourceSortBystringMetric used to sort the leaderboard.
sourceSortDirectionstringSort direction used for the leaderboard.
sourceUrlstringGMGN leaderboard request URL.
gmgnWalletUrlstringGMGN page for this wallet.
lastActiveTimestampnumber or nullLast wallet activity time as a Unix timestamp.
lastActiveAtstring or nullLast wallet activity time in ISO 8601 format.
transactionsintegerTotal transaction count across all periods.
buysintegerTotal buy count across all periods.
sellsintegerTotal sell count across all periods.
realizedProfit1dnumber or nullRealized profit in USD over 1 day.
realizedProfit7dnumber or nullRealized profit in USD over 7 days.
realizedProfit30dnumber or nullRealized profit in USD over 30 days.
pnl1dnumber or nullPnL ratio over 1 day.
pnl7dnumber or nullPnL ratio over 7 days.
pnl30dnumber or nullPnL ratio over 30 days.
winRate1dnumber or nullWin rate ratio over 1 day.
winRate7dnumber or nullWin rate ratio over 7 days.
winRate30dnumber or nullWin rate ratio over 30 days.
transactions1dinteger or nullTransaction count over 1 day.
transactions7dinteger or nullTransaction count over 7 days.
transactions30dinteger or nullTransaction count over 30 days.
buys1dinteger or nullBuy count over 1 day.
buys7dinteger or nullBuy count over 7 days.
buys30dinteger or nullBuy count over 30 days.
sells1dinteger or nullSell count over 1 day.
sells7dinteger or nullSell count over 7 days.
sells30dinteger or nullSell count over 30 days.
avgCost1dnumber or nullAverage trading cost reported by GMGN over 1 day.
avgCost7dnumber or nullAverage trading cost reported by GMGN over 7 days.
avgCost30dnumber or nullAverage trading cost reported by GMGN over 30 days.
volume1dnumber or nullTrading volume in USD over 1 day.
volume7dnumber or nullTrading volume in USD over 7 days.
volume30dnumber or nullTrading volume in USD over 30 days.
netInflow1dnumber or nullNet inflow in USD over 1 day.
netInflow7dnumber or nullNet inflow in USD over 7 days.
netInflow30dnumber or nullNet inflow in USD over 30 days.
avgHoldingPeriod1dnumber or nullAverage holding duration reported by GMGN over 1 day.
avgHoldingPeriod7dnumber or nullAverage holding duration reported by GMGN over 7 days.
avgHoldingPeriod30dnumber or nullAverage holding duration reported by GMGN over 30 days.
balancenumber or nullWallet balance reported by GMGN.
ethBalancenumber or nullETH balance reported by GMGN.
solBalancenumber or nullSOL balance reported by GMGN.
trxBalancenumber or nullTRX balance reported by GMGN.
bnbBalancenumber or nullBNB balance reported by GMGN.
monadBalancenumber or nullMonad balance reported by GMGN.
followCountnumber or nullGMGN tracked count reported by GMGN.
remarkCountnumber or nullGMGN renamed count reported by GMGN.
pnlBuckets7dobjectGMGN PnL distribution counts for seven days.
pnlBuckets7d.belowMinus50Percentnumber or nullCount below minus 50% PnL.
pnlBuckets7d.minus50PercentToBreakevennumber or nullCount from minus 50% PnL to break even.
pnlBuckets7d.below2xnumber or nullCount in the GMGN below 2x bucket.
pnlBuckets7d.between2xAnd5xnumber or nullCount in the GMGN 2x to 5x bucket.
pnlBuckets7d.above5xnumber or nullCount in the GMGN above 5x bucket.
dailyProfit7darray of objectsDated daily profit values from the seven-day history.
dailyProfit7d[].timestampnumberSource Unix timestamp for this day.
dailyProfit7d[].datestring or nullDate in ISO 8601 format.
dailyProfit7d[].profitnumber or nullDaily profit reported by GMGN.
tagsarray of stringsGMGN wallet classification tags.
profileobjectAvailable wallet names and social profile details.
profile.nicknamestring or nullWallet nickname.
profile.namestring or nullWallet name.
profile.avatarUrlstring or nullProfile image URL.
profile.twitterUsernamestring or nullTwitter username.
profile.twitterNamestring or nullTwitter display name.
profile.twitterDescriptionstring or nullTwitter profile description.
profile.twitchChannelNamestring or nullTwitch channel name.

Wallet row example

This complete row came from a successful current-beta run using the default Solana Smart Money input.

{
"walletAddress": "HSeCG7T2KCTuVAARGXZuxBNZg6pas1EdJdjn7Xyy1ENB",
"chain": "sol",
"sourceRank": 1,
"traderType": "smart_degen",
"traderTypeLabel": "Smart Money",
"sourceSortBy": "profit_7d",
"sourceSortDirection": "desc",
"sourceUrl": "https://gmgn.ai/defi/quotation/v1/rank/sol/wallets/7d?orderby=profit&direction=desc&limit=1&tag=smart_degen",
"gmgnWalletUrl": "https://gmgn.ai/sol/address/HSeCG7T2KCTuVAARGXZuxBNZg6pas1EdJdjn7Xyy1ENB",
"lastActiveTimestamp": 1791979505,
"lastActiveAt": "2026-10-14T12:05:05.000Z",
"realizedProfit1d": 3417.349968742037,
"realizedProfit7d": 44740.78828597485,
"realizedProfit30d": 103076.51971168588,
"pnl1d": 0.4135034683110725,
"pnl7d": 0.3531958607085998,
"pnl30d": 0.2982568007524423,
"winRate1d": 0.8333333333333334,
"winRate7d": 0.7792207792207793,
"winRate30d": 0.6981919332406119,
"transactions": 9228,
"transactions1d": 126,
"transactions7d": 1861,
"transactions30d": 3697,
"buys": 5377,
"buys1d": 51,
"buys7d": 1000,
"buys30d": 2105,
"sells": 3851,
"sells1d": 75,
"sells7d": 861,
"sells30d": 1592,
"balance": 609.030944274,
"ethBalance": 609.030944274,
"solBalance": 609.030944274,
"trxBalance": 609.030944274,
"bnbBalance": null,
"monadBalance": 609.030944274,
"followCount": 1563,
"remarkCount": 1464,
"avgCost1d": 153.71504368558706,
"avgCost7d": 122.53900000752506,
"avgCost30d": 153.3532017043059,
"volume1d": 19521.197620648705,
"volume7d": 293639.2875233041,
"volume30d": 749197.2093802402,
"netInflow1d": 0,
"netInflow7d": -28142.8234582063,
"netInflow30d": -26849.08754474225,
"avgHoldingPeriod1d": 158429.97297297296,
"avgHoldingPeriod7d": 97274.76451612903,
"avgHoldingPeriod30d": 1080331.2156368222,
"pnlBuckets7d": {
"belowMinus50Percent": 8,
"minus50PercentToBreakeven": 60,
"below2x": 237,
"between2xAnd5x": 13,
"above5x": 5
},
"dailyProfit7d": [
{
"timestamp": 1791331200,
"date": "2026-10-07T00:00:00.000Z",
"profit": 12310.675319314569
},
{
"timestamp": 1791417600,
"date": "2026-10-08T00:00:00.000Z",
"profit": 3083.2150499094905
},
{
"timestamp": 1791504000,
"date": "2026-10-09T00:00:00.000Z",
"profit": 7357.749351635719
},
{
"timestamp": 1791590400,
"date": "2026-10-10T00:00:00.000Z",
"profit": 5451.847829097474
},
{
"timestamp": 1791676800,
"date": "2026-10-11T00:00:00.000Z",
"profit": 8333.04780647963
},
{
"timestamp": 1791763200,
"date": "2026-10-12T00:00:00.000Z",
"profit": 7182.994375179918
},
{
"timestamp": 1791849600,
"date": "2026-10-13T00:00:00.000Z",
"profit": 10516.360068313383
}
],
"tags": [
"smart_degen",
"arbitrager",
"axiom"
],
"profile": {
"nickname": null,
"name": null,
"avatarUrl": null,
"twitterUsername": null,
"twitterName": null,
"twitterDescription": null,
"twitchChannelName": null
}
}

The exact wallet data changes as GMGN updates its leaderboards.

💳 Pricing

This Actor uses pay-per-event pricing. You pay $0.00375 for each GMGN wallet saved by the Actor, or $3.75 per 1,000 saved wallets. A run that saves no wallets has no wallet charges. Keep the wallet limit small for a test run, then increase it when you are ready to collect more leaderboard rows.

🔌 Integrations

Use Apify schedules for repeat runs, webhooks to start your next step, or the Apify API to read saved wallet rows in your app.

❓ FAQ

Does this scrape a specific wallet portfolio?

No. This Actor scrapes GMGN copytrade wallet leaderboards. It does not accept wallet addresses as targets or return a full token-by-token portfolio for a submitted wallet.

Which blockchains does this Actor cover?

It covers Solana, BSC, Ethereum, Base, Tron, and Monad. Choose one of these six chains in the Blockchain field.

What happens when no wallets match my filters?

The run saves no wallet rows. It writes a warning to the run log that explains the empty result. You pay only for saved wallets.

Why are some fields empty?

GMGN does not expose every optional field for every wallet. Empty optional scalar values are returned as null, and missing lists are returned as empty arrays.

Do I need GMGN cookies or an API key?

No. The Actor is built for public GMGN leaderboard data and does not ask you for GMGN credentials.

Can I use it for recurring smart money monitoring?

Yes, but the comparison is yours. The Actor does not monitor wallets or report changes between runs. Schedule repeat runs on Apify and compare the saved rows over time. Each row includes sourceRank, sourceUrl, and gmgnWalletUrl to help you trace a wallet across runs.

Can I call this GMGN wallet scraper through an API?

Yes. Run the Actor through the Apify API and read its dataset. See the Apify API documentation to learn how to start runs and read datasets. This Actor provides GMGN leaderboard data, not a full GMGN API or a submitted-wallet tracker.

Do I need to host this myself?

No. This Actor runs on the Apify platform. Start it in Apify Console or through the Apify API.

Limits and caveats

GMGN leaderboard data changes often, especially for active wallets and short time windows. Treat each run as a snapshot of the public GMGN leaderboard at the time the Actor ran.

The Actor only returns data exposed by the public GMGN leaderboard response. It does not require your GMGN account, cookies, wallet connection, private API key, or login details. It also does not create trading signals, financial advice, or investment recommendations.

📝 Changelog

v1.0 (14-10-2026)

  • Removed the 1D Profit sort option. Runs that use it are no longer accepted. Pick another sort option, such as 1D Profit and Loss %.
  • API runs must now include chain and traderType. They no longer use Solana and Smart Money when left out.
  • A blank or missing Wallet limit (maxWallets) now saves every matching wallet GMGN returns, up to 500, instead of 1. Enter a number to keep a fixed limit.
  • Saved wallet rows no longer include the scrapeStatus and scrapedAt fields.
  • You can now choose HyperEVM, MegaETH, Robinhood, and X Layer as a Blockchain.
  • Top Dev wallets now get win rates from GMGN's leaderboards where they are listed. Other Top Dev win rates stay empty instead of showing zero.
  • Top Dev runs sorted by a 30-day metric no longer come back empty.
  • Win rates are empty for any period with zero trades, because the rate is unknown.
  • Last active time is empty when GMGN reports no time, instead of showing 1970.
  • A run that reaches its time limit now ends cleanly, with the wallets it already saved.
  • A run that reaches its time limit before saving any wallet now ends with a clear warning, unless some wallet reads also failed.
  • In the form, the Maximum 30D transactions field starts at 1000. Wallets with more than 1000 30-day transactions are left out unless you raise the number or clear the field. Wallets with an unknown count are left out unless you clear the field.
  • Output table columns use plainer names, such as Realized profit (1 day).
  • Wallet scans run faster by default.

v0.2

  • Added 1D, 7D, and 30D min/max filters for PnL, profit, win rate, transactions, volume, net inflow, and average cost.
  • Lowered wallet pricing to $0.00375 per saved wallet.

v0.1

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré