{
  "openapi": "3.0.1",
  "info": {
    "title": "GMGN CopyTrade Wallet Scraper",
    "description": "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.",
    "version": "1.0",
    "x-build-id": "HOooOnK9o6YuzZd8n"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maximedupre~gmgn-copytrade-wallet-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maximedupre-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/maximedupre~gmgn-copytrade-wallet-scraper/runs": {
      "post": {
        "operationId": "runs-sync-maximedupre-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/maximedupre~gmgn-copytrade-wallet-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-maximedupre-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",
          "traderType"
        ],
        "properties": {
          "chain": {
            "title": "Blockchain",
            "enum": [
              "sol",
              "bsc",
              "eth",
              "base",
              "tron",
              "monad",
              "hyperevm",
              "megaeth",
              "robinhood",
              "xlayer"
            ],
            "type": "string",
            "description": "Choose the GMGN chain leaderboard to scrape. Some chain and trader category combinations have no wallets. An empty result for one of them is a result from the source, not an error."
          },
          "traderType": {
            "title": "Find wallets by",
            "enum": [
              "all",
              "smart_degen",
              "pump_smart",
              "launchpad_smart",
              "kol",
              "fresh_wallet",
              "sniper",
              "top_tracked",
              "top_renamed",
              "top_dev",
              "live"
            ],
            "type": "string",
            "description": "Choose which GMGN trader category to scrape. All wallets uses the full leaderboard. Each other choice keeps only the wallets in that category, such as Smart Money or key opinion leaders and venture investors. For Top Dev, GMGN picks wallets by open positions, not profit. Some trader category and chain combinations have no wallets. An empty result for one of them is a result from the source, not an error."
          },
          "maxWallets": {
            "title": "Wallet limit",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of wallets to save. Leave empty to return all available wallets until the source is exhausted."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "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",
              "net_inflow_1d",
              "net_inflow_7d",
              "net_inflow_30d",
              "last_active",
              "balance",
              "tracked",
              "renamed"
            ],
            "type": "string",
            "description": "Metric used to rank the GMGN wallet leaderboard. For Top Dev, GMGN picks wallets by open positions, not profit. A profit or profit and loss % metric re-sorts the wallets GMGN returns by that metric before the Wallet limit is applied. When any 1D, 7D, or 30D filter has a value, the wallet order decides which matching wallets fill the Wallet limit.",
            "default": "profit_7d"
          },
          "sortDirection": {
            "title": "Sort direction",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Use descending for top wallets by the selected metric, or ascending for the lowest values.",
            "default": "desc"
          },
          "minPnl1d": {
            "title": "Minimum 1D profit and loss %",
            "type": "number",
            "description": "Keep only wallets with at least this 1-day profit and loss percentage. Use 40 for 40%. Leave empty to skip this filter."
          },
          "maxPnl1d": {
            "title": "Maximum 1D profit and loss %",
            "type": "number",
            "description": "Keep only wallets with at most this 1-day profit and loss percentage. Use 80 for 80%. Leave empty to skip this filter."
          },
          "minProfit1d": {
            "title": "Minimum 1D profit USD",
            "type": "number",
            "description": "Keep only wallets with at least this 1-day profit from sold tokens in USD. Leave empty to skip this filter."
          },
          "maxProfit1d": {
            "title": "Maximum 1D profit USD",
            "type": "number",
            "description": "Keep only wallets with at most this 1-day profit from sold tokens in USD. Leave empty to skip this filter."
          },
          "minWinRate1d": {
            "title": "Minimum 1D win rate %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only wallets with at least this 1-day win rate. Use 40 for 40%. Leave empty to skip this filter."
          },
          "maxWinRate1d": {
            "title": "Maximum 1D win rate %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only wallets with at most this 1-day win rate. Use 80 for 80%. Leave empty to skip this filter."
          },
          "minTxs1d": {
            "title": "Minimum 1D transactions",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only wallets with at least this many 1-day transactions. Leave empty to skip this filter."
          },
          "maxTxs1d": {
            "title": "Maximum 1D transactions",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only wallets with at most this many 1-day transactions. Leave empty to skip this filter."
          },
          "minVolume1d": {
            "title": "Minimum 1D volume USD",
            "type": "number",
            "description": "Keep only wallets with at least this 1-day trading volume in USD. Leave empty to skip this filter."
          },
          "maxVolume1d": {
            "title": "Maximum 1D volume USD",
            "type": "number",
            "description": "Keep only wallets with at most this 1-day trading volume in USD. Leave empty to skip this filter."
          },
          "minNetInflow1d": {
            "title": "Minimum 1D net inflow USD",
            "type": "number",
            "description": "Keep only wallets with at least this 1-day net inflow in USD. Leave empty to skip this filter."
          },
          "maxNetInflow1d": {
            "title": "Maximum 1D net inflow USD",
            "type": "number",
            "description": "Keep only wallets with at most this 1-day net inflow in USD. Leave empty to skip this filter."
          },
          "minAvgCost1d": {
            "title": "Minimum 1D average cost USD",
            "type": "number",
            "description": "Keep only wallets with at least this 1-day average trade cost in USD. Leave empty to skip this filter."
          },
          "maxAvgCost1d": {
            "title": "Maximum 1D average cost USD",
            "type": "number",
            "description": "Keep only wallets with at most this 1-day average trade cost in USD. Leave empty to skip this filter."
          },
          "minPnl7d": {
            "title": "Minimum 7D profit and loss %",
            "type": "number",
            "description": "Keep only wallets with at least this 7-day profit and loss percentage. Use 40 for 40%. Leave empty to skip this filter."
          },
          "maxPnl7d": {
            "title": "Maximum 7D profit and loss %",
            "type": "number",
            "description": "Keep only wallets with at most this 7-day profit and loss percentage. Use 80 for 80%. Leave empty to skip this filter."
          },
          "minProfit7d": {
            "title": "Minimum 7D profit USD",
            "type": "number",
            "description": "Keep only wallets with at least this 7-day profit from sold tokens in USD. Leave empty to skip this filter."
          },
          "maxProfit7d": {
            "title": "Maximum 7D profit USD",
            "type": "number",
            "description": "Keep only wallets with at most this 7-day profit from sold tokens in USD. Leave empty to skip this filter."
          },
          "minWinRate7d": {
            "title": "Minimum 7D win rate %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only wallets with at least this 7-day win rate. Use 40 for 40%. Leave empty to skip this filter."
          },
          "maxWinRate7d": {
            "title": "Maximum 7D win rate %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only wallets with at most this 7-day win rate. Use 80 for 80%. Leave empty to skip this filter."
          },
          "minTxs7d": {
            "title": "Minimum 7D transactions",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only wallets with at least this many 7-day transactions. Leave empty to skip this filter."
          },
          "maxTxs7d": {
            "title": "Maximum 7D transactions",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only wallets with at most this many 7-day transactions. Leave empty to skip this filter."
          },
          "minVolume7d": {
            "title": "Minimum 7D volume USD",
            "type": "number",
            "description": "Keep only wallets with at least this 7-day trading volume in USD. Leave empty to skip this filter."
          },
          "maxVolume7d": {
            "title": "Maximum 7D volume USD",
            "type": "number",
            "description": "Keep only wallets with at most this 7-day trading volume in USD. Leave empty to skip this filter."
          },
          "minNetInflow7d": {
            "title": "Minimum 7D net inflow USD",
            "type": "number",
            "description": "Keep only wallets with at least this 7-day net inflow in USD. Leave empty to skip this filter."
          },
          "maxNetInflow7d": {
            "title": "Maximum 7D net inflow USD",
            "type": "number",
            "description": "Keep only wallets with at most this 7-day net inflow in USD. Leave empty to skip this filter."
          },
          "minAvgCost7d": {
            "title": "Minimum 7D average cost USD",
            "type": "number",
            "description": "Keep only wallets with at least this 7-day average trade cost in USD. Leave empty to skip this filter."
          },
          "maxAvgCost7d": {
            "title": "Maximum 7D average cost USD",
            "type": "number",
            "description": "Keep only wallets with at most this 7-day average trade cost in USD. Leave empty to skip this filter."
          },
          "minPnl30d": {
            "title": "Minimum 30D profit and loss %",
            "type": "number",
            "description": "Keep only wallets with at least this 30-day profit and loss percentage. Use 40 for 40%. Leave empty to skip this filter."
          },
          "maxPnl30d": {
            "title": "Maximum 30D profit and loss %",
            "type": "number",
            "description": "Keep only wallets with at most this 30-day profit and loss percentage. Use 80 for 80%. Leave empty to skip this filter."
          },
          "minProfit30d": {
            "title": "Minimum 30D profit USD",
            "type": "number",
            "description": "Keep only wallets with at least this 30-day profit from sold tokens in USD. Leave empty to skip this filter."
          },
          "maxProfit30d": {
            "title": "Maximum 30D profit USD",
            "type": "number",
            "description": "Keep only wallets with at most this 30-day profit from sold tokens in USD. Leave empty to skip this filter."
          },
          "minWinRate30d": {
            "title": "Minimum 30D win rate %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only wallets with at least this 30-day win rate. Use 40 for 40%. Leave empty to skip this filter."
          },
          "maxWinRate30d": {
            "title": "Maximum 30D win rate %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Keep only wallets with at most this 30-day win rate. Use 80 for 80%. Leave empty to skip this filter."
          },
          "minTxs30d": {
            "title": "Minimum 30D transactions",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only wallets with at least this many 30-day transactions. Leave empty to skip this filter."
          },
          "maxTxs30d": {
            "title": "Maximum 30D transactions",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only wallets with at most this many 30-day transactions. The form starts with 1000 filled in. Unless you change it, wallets with more than 1000 30-day transactions, or with no known 30-day transaction count, are left out. Leave empty to skip this filter."
          },
          "minVolume30d": {
            "title": "Minimum 30D volume USD",
            "type": "number",
            "description": "Keep only wallets with at least this 30-day trading volume in USD. Leave empty to skip this filter."
          },
          "maxVolume30d": {
            "title": "Maximum 30D volume USD",
            "type": "number",
            "description": "Keep only wallets with at most this 30-day trading volume in USD. Leave empty to skip this filter."
          },
          "minNetInflow30d": {
            "title": "Minimum 30D net inflow USD",
            "type": "number",
            "description": "Keep only wallets with at least this 30-day net inflow in USD. Leave empty to skip this filter."
          },
          "maxNetInflow30d": {
            "title": "Maximum 30D net inflow USD",
            "type": "number",
            "description": "Keep only wallets with at most this 30-day net inflow in USD. Leave empty to skip this filter."
          },
          "minAvgCost30d": {
            "title": "Minimum 30D average cost USD",
            "type": "number",
            "description": "Keep only wallets with at least this 30-day average trade cost in USD. Leave empty to skip this filter."
          },
          "maxAvgCost30d": {
            "title": "Maximum 30D average cost USD",
            "type": "number",
            "description": "Keep only wallets with at most this 30-day average trade cost in USD. Leave empty to skip this filter."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}