# GMGN CopyTrade Wallet Scraper (`parsebird/gmgn-copytrade-wallet-scraper`) Actor

Scrape GMGN.ai copytrade wallet leaderboards across Solana, Ethereum, BSC, Base, Tron, and Monad. Extract wallet PnL, win rates, realized profit, transactions, balances, tags, and social profiles. Filter by trader type, sort by any metric. Export JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/gmgn-copytrade-wallet-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.20 / 1,000 wallet scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### GMGN CopyTrade Wallet Scraper — Crypto Wallet PnL & Win Rate Data

Scrape [GMGN.ai](https://gmgn.ai/) copytrade wallet leaderboards across Solana, Ethereum, BSC, Base, Tron, and Monad. Extract wallet PnL, win rates, realized profit, transaction counts, balances, tags, and social profiles. Filter by trader category, sort by any metric, and export as JSON, CSV, or Excel.

<table><tr>
<td style="border-left:4px solid #1C1917;padding:12px 16px;font-weight:600">
Extract 60+ data fields per wallet from GMGN.ai copytrade leaderboards — PnL, win rates, realized profit, buy/sell counts, volume, net inflow, holding periods, tags, Twitter profiles, and daily profit breakdowns across 6 blockchains and 11 trader categories.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

````

Apify Actor: parsebird/gmgn-copytrade-wallet-scraper — scrapes GMGN.ai copytrade wallet leaderboards. $0.005/wallet ($5/1000). Call via ApifyClient: client.actor("parsebird/gmgn-copytrade-wallet-scraper").call(run\_input={"chain": "sol", "traderType": "smart\_degen", "sortBy": "profit\_7d", "sortDirection": "desc", "maxWallets": 25}). Inputs: chain (string, sol/eth/bsc/base/tron/monad), traderType (string, all/smart\_degen/launchpad\_smart/smart\_money/kol/fresh\_wallet/sniper/top\_followed/top\_renamed/top\_dev/live), sortBy (string, profit\_7d/pnl\_7d/winrate\_7d/txs\_7d/volume\_7d etc.), sortDirection (desc/asc), maxWallets (integer, default 100). Output: dataset with wallet\_address, realized\_profit\_7d, pnl\_7d, winrate\_7d, txs, balance, tags, name, twitter\_username, daily\_profit\_7d, scrapedAt. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations

````

### What does GMGN CopyTrade Wallet Scraper do?

[GMGN.ai](https://gmgn.ai/) is a multi-chain on-chain analytics and trading platform used by crypto traders to track smart money wallets, run copy-trade strategies, and find early signals. The GMGN CopyTrade Wallet Scraper extracts wallet data from GMGN's copytrade leaderboard, giving you structured data on the most profitable wallets across multiple blockchains.

**Key features:**

- 🔗 **6 blockchains** — Solana, Ethereum, BSC, Base, Tron, and Monad
- 👛 **11 trader categories** — All, Pump SM, Launchpad SM, Smart Money, KOL/VC, Fresh Wallet, Sniper, Top Tracked, Top Renamed, Top Dev, LIVE
- 📊 **22 sorting metrics** — PnL, realized profit, win rate, transactions, volume, net inflow (1D/7D/30D), last active, balance, tracked count, renamed count
- 🔍 **Advanced filters** — Set min/max thresholds on PnL, profit, win rate, transaction count, volume, net inflow, and average cost across 1D, 7D, and 30D time windows
- 📦 **60+ data fields per wallet** — Complete wallet profile including PnL distribution, daily profit breakdown, holding periods, social profiles, and tags
- ⚡ **Fast API-based extraction** — No browser needed, lightweight and cost-efficient
- 📅 **Schedule and automate** — Run on a schedule via [Apify's scheduling](https://docs.apify.com/platform/schedules) to track wallet performance over time
- 🔌 **Integrations** — Connect to Google Sheets, Slack, Zapier, Make, and [more](https://docs.apify.com/platform/integrations)

### What data can you extract from GMGN.ai?

| Field | Description |
|-------|-------------|
| `wallet_address` | Wallet address (Solana base58 or EVM hex) |
| `name` | Display name from GMGN profile |
| `tags` | Wallet tags (e.g. smart_money, sniper, wash_trader) |
| `realized_profit_1d/7d/30d` | Realized profit in USD over 1, 7, or 30 days |
| `pnl_1d/7d/30d` | PnL percentage over 1, 7, or 30 days |
| `winrate_1d/7d/30d` | Win rate (0–1) over 1, 7, or 30 days |
| `buy/sell` | Total buy and sell counts |
| `txs/txs_1d/txs_7d/txs_30d` | Transaction counts (total and per period) |
| `balance` | Current wallet balance |
| `volume_1d/7d/30d` | Trading volume in USD |
| `net_inflow_1d/7d/30d` | Net inflow in USD |
| `avg_cost_1d/7d/30d` | Average cost per trade |
| `avg_holding_period_1d/7d/30d` | Average holding period in seconds |
| `daily_profit_7d` | Array of daily profit objects (timestamp + profit) |
| `twitter_username` / `twitter_name` | Twitter/X profile info |
| `follow_count` / `remark_count` | GMGN tracked and renamed counts |
| `scrapedAt` | ISO timestamp of when the data was collected |

This is a subset of the 60+ fields returned. The full output includes buy/sell counts per period, PnL distribution buckets, Twitch info, avatar URLs, and more.

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `chain` | string | **Yes** | `sol` | Blockchain: `sol`, `eth`, `bsc`, `base`, `tron`, `monad` |
| `traderType` | string | No | `smart_degen` | Trader category: `all`, `smart_degen`, `launchpad_smart`, `smart_money`, `kol`, `fresh_wallet`, `sniper`, `top_followed`, `top_renamed`, `top_dev`, `live` |
| `sortBy` | string | No | `profit_7d` | Sort metric: `profit_7d`, `pnl_7d`, `winrate_7d`, `txs_7d`, etc. (22 options) |
| `sortDirection` | string | No | `desc` | `desc` (highest first) or `asc` (lowest first) |
| `maxWallets` | integer | No | 100 | Maximum wallets to scrape (1–500) |
| `min_pnl_7d` | number | No | — | Minimum 7D PnL (%) |
| `min_profit_7d` | number | No | — | Minimum 7D realized profit (USD) |
| `min_winrate_7d` | number | No | — | Minimum 7D win rate (%) |
| `min_txs_7d` | integer | No | — | Minimum 7D transaction count |
| `proxyConfiguration` | object | No | Apify Proxy | Proxy settings (residential recommended) |

Additional filter parameters are available for 1D, 7D, and 30D metrics (min/max for PnL, profit, win rate, transactions, volume, net inflow) and average cost. See the [Input tab](https://apify.com/parsebird/gmgn-copytrade-wallet-scraper/input-schema) for all options.

### Output example

```json
{
    "wallet_address": "BAr5csYtpWoNpwhUjixX7ZPHXkUciFZzjBp9uNxZXJPh",
    "address": "BAr5csYtpWoNpwhUjixX7ZPHXkUciFZzjBp9uNxZXJPh",
    "last_active": 1772863129,
    "realized_profit_7d": "4909.52803841827237709189",
    "realized_profit_30d": "88531.11566588015980262115",
    "pnl_7d": "0.1100850083282489",
    "pnl_30d": "0.2716767642135354",
    "buy_7d": 682,
    "sell_7d": 184,
    "txs": 866,
    "txs_7d": 866,
    "balance": "505.223537101",
    "sol_balance": "505.223537101",
    "follow_count": 9572,
    "remark_count": 8202,
    "twitter_username": "jackduval",
    "name": "Jack Duval🌊",
    "tags": ["axiom", "top_followed", "top_renamed", "wash_trader"],
    "winrate_7d": 0.651685393258427,
    "avg_cost_7d": "62.5771390771699413",
    "avg_holding_period_7d": 43603.90476190476,
    "volume_7d": "87114.30080467576",
    "net_inflow_7d": "2322.79083484107",
    "daily_profit_7d": [
        {"timestamp": 1772236800, "profit": "-1143.83566675172"},
        {"timestamp": 1772323200, "profit": "-86.14215181185084996117"},
        {"timestamp": 1772409600, "profit": "184.68177453866977178881"},
        {"timestamp": 1772496000, "profit": "781.21015649463323454402"},
        {"timestamp": 1772582400, "profit": "1121.36173100064572238445"}
    ],
    "scrapedAt": "2026-06-01T12:00:00.000000+00:00"
}
````

Download results in JSON, CSV, Excel, or access via the [Apify API](https://docs.apify.com/api/v2).

### How to scrape GMGN copytrade wallets

1. **Go to GMGN CopyTrade Wallet Scraper** on [Apify Store](https://apify.com/parsebird/gmgn-copytrade-wallet-scraper) and click **Try for free**
2. **Select a blockchain** — Choose from Solana, Ethereum, BSC, Base, Tron, or Monad
3. **Pick a trader category** — Filter by Smart Money, KOL/VC, Sniper, Fresh Wallet, or any of the 11 categories
4. **Choose your sort metric** — Sort by 7D Realized Profit, PnL, Win Rate, or any of the 22 available metrics
5. **Set filters (optional)** — Apply min/max thresholds on PnL, profit, win rate, transaction count, and more
6. **Set wallet limit** — Start with 25 for a quick test, increase to 500 for full leaderboard exports
7. **Run the scraper** — Click **Start** and wait for results
8. **Export your data** — Download as JSON, CSV, or Excel, or access via API

### How to use via API — Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("parsebird/gmgn-copytrade-wallet-scraper").call(run_input={
    "chain": "sol",
    "traderType": "smart_degen",
    "sortBy": "profit_7d",
    "sortDirection": "desc",
    "maxWallets": 25,
})

for wallet in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{wallet.get('name', 'Unknown')} — 7D PnL: {wallet.get('pnl_7d')} — Win Rate: {wallet.get('winrate_7d')}")
```

### How to use via API — JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('parsebird/gmgn-copytrade-wallet-scraper').call({
    chain: 'sol',
    traderType: 'smart_degen',
    sortBy: 'profit_7d',
    sortDirection: 'desc',
    maxWallets: 25,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(wallet => {
    console.log(`${wallet.name || 'Unknown'} — 7D PnL: ${wallet.pnl_7d} — Win Rate: ${wallet.winrate_7d}`);
});
```

### Use cases

- **Copy-trade research** — Identify the most profitable wallets on GMGN.ai and analyze their trading patterns before setting up copy-trade strategies
- **Smart money tracking** — Monitor smart money, KOL, and sniper wallets to detect early signals and trending tokens
- **Wallet performance benchmarking** — Compare wallet PnL, win rates, and holding periods across different trader categories and blockchains
- **Risk assessment** — Evaluate wallet risk profiles using PnL distribution buckets, average cost, and holding period data
- **Market research** — Analyze trading activity across Solana, Ethereum, BSC, Base, Tron, and Monad to identify cross-chain trends
- **Data science and analytics** — Build datasets of crypto wallet performance for backtesting, modeling, and quantitative research
- **Portfolio monitoring** — Schedule regular runs to track how top wallets perform over time using [Apify Schedules](https://docs.apify.com/platform/schedules)
- **Trading bot development** — Feed wallet performance data into automated trading systems or alerting pipelines

### How much does it cost to scrape GMGN.ai?

GMGN CopyTrade Wallet Scraper uses [pay-per-event pricing](https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event) — you pay per wallet scraped, not for platform compute time.

**How much does it cost to scrape 1,000 GMGN wallets?**

$5.00. Each wallet costs $0.005. New users get a free trial with $5 of platform credit.

**How much does it cost to scrape 100 GMGN wallets?**

$0.50. A quick leaderboard export for one blockchain and trader category.

### Pricing

| Event | Price per event | Price per 1,000 |
|-------|----------------|-----------------|
| `wallet-scraped` | $0.005 | **$5.00** |

Each wallet pushed to the dataset counts as one event. Apify platform usage (compute, proxy) is included in the event price.

Typical costs:

- 25 wallets (quick test): ~$0.13
- 100 wallets (one leaderboard): ~$0.50
- 500 wallets (full export): ~$2.50
- 1,000 wallets (multiple categories): ~$5.00

### Is it legal to scrape GMGN.ai?

This Actor extracts publicly available data from [GMGN.ai](https://gmgn.ai/) — the same data any browser user can see on the copytrade wallet leaderboard. No login or authentication is used. The scraper accesses only public API endpoints that serve the leaderboard data.

Web scraping of publicly available data is generally legal in the United States and the European Union, as established by the [hiQ Labs v. LinkedIn ruling](https://en.wikipedia.org/wiki/HiQ_Labs_v._LinkedIn). For more information, see Apify's guide on [the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

Users are responsible for ensuring their use of extracted data complies with applicable laws and GMGN.ai's Terms of Service in their jurisdiction.

### Related Actors

Looking for more crypto and blockchain data? Check out these ParseBird actors:

- [Polymarket Leaderboard Scraper](https://apify.com/parsebird/polymarket-scraper) — Scrape top traders from Polymarket prediction markets
- [Polymarket Market Scraper](https://apify.com/parsebird/polymarket-market-scraper) — Extract market data, odds, and liquidity from Polymarket
- [Substack Leaderboard Scraper](https://apify.com/parsebird/substack-leaderboard-scraper) — Scrape top Substack newsletters by category

Browse all [ParseBird actors on Apify Store](https://apify.com/parsebird).

### FAQ

**What blockchains does this scraper support?**
GMGN CopyTrade Wallet Scraper supports Solana (SOL), Ethereum (ETH), BNB Smart Chain (BSC), Base, Tron (TRX), and Monad. Select the blockchain in the `chain` input parameter.

**What trader categories are available?**
All, Pump SM (Smart Money on Pump.fun), Launchpad SM, Smart Money, KOL/VC, Fresh Wallet, Sniper, Top Tracked, Top Renamed, Top Dev, and LIVE. These match the categories on GMGN.ai's copytrade page.

**How many wallets can I scrape?**
Up to 500 wallets per run. Set the `maxWallets` parameter. Start with 25 for testing, then increase for production runs.

**Can I filter wallets by PnL or win rate?**
Yes. Use the advanced filter parameters to set minimum and maximum thresholds on PnL (%), realized profit (USD), win rate (%), transaction count, volume (USD), net inflow (USD), and average cost — across 1D, 7D, and 30D time windows.

**Can I schedule recurring runs?**
Yes. Use [Apify Schedules](https://docs.apify.com/platform/schedules) to run daily, weekly, or at any interval. Track wallet performance changes over time by comparing datasets between runs.

**Can I access the data via API?**
Yes. Use the [Apify API](https://docs.apify.com/api/v2) or the official [Python](https://docs.apify.com/api/client/python) and [JavaScript](https://docs.apify.com/api/client/js) client libraries to run the scraper and retrieve results programmatically.

**Does it require a GMGN.ai account?**
No. This scraper accesses publicly available leaderboard data. No GMGN.ai login or API key is needed.

**What export formats are supported?**
JSON, CSV, Excel (XLSX), XML, HTML, and RSS. Download directly from the Apify Console or via the API.

**Is there a free trial?**
Yes. New Apify users get $5 of free platform credit, which covers approximately 1,000 wallets.

**I found an issue or have a feature request.**
Open an issue on the [Issues tab](https://apify.com/parsebird/gmgn-copytrade-wallet-scraper/issues) or contact ParseBird via the Apify Console.

# Actor input Schema

## `chain` (type: `string`):

Blockchain network to scan for copytrade wallets.

## `traderType` (type: `string`):

GMGN wallet category. Use 'All' for the full leaderboard or pick a smart-money category for a narrower list.

## `sortBy` (type: `string`):

Ranking metric to sort wallets by.

## `sortDirection` (type: `string`):

Sort order: descending (highest first) or ascending (lowest first).

## `maxWallets` (type: `integer`):

Maximum number of wallets to scrape. Start low (25) for a quick test, then increase for larger exports.

## `min_pnl_7d` (type: `number`):

Minimum 7-day PnL percentage.

## `max_pnl_7d` (type: `number`):

Maximum 7-day PnL percentage.

## `min_profit_7d` (type: `number`):

Minimum 7-day realized profit in USD.

## `max_profit_7d` (type: `number`):

Maximum 7-day realized profit in USD.

## `min_winrate_7d` (type: `number`):

Minimum 7-day win rate percentage (0–100).

## `max_winrate_7d` (type: `number`):

Maximum 7-day win rate percentage (0–100).

## `min_txs_7d` (type: `integer`):

Minimum 7-day transaction count.

## `max_txs_7d` (type: `integer`):

Maximum 7-day transaction count.

## `min_volume_7d` (type: `number`):

Minimum 7-day trading volume in USD.

## `max_volume_7d` (type: `number`):

Maximum 7-day trading volume in USD.

## `min_netflow_7d` (type: `number`):

Minimum 7-day net inflow in USD.

## `max_netflow_7d` (type: `number`):

Maximum 7-day net inflow in USD.

## `min_pnl_1d` (type: `number`):

Minimum 1-day PnL percentage.

## `max_pnl_1d` (type: `number`):

Maximum 1-day PnL percentage.

## `min_profit_1d` (type: `number`):

Minimum 1-day realized profit in USD.

## `max_profit_1d` (type: `number`):

Maximum 1-day realized profit in USD.

## `min_winrate_1d` (type: `number`):

Minimum 1-day win rate percentage (0–100).

## `max_winrate_1d` (type: `number`):

Maximum 1-day win rate percentage (0–100).

## `min_txs_1d` (type: `integer`):

Minimum 1-day transaction count.

## `max_txs_1d` (type: `integer`):

Maximum 1-day transaction count.

## `min_volume_1d` (type: `number`):

Minimum 1-day trading volume in USD.

## `max_volume_1d` (type: `number`):

Maximum 1-day trading volume in USD.

## `min_netflow_1d` (type: `number`):

Minimum 1-day net inflow in USD.

## `max_netflow_1d` (type: `number`):

Maximum 1-day net inflow in USD.

## `min_pnl_30d` (type: `number`):

Minimum 30-day PnL percentage.

## `max_pnl_30d` (type: `number`):

Maximum 30-day PnL percentage.

## `min_profit_30d` (type: `number`):

Minimum 30-day realized profit in USD.

## `max_profit_30d` (type: `number`):

Maximum 30-day realized profit in USD.

## `min_winrate_30d` (type: `number`):

Minimum 30-day win rate percentage (0–100).

## `max_winrate_30d` (type: `number`):

Maximum 30-day win rate percentage (0–100).

## `min_txs_30d` (type: `integer`):

Minimum 30-day transaction count.

## `max_txs_30d` (type: `integer`):

Maximum 30-day transaction count.

## `min_volume_30d` (type: `number`):

Minimum 30-day trading volume in USD.

## `max_volume_30d` (type: `number`):

Maximum 30-day trading volume in USD.

## `min_netflow_30d` (type: `number`):

Minimum 30-day net inflow in USD.

## `max_netflow_30d` (type: `number`):

Maximum 30-day net inflow in USD.

## `min_avg_cost` (type: `number`):

Minimum average cost per trade in USD.

## `max_avg_cost` (type: `number`):

Maximum average cost per trade in USD.

## `proxyConfiguration` (type: `object`):

Proxy settings. Residential proxies are recommended for reliable scraping of GMGN.ai.

## Actor input object example

```json
{
  "chain": "sol",
  "traderType": "smart_degen",
  "sortBy": "profit_7d",
  "sortDirection": "desc",
  "maxWallets": 25,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "chain": "sol",
    "traderType": "smart_degen",
    "sortBy": "profit_7d",
    "sortDirection": "desc",
    "maxWallets": 25,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/gmgn-copytrade-wallet-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "chain": "sol",
    "traderType": "smart_degen",
    "sortBy": "profit_7d",
    "sortDirection": "desc",
    "maxWallets": 25,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/gmgn-copytrade-wallet-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "chain": "sol",
  "traderType": "smart_degen",
  "sortBy": "profit_7d",
  "sortDirection": "desc",
  "maxWallets": 25,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parsebird/gmgn-copytrade-wallet-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parsebird/gmgn-copytrade-wallet-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "GMGN CopyTrade Wallet Scraper",
        "description": "Scrape GMGN.ai copytrade wallet leaderboards across Solana, Ethereum, BSC, Base, Tron, and Monad. Extract wallet PnL, win rates, realized profit, transactions, balances, tags, and social profiles. Filter by trader type, sort by any metric. Export JSON, CSV, Excel.",
        "version": "1.0",
        "x-build-id": "5aZPXeDetdHND80bD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parsebird~gmgn-copytrade-wallet-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parsebird-gmgn-copytrade-wallet-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parsebird~gmgn-copytrade-wallet-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parsebird-gmgn-copytrade-wallet-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parsebird~gmgn-copytrade-wallet-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parsebird-gmgn-copytrade-wallet-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "chain"
                ],
                "properties": {
                    "chain": {
                        "title": "Blockchain",
                        "enum": [
                            "sol",
                            "eth",
                            "bsc",
                            "base",
                            "tron",
                            "monad"
                        ],
                        "type": "string",
                        "description": "Blockchain network to scan for copytrade wallets.",
                        "default": "sol"
                    },
                    "traderType": {
                        "title": "Trader Type",
                        "enum": [
                            "all",
                            "smart_degen",
                            "launchpad_smart",
                            "smart_money",
                            "kol",
                            "fresh_wallet",
                            "sniper",
                            "top_followed",
                            "top_renamed",
                            "top_dev",
                            "live"
                        ],
                        "type": "string",
                        "description": "GMGN wallet category. Use 'All' for the full leaderboard or pick a smart-money category for a narrower list.",
                        "default": "smart_degen"
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "profit_1d",
                            "profit_7d",
                            "profit_30d",
                            "pnl_1d",
                            "pnl_7d",
                            "pnl_30d",
                            "winrate_1d",
                            "winrate_7d",
                            "winrate_30d",
                            "txs_1d",
                            "txs_7d",
                            "txs_30d",
                            "volume_1d",
                            "volume_7d",
                            "volume_30d",
                            "netflow_1d",
                            "netflow_7d",
                            "netflow_30d",
                            "last_active",
                            "balance",
                            "follow_count",
                            "remark_count"
                        ],
                        "type": "string",
                        "description": "Ranking metric to sort wallets by.",
                        "default": "profit_7d"
                    },
                    "sortDirection": {
                        "title": "Sort Direction",
                        "enum": [
                            "desc",
                            "asc"
                        ],
                        "type": "string",
                        "description": "Sort order: descending (highest first) or ascending (lowest first).",
                        "default": "desc"
                    },
                    "maxWallets": {
                        "title": "Maximum Wallets",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of wallets to scrape. Start low (25) for a quick test, then increase for larger exports.",
                        "default": 100
                    },
                    "min_pnl_7d": {
                        "title": "Min 7D PnL (%)",
                        "type": "number",
                        "description": "Minimum 7-day PnL percentage."
                    },
                    "max_pnl_7d": {
                        "title": "Max 7D PnL (%)",
                        "type": "number",
                        "description": "Maximum 7-day PnL percentage."
                    },
                    "min_profit_7d": {
                        "title": "Min 7D Profit (USD)",
                        "type": "number",
                        "description": "Minimum 7-day realized profit in USD."
                    },
                    "max_profit_7d": {
                        "title": "Max 7D Profit (USD)",
                        "type": "number",
                        "description": "Maximum 7-day realized profit in USD."
                    },
                    "min_winrate_7d": {
                        "title": "Min 7D Win Rate (%)",
                        "type": "number",
                        "description": "Minimum 7-day win rate percentage (0–100)."
                    },
                    "max_winrate_7d": {
                        "title": "Max 7D Win Rate (%)",
                        "type": "number",
                        "description": "Maximum 7-day win rate percentage (0–100)."
                    },
                    "min_txs_7d": {
                        "title": "Min 7D Transactions",
                        "type": "integer",
                        "description": "Minimum 7-day transaction count."
                    },
                    "max_txs_7d": {
                        "title": "Max 7D Transactions",
                        "type": "integer",
                        "description": "Maximum 7-day transaction count."
                    },
                    "min_volume_7d": {
                        "title": "Min 7D Volume (USD)",
                        "type": "number",
                        "description": "Minimum 7-day trading volume in USD."
                    },
                    "max_volume_7d": {
                        "title": "Max 7D Volume (USD)",
                        "type": "number",
                        "description": "Maximum 7-day trading volume in USD."
                    },
                    "min_netflow_7d": {
                        "title": "Min 7D Net Inflow (USD)",
                        "type": "number",
                        "description": "Minimum 7-day net inflow in USD."
                    },
                    "max_netflow_7d": {
                        "title": "Max 7D Net Inflow (USD)",
                        "type": "number",
                        "description": "Maximum 7-day net inflow in USD."
                    },
                    "min_pnl_1d": {
                        "title": "Min 1D PnL (%)",
                        "type": "number",
                        "description": "Minimum 1-day PnL percentage."
                    },
                    "max_pnl_1d": {
                        "title": "Max 1D PnL (%)",
                        "type": "number",
                        "description": "Maximum 1-day PnL percentage."
                    },
                    "min_profit_1d": {
                        "title": "Min 1D Profit (USD)",
                        "type": "number",
                        "description": "Minimum 1-day realized profit in USD."
                    },
                    "max_profit_1d": {
                        "title": "Max 1D Profit (USD)",
                        "type": "number",
                        "description": "Maximum 1-day realized profit in USD."
                    },
                    "min_winrate_1d": {
                        "title": "Min 1D Win Rate (%)",
                        "type": "number",
                        "description": "Minimum 1-day win rate percentage (0–100)."
                    },
                    "max_winrate_1d": {
                        "title": "Max 1D Win Rate (%)",
                        "type": "number",
                        "description": "Maximum 1-day win rate percentage (0–100)."
                    },
                    "min_txs_1d": {
                        "title": "Min 1D Transactions",
                        "type": "integer",
                        "description": "Minimum 1-day transaction count."
                    },
                    "max_txs_1d": {
                        "title": "Max 1D Transactions",
                        "type": "integer",
                        "description": "Maximum 1-day transaction count."
                    },
                    "min_volume_1d": {
                        "title": "Min 1D Volume (USD)",
                        "type": "number",
                        "description": "Minimum 1-day trading volume in USD."
                    },
                    "max_volume_1d": {
                        "title": "Max 1D Volume (USD)",
                        "type": "number",
                        "description": "Maximum 1-day trading volume in USD."
                    },
                    "min_netflow_1d": {
                        "title": "Min 1D Net Inflow (USD)",
                        "type": "number",
                        "description": "Minimum 1-day net inflow in USD."
                    },
                    "max_netflow_1d": {
                        "title": "Max 1D Net Inflow (USD)",
                        "type": "number",
                        "description": "Maximum 1-day net inflow in USD."
                    },
                    "min_pnl_30d": {
                        "title": "Min 30D PnL (%)",
                        "type": "number",
                        "description": "Minimum 30-day PnL percentage."
                    },
                    "max_pnl_30d": {
                        "title": "Max 30D PnL (%)",
                        "type": "number",
                        "description": "Maximum 30-day PnL percentage."
                    },
                    "min_profit_30d": {
                        "title": "Min 30D Profit (USD)",
                        "type": "number",
                        "description": "Minimum 30-day realized profit in USD."
                    },
                    "max_profit_30d": {
                        "title": "Max 30D Profit (USD)",
                        "type": "number",
                        "description": "Maximum 30-day realized profit in USD."
                    },
                    "min_winrate_30d": {
                        "title": "Min 30D Win Rate (%)",
                        "type": "number",
                        "description": "Minimum 30-day win rate percentage (0–100)."
                    },
                    "max_winrate_30d": {
                        "title": "Max 30D Win Rate (%)",
                        "type": "number",
                        "description": "Maximum 30-day win rate percentage (0–100)."
                    },
                    "min_txs_30d": {
                        "title": "Min 30D Transactions",
                        "type": "integer",
                        "description": "Minimum 30-day transaction count."
                    },
                    "max_txs_30d": {
                        "title": "Max 30D Transactions",
                        "type": "integer",
                        "description": "Maximum 30-day transaction count."
                    },
                    "min_volume_30d": {
                        "title": "Min 30D Volume (USD)",
                        "type": "number",
                        "description": "Minimum 30-day trading volume in USD."
                    },
                    "max_volume_30d": {
                        "title": "Max 30D Volume (USD)",
                        "type": "number",
                        "description": "Maximum 30-day trading volume in USD."
                    },
                    "min_netflow_30d": {
                        "title": "Min 30D Net Inflow (USD)",
                        "type": "number",
                        "description": "Minimum 30-day net inflow in USD."
                    },
                    "max_netflow_30d": {
                        "title": "Max 30D Net Inflow (USD)",
                        "type": "number",
                        "description": "Maximum 30-day net inflow in USD."
                    },
                    "min_avg_cost": {
                        "title": "Min Average Cost (USD)",
                        "type": "number",
                        "description": "Minimum average cost per trade in USD."
                    },
                    "max_avg_cost": {
                        "title": "Max Average Cost (USD)",
                        "type": "number",
                        "description": "Maximum average cost per trade in USD."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Residential proxies are recommended for reliable scraping of GMGN.ai."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
