GMGN CopyTrade Wallet Scraper
Pricing
from $5.00 / 1,000 wallet scrapeds
GMGN CopyTrade Wallet Scraper
Scrape GMGN.ai copytrade wallet leaderboards across Solana, ETH, BSC, Base, Tron, and Monad. Export PnL, win rates, volume, tags, and wallet URLs.
Pricing
from $5.00 / 1,000 wallet scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Scrape public GMGN.ai copytrade wallet leaderboards into one structured row per wallet. Choose a chain and trader category, sort by profit, PnL, win rate, volume, or activity, and export wallet addresses with realized profit, win rates, transaction counts, volume, tags, and GMGN profile links.
Built for copytrade research, smart-money screens, and MCP agents that need a bounded, billable wallet list from the public GMGN wallets rank API.
What you get
| Field | Description |
|---|---|
walletAddress | Public wallet address from the GMGN rank API |
chain | sol, eth, bsc, base, tron, or monad |
traderType / traderTypeLabel | Category such as Smart Money, KOL/VC, Sniper, Fresh Wallet |
realizedProfit1d/7d/30d | Realized profit in USD for each window |
pnl1d/7d/30d | PnL ratio (GMGN fraction, e.g. 0.42 = 42%) |
winRate1d/7d/30d | Win rate as a 0–1 fraction |
transactions*, buys*, sells* | Activity counters by window |
volume*, netInflow* | Volume and net inflow in USD |
tags, profile | GMGN tags plus optional Twitter/Twitch display fields |
gmgnWalletUrl | Canonical GMGN address page for the wallet |
sourceRank, sourceUrl, scrapedAt | Leaderboard rank, list URL, and scrape time |
Why this Actor
- Public GMGN copytrade rank API only — no GMGN login, cookie, or private portfolio scrape.
- Six chains and the main trader tags GMGN exposes on the wallets rank endpoint.
- Client-side filters (min profit, win rate, txs, volume) after fetch so you can tighten a screen without re-querying.
- Cloudflare-aware routing: Apify UNBLOCKER first, then RESIDENTIAL, so the Actor can reach the public JSON API reliably.
Best fit
- Build a Solana Smart Money or KOL watchlist sorted by 7D profit.
- Screen snipers or fresh wallets by win rate and volume floors.
- Feed a copytrade bot or research notebook with addresses + GMGN URLs.
This Actor is designed for the public wallets rank payload. For live DEX pair price, liquidity, and volume screens after you have wallet addresses, continue with Dexscreener Realtime Monitor. For broader multi-asset spot quotes, start with Crypto Price Tracker.
Practical scenario
A researcher runs Solana + Smart Money + profit_7d + maxWallets: 10. The Actor pages the public rank API (100 wallets per page) through Unblocker, normalizes each row, and charges $0.005 once per saved wallet. Filters such as minWinRate7d: 40 drop weak rows before billing. If every proxy route returns challenge HTML instead of JSON, the Actor reports UPSTREAM_FAILED with zero wallet charges.
Quick start input
{"chain": "sol","traderType": "smart_degen","sortBy": "profit_7d","sortDirection": "desc","maxWallets": 10,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["UNBLOCKER"]}}
Input reference
| Field | Type | What it controls |
|---|---|---|
chain | enum (required) | sol, eth, bsc, base, tron, monad |
traderType | enum | all, smart_degen, pump_smart, launchpad_smart, kol, fresh_wallet, sniper, top_tracked, top_renamed, top_dev, live |
sortBy | enum | Profit / PnL / winrate / txs / volume / net_inflow windows, plus last_active, balance, tracked, renamed |
sortDirection | enum | desc (default) or asc |
maxWallets | integer | Cap 1–500. Page size is 100; offset stops at 1000. |
minProfit7d, minWinRate7d, … | number | Optional filters. Win rate and PnL thresholds are percentages (40 = 40%). |
proxyConfiguration | object | Prefer UNBLOCKER. Actor also tries RESIDENTIAL if needed. |
Example output row
{"walletAddress": "ExampleSolWallet111111111111111111111111111","chain": "sol","sourceRank": 1,"traderType": "smart_degen","traderTypeLabel": "Smart Money","sourceSortBy": "profit_7d","sourceSortDirection": "desc","realizedProfit7d": 125000.5,"pnl7d": 0.82,"winRate7d": 0.61,"transactions7d": 140,"volume7d": 890000,"tags": ["smart_degen"],"gmgnWalletUrl": "https://gmgn.ai/sol/address/ExampleSolWallet111111111111111111111111111","scrapeStatus": "ok","scrapedAt": "2026-09-22T10:00:00.000Z"}
OUTPUT and RUN_SUMMARY in the key-value store include outcome, itemsPushed, pagesFetched, route, and chargedEventCounts.
Cloudflare / Unblocker note
GMGN sits behind Cloudflare. This Actor defaults to Apify UNBLOCKER (rejectUnauthorized: false via undici ProxyAgent) and falls back to RESIDENTIAL. Platform Unblocker usage is billed to the run under platform-usage pass-through — keep maxWallets small while testing. When every route returns a challenge page, the Actor reports UPSTREAM_FAILED rather than inventing wallets.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~gmgn-copytrade-wallet-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"chain":"sol","traderType":"smart_degen","sortBy":"profit_7d","maxWallets":10}'
Download rows as JSON, CSV, Excel, or HTML from the Dataset tab.
Use with AI agents through Apify MCP
Scrape the top 10 Solana Smart Money wallets on GMGN sorted by 7D profit. Return walletAddress, realizedProfit7d, winRate7d, volume7d, tags, and gmgnWalletUrl.
Connect via https://mcp.apify.com. Tool name follows apify--gmgn-copytrade-wallet-scraper. Read OUTPUT.outcome and itemsPushed. Cost signal: about $0.005 per saved wallet plus platform usage (including Unblocker).
Pricing
Pay per event plus Apify platform usage (caller-paid). The live Pricing tab is the source of truth.
| Event | Price |
|---|---|
apify-actor-start | $0.00005 per run (scaled by memory) |
wallet-scraped | $0.005 per dataset wallet row |
Example: 10 wallets ≈ $0.05 in result events + Unblocker/compute usage. Invalid input and total upstream blocks leave wallet-scraped unbilled.
How it works
- Normalize chain, trader tag, sort metric, and
maxWallets. - Call
GET /defi/quotation/v1/rank/{chain}/wallets/7dwith tag/orderby/limit/offset. - Prefer Unblocker, then Residential; parse
data.rankJSON. - Normalize fields, apply optional filters,
Actor.charge('wallet-scraped'), thenpushData. - Write
OUTPUT/RUN_SUMMARYwithCOMPLETE,PARTIAL,VALID_EMPTY,INVALID_INPUT, orUPSTREAM_FAILED.
Best results
- Keep
maxWallets≤ 25 for first runs until Unblocker billing looks right. - Leave proxy on Unblocker; that is the reliable path past Cloudflare for this source.
- Enter win-rate filters as percentages (40), not fractions (0.4).
- Empty leaderboard after filters →
VALID_EMPTYwith zero wallet charges.
Builder's note
I built this around GMGN's public wallets rank JSON because it already carries the copytrade leaderboard fields most agents need. In my testing, bare Residential requests often returned Cloudflare challenge HTML; Unblocker with TLS verification relaxed for the proxy hop was the path that returned real code: 0 payloads. Caps stay explicit (100/page, offset ≤ 1000, max 500 wallets) so a single run stays bounded.
Legal and responsible use
Use this Actor only on public GMGN leaderboard data you are authorized to process. Follow applicable law and GMGN's terms. GMGN is a third-party brand. This independent Actor is not affiliated with, associated with, or endorsed by GMGN. Keep output use lawful and within exchange or platform rules.
Issues and feature requests: use the Actor Issues tab on Apify.