# GMGN Trending Memecoin Scanner — Multi-Chain Token API (`logiover/gmgn-trending-memecoin-scanner`) Actor

Scrape trending memecoins from GMGN.ai across Solana, BSC, Ethereum, Base, Tron, Monad. 80+ fields per token: price, volume, liquidity, market cap, holders, smart-money count, security audit, taxes, Twitter, Telegram. Pick timeframes (1m/5m/1h/24h) and security filters.

- **URL**: https://apify.com/logiover/gmgn-trending-memecoin-scanner.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Automation, News, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

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 Trending Memecoin Scanner — Solana, BSC, Ethereum, Base, Tron, Monad

![GMGN Trending Memecoin Scanner — Multi-Chain Token API](https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/GjS6nQ8qauOdq9KGy-actor-NqDu1EG3W0O2LraoP-qUTTimESCn-images.png)

**The fastest way to export trending memecoins from [GMGN.ai](https://gmgn.ai) — across all six chains GMGN supports, all four timeframes, with full security, smart-money and social metadata.**

Each token comes back with **80+ structured fields**: price, market cap, liquidity, volume, holder count, smart-money holders, KOL (renowned) holders, bot/sniper/bundler exposure, honeypot status, tax, dev info, Twitter, Telegram, website, launchpad, ATH, score, and more. Export to JSON, CSV, or Excel.

> No login, no API key, no scraping headaches. Just plug in the chain and timeframe and get every trending token on GMGN.

---

### 🚀 What this actor does

GMGN.ai is the dominant data layer for on-chain memecoin traders on Solana, BSC, Base, Ethereum, Tron, and Monad. Its `Trending` board ranks every freshly active token in 1-minute, 5-minute, 1-hour, and 24-hour windows. This actor scrapes that entire board in one call and returns clean, structured data — ready to feed into your trading bot, copy-trading dashboard, AI model, or research notebook.

For every chain × timeframe pair the actor calls GMGN's `rank/{chain}/swaps/{timeframe}` endpoint and emits **up to 100 tokens per call**. It also (optionally) pulls GMGN's BSC `Binance DEX` curated rank — a separate list of high-quality BSC tokens surfaced through their Binance partnership.

**Default run** — Solana + BSC × 1h + 24h × `not_honeypot` filter — returns roughly **200-400 trending tokens** in under a minute. Set all six chains × all four timeframes and you'll get **2,000-2,400 tokens per run**, more than any UI can display.

---

### 💡 Who this actor is for

- **Memecoin traders** — find what's trending on Solana, BSC, and the new chains before the rest of the market piles in.
- **Trading bot operators** — feed GMGN's trending list into your sniper, copy-trader, or signal bot via Apify webhooks or scheduled runs.
- **Alpha-feed Telegram channels** — automate hourly "🔥 Top 50 Trending" posts with all the security and smart-money metadata baked in.
- **Crypto data resellers** — bundle GMGN's trending data into your own SaaS dashboard or API.
- **DeFi analytics teams** — track memecoin rotation across chains and timeframes, study liquidity migration, monitor launchpad performance.
- **On-chain researchers** — backfill historical trending lists (run the actor on a daily schedule) to study what wins.
- **AI/quant teams** — collect labelled training data: which tokens trended, what their on-chain profile looked like, and how they performed.
- **Token issuers / launchpads** — benchmark your token against the rest of the trending board, monitor your trending rank.
- **VCs and crypto funds** — early-warning system for emerging memecoin trends and chains.

---

### 🌐 Supported chains

| Chain | Slug | Notes |
|-------|------|-------|
| Solana | `sol` | Largest memecoin chain — pump.fun, Raydium, Meteora launches. |
| BNB Chain (BSC) | `bsc` | Four.meme, Flap, PancakeSwap. Optional Binance DEX rank. |
| Ethereum | `eth` | Uniswap V2/V3 launches, larger-cap memecoins. |
| Base | `base` | Coinbase L2 — high-velocity memecoin chain since 2024. |
| Tron | `tron` | Sun.io / SunPump launches. |
| Monad | `monad` | New L1 — GMGN was an early integration partner. |

All six chains are scraped in a single run via the same actor — pick any subset.

---

### ⏱ Supported timeframes

| Code | Meaning | Use case |
|------|---------|----------|
| `1m` | Last 1 minute | Snipers, scalpers — what's pumping right now. |
| `5m` | Last 5 minutes | Momentum traders — early breakout detection. |
| `1h` | Last 1 hour | Day traders — stable trending lists. |
| `24h` | Last 24 hours | Swing traders / research — yesterday's winners. |

Run multiple timeframes in one call and enable `deduplicate` to merge — the actor remembers which timeframes each token appeared in.

---

### 🔐 Security filters

GMGN's `filters[]` parameter lets you prune the list server-side before ranking. This actor passes them through transparently.

| Filter | Effect |
|--------|--------|
| `not_honeypot` | Excludes honeypot tokens (cannot-sell scams). |
| `verified` | Keeps tokens with verified source code on the chain's explorer. |
| `renounced` | Keeps tokens where the dev renounced ownership / mint authority. |
| `frozen` | Keeps tokens with locked / burned liquidity. |
| `no_mint_authority` | Excludes tokens whose dev can still mint more supply. |
| `burnt` | Keeps tokens with burnt LP tokens. |

You can combine any subset — they're AND'd together. Leaving `filters` empty returns the full, unfiltered list (more results, more noise).

---

### ⚙️ Input configuration

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `chains` | `string[]` | `["sol", "bsc"]` | Pick from `sol`, `bsc`, `eth`, `base`, `tron`, `monad`. |
| `timeframes` | `string[]` | `["1h", "24h"]` | Pick from `1m`, `5m`, `1h`, `24h`. |
| `filters` | `string[]` | `["not_honeypot"]` | See security-filters table above. |
| `orderBy` | `string` | `""` (GMGN score) | `volume`, `market_cap`, `swaps`, `holder_count`, `price_change_percent`, `smart_degen_count`, `liquidity` |
| `direction` | `string` | `"desc"` | `desc` or `asc`. |
| `maxResultsPerCall` | `integer` | `100` | Max 100 (GMGN limit). |
| `minVolumeUsd` | `integer` | `0` | Post-filter: drop below this volume. |
| `minLiquidityUsd` | `integer` | `0` | Post-filter: drop below this liquidity. |
| `minHolderCount` | `integer` | `0` | Post-filter: drop below this holder count. |
| `minSmartMoneyCount` | `integer` | `0` | Post-filter: drop tokens with fewer than N smart-money holders. |
| `maxAgeHours` | `integer` | `0` | Post-filter: drop tokens older than N hours. |
| `includeBinanceDex` | `boolean` | `false` | Also fetch the BSC Binance DEX curated rank. |
| `deduplicate` | `boolean` | `true` | Merge same token across timeframes. |
| `useProxy` | `boolean` | `true` | Use Apify Proxy (residential recommended). |
| `proxyConfiguration` | `object` | `{ residential }` | Apify proxy config. |
| `maxConcurrency` | `integer` | `5` | Parallel API calls. |

---

### 📦 Output fields (80+ per token)

#### Identity
| Field | Type | Description |
|-------|------|-------------|
| `symbol` | `string` | Token symbol, e.g. `"PEPE"`. |
| `name` | `string` | Full token name. |
| `chain` | `string` | `sol`, `bsc`, `eth`, `base`, `tron`, `monad`. |
| `address` | `string` | Token contract address. |
| `logo` | `string` | Logo URL on GMGN CDN. |

#### Pricing
| Field | Description |
|-------|-------------|
| `price` | Current USD price. |
| `priceChangePercent1m` / `5m` / `1h` / `24h` | Percent price change over each window. |

#### Liquidity, supply, activity
| Field | Description |
|-------|-------------|
| `volume` | Timeframe-window trading volume (USD). |
| `liquidity` | Current pool liquidity (USD). |
| `initialLiquidity` | Liquidity at launch. |
| `marketCap` | Fully diluted market cap. |
| `historyHighestMarketCap` | All-time high market cap. |
| `totalSupply` | Total token supply. |
| `swaps` / `buys` / `sells` | Swap counts in the window. |
| `gasFee` | Average gas fee on this token's transactions. |
| `visitingCount` | How many GMGN users viewed the token in the window. |

#### Holders & wallet exposure
| Field | Description |
|-------|-------------|
| `holderCount` | Number of unique holders. |
| `top10HolderRate` | Share of supply held by top-10 wallets. |
| `bluechipOwnerPercentage` | Share of holders who are bluechip wallets. |
| `smartMoneyCount` | Number of smart-money (`smart_degen`) wallets holding. |
| `renownedCount` | Number of "renowned" wallets (verified KOLs, public figures). |
| `botDegenCount` / `botDegenRate` | Bot wallet exposure. |
| `sniperCount` / `top70SniperHoldRate` | Sniper bot exposure. |
| `bundlerRate` | Share of supply held via bundler wallets. |
| `entrapmentRatio` | GMGN-derived entrapment ratio. |
| `ratTraderAmountRate` | Share of volume from "rat trader" wallets (insider patterns). |
| `devTeamHoldRate` | Share of supply held by the dev team. |
| `rugRatio` | GMGN's rug score (0-1, higher = riskier). |

#### Security
| Field | Description |
|-------|-------------|
| `isHoneypot` | `true` if can't-sell. |
| `isRenounced` | Ownership renounced? |
| `isOpenSource` | Source code verified? |
| `isWashTrading` | Wash-trading flag. |
| `renouncedMint` | (Solana) Mint authority renounced? |
| `renouncedFreezeAccount` | (Solana) Freeze authority renounced? |
| `burnRatio` / `burnStatus` | Supply burn ratio. |
| `lockPercent` | Share of LP locked. |
| `buyTax` / `sellTax` | Tax % on buy / sell. |

#### Launchpad & exchange
| Field | Description |
|-------|-------------|
| `launchpad` / `launchpadPlatform` | `pump.fun`, `four.meme`, `flap`, `bonk.fun`, etc. |
| `launchpadStatus` | `0` = on bonding curve, `1` = migrated to AMM. |
| `exchange` | Primary AMM exchange address. |
| `poolType` / `poolTypeStr` | AMM pool type. |
| `launchQuoteAddress` | Quote token used at launch. |
| `migratedPoolExchange` | Exchange the token migrated to. |

#### Dev / creator
| Field | Description |
|-------|-------------|
| `creator` | Deployer wallet address. |
| `creatorTokenStatus` | `creator_close` if creator no longer holds. |
| `creatorClose` | Boolean version. |
| `devTokenBurnAmount` / `devTokenBurnRatio` | Dev burn metrics. |

#### Social
| Field | Description |
|-------|-------------|
| `twitterUsername` / `twitterUrl` | Twitter handle / URL. |
| `telegram` / `telegramUrl` | Telegram link. |
| `website` / `websiteUrl` | Website. |
| `twitterCreateTokenCount` | How many tokens this Twitter account has launched. |
| `twitterRenameCount` | Times the Twitter handle was renamed. |
| `twitterDelPostTokenCount` | Times the related token post was deleted. |
| `twitterChangeFlag` | GMGN flag for suspicious Twitter activity. |
| `twitterDup` / `telegramDup` / `websiteDup` | How many other tokens share this social profile (duplicate detection). |
| `imageDup` | Logo-duplicate flag. |

#### Timestamps
| Field | Description |
|-------|-------------|
| `openTimestamp` | ISO time of pool open (token launch). |
| `creationTimestamp` | ISO time of token contract creation. |
| `openTimestampUnix` / `creationTimestampUnix` | Same, unix seconds. |

#### GMGN scores
| Field | Description |
|-------|-------------|
| `hotLevel` | GMGN's hot-level bucket. |
| `score` | Internal hot-score float. |
| `rank` | Rank position in the requested list. |
| `isOg` | OG-flag. |
| `squareMentions` | GMGN Square community mentions. |
| `ctoFlag` | Community takeover flag. |

#### Convenience
| Field | Description |
|-------|-------------|
| `gmgnUrl` | Token page on gmgn.ai. |
| `dexscreenerUrl` | Token page on dexscreener.com. |
| `timeframe` | Which timeframe this row was sourced from. |
| `timeframes` | (when deduplicate=true) all timeframes the token appeared in. |
| `source` | `rank_swaps` or `binance_dex`. |
| `scrapedAt` | ISO scrape time. |

---

### 🧪 Example output

```json
{
  "symbol": "PEPE",
  "name": "Pepe",
  "chain": "sol",
  "address": "6vfrAcGMFT3pS2FHh6hJFg1iTu3sVRqQhqe6M18hpump",
  "price": 0.00000832,
  "priceChangePercent1h": 41.23,
  "priceChangePercent24h": 132.5,
  "volume": 8742000,
  "liquidity": 312000,
  "marketCap": 8320000,
  "holderCount": 4231,
  "top10HolderRate": 0.094,
  "smartMoneyCount": 38,
  "renownedCount": 12,
  "botDegenRate": 0.18,
  "sniperCount": 6,
  "isHoneypot": false,
  "isRenounced": true,
  "buyTax": "0",
  "sellTax": "0",
  "launchpad": "pump.fun",
  "twitterUrl": "https://x.com/pepeofficial",
  "telegramUrl": "https://t.me/pepeofficial",
  "websiteUrl": "https://pepe.com",
  "openTimestamp": "2026-05-14T10:23:00.000Z",
  "gmgnUrl": "https://gmgn.ai/sol/token/6vfrAcGMFT3pS2FHh6hJFg1iTu3sVRqQhqe6M18hpump",
  "timeframes": ["1h", "24h"],
  "score": 4.21,
  "rank": 3,
  "scrapedAt": "2026-05-15T12:00:00.000Z"
}
````

***

### 🧰 Use-case recipes

#### 1. Build an hourly "Top 100 Solana Memecoins" Telegram bot

```json
{ "chains": ["sol"], "timeframes": ["1h"], "filters": ["not_honeypot", "renounced"], "minLiquidityUsd": 10000, "minHolderCount": 200 }
```

Schedule the actor hourly, use the Apify webhook to POST results into your Telegram channel.

#### 2. Track smart-money-validated tokens only

```json
{ "chains": ["sol", "bsc"], "timeframes": ["1h", "24h"], "minSmartMoneyCount": 5 }
```

Filters to tokens where 5+ smart-money wallets are holding — high-conviction signal.

#### 3. Find the freshest pumping tokens (last 30 minutes)

```json
{ "chains": ["sol"], "timeframes": ["1m", "5m"], "filters": ["not_honeypot"], "maxAgeHours": 1 }
```

#### 4. Build a multi-chain trending dashboard

```json
{ "chains": ["sol", "bsc", "eth", "base", "tron", "monad"], "timeframes": ["1h"], "deduplicate": true }
```

600 tokens, full data. Pipe to BigQuery / Postgres / Notion via Apify integration.

#### 5. Daily research export to CSV

Run once per day with `timeframes: ["24h"]` and export as CSV — perfect for daily research notebooks or backtesting datasets.

#### 6. Sniper bot input feed

```json
{ "chains": ["sol"], "timeframes": ["1m"], "maxAgeHours": 1, "minLiquidityUsd": 5000, "filters": ["not_honeypot"], "orderBy": "swaps", "direction": "desc" }
```

Feed this output into your sniper bot every minute.

***

### 🛡️ How it works under the hood

- **Endpoint** — `GET https://gmgn.ai/api/v1/rank/{chain}/swaps/{timeframe}` (plus optional `/api/v1/rank/bsc/binance_dex`).
- **Auth** — none. GMGN gates by Cloudflare + per-session fingerprint. The actor generates a fresh `device_id`, `fp_did`, and `client_id` per run, matching the GMGN web app.
- **Headers** — full Chrome browser fingerprint (sec-ch-ua, sec-fetch-\*, accept-encoding with Brotli) — passes Cloudflare on residential IPs.
- **Proxy** — Apify Residential proxy by default. Datacenter works for small runs but is rate-limited harder.
- **Retries** — 5 attempts with exponential backoff for 403 / 429 / 5xx. Cloudflare's occasional 403 against fresh sessions is treated as transient.
- **Concurrency** — bounded pool, default 5. Bump to 10+ on residential for faster runs.
- **Decompression** — Brotli (`br`) auto-decoded.

***

### ⚡ Performance

| Configuration | Tokens | Run time | Apify cost (approx.) |
|--------------|--------|----------|---------------------|
| 2 chains × 2 timeframes (default) | ~200-400 | <30s | <$0.01 |
| All chains × 1 timeframe | ~600 | ~1 min | ~$0.02 |
| All chains × all timeframes | ~2,400 | ~2-3 min | ~$0.05 |
| All + Binance DEX + 1m polling | ~3,000 | ~3-5 min | ~$0.08 |

Apify proxy usage is the main cost driver — datacenter proxy halves it but with higher error rate.

***

### 📅 Recommended schedules

- **Real-time alpha feed** — every 1-5 minutes (1m timeframe).
- **Hourly trending snapshot** — every hour (1h timeframe).
- **Daily research export** — once per day (24h timeframe).

Use Apify's built-in scheduler or hit the actor's REST API from your own cron.

***

### ❓ Frequently asked questions

#### Is this legal?

The actor scrapes a publicly accessible API used by GMGN's own web frontend. No auth is bypassed, no rate limits are abused, no scraping of personally identifying information. You should still review [GMGN's Terms](https://gmgn.ai) for your specific use case.

#### Do I need a GMGN account?

No. No login, no API key, no auth header. Cloudflare gates the API by fingerprint, which the actor handles automatically.

#### How fresh is the data?

The `1m` and `5m` boards refresh on GMGN every 5-15 seconds. The actor's data is as fresh as the moment of the call.

#### Why are some tokens missing?

GMGN's rank is gated by the security `filters[]` you pass. Loosening filters (or removing them) returns more tokens. Honeypots are excluded by default.

#### Can I scrape historical trending lists?

GMGN's API only returns the current top-N. To build a historical archive, run the actor on a schedule and store outputs — many of our users do this for AI training data.

#### Which chains have the most trending tokens?

By volume: **Solana > BSC > Base > Ethereum > Tron > Monad**. By new launches per hour: **Solana > BSC > Base**.

#### How does this compare to DexScreener or Birdeye?

GMGN aggregates DexScreener + Birdeye + on-chain data + smart-money tags + KOL signals in one place. Its smart-money / renowned-count fields are unique to GMGN.

#### Does the actor respect GMGN's rate limits?

Yes. Bounded concurrency (default 5) and exponential backoff on 429 / 403. Residential proxy rotation prevents IP-level blocks.

#### Can I export to Google Sheets / Airtable / BigQuery / Postgres?

Yes — Apify has built-in integrations. Or use the [Apify REST API](https://docs.apify.com/api/v2) to pull the dataset directly.

#### What if the actor fails?

The actor retries failed API calls up to 5 times with backoff. Failed (chain, timeframe) pairs are logged but don't abort the run — partial results are still pushed to the dataset.

#### How do I track the same token over time?

Schedule the actor hourly and store results by `(chain, address, scrapedAt)`. The `score`, `rank`, `holderCount`, `smartMoneyCount` fields are excellent time-series signals.

#### Why is `priceChangePercent` showing the timeframe percent and not 24h?

The raw field `price_change_percent` in GMGN's response matches the **requested timeframe** (i.e. 1h call → 1h change). The 1m/5m/1h/24h breakouts are returned alongside and exposed as separate fields.

#### What if GMGN changes its API?

This actor is actively maintained — when GMGN's payload shape changes, the normalize layer is updated within 24 hours. Subscribe to the actor's update feed on Apify to be notified.

#### Can I run this from my own server (not Apify)?

The actor is built for Apify but the source is standard Node.js + crawlee. With minor tweaks (replace `Actor.pushData` with your own sink) it can run anywhere.

#### How do I get a notification when a high-score token appears?

Combine this actor with Apify's [webhook integrations](https://docs.apify.com/platform/integrations/webhooks) — POST every dataset item to your webhook URL and trigger alerts in Slack, Discord, or Telegram.

***

### 🔗 Related actors

If you like this scanner, you'll also want:

- **GMGN New Token Launch Detector** — every new pair across all chains and launchpads, the moment it lists.
- **GMGN Smart Money Wallet Leaderboard** — top traders by PnL / win rate / volume across chains.
- **GMGN Smart Money Buy Signals** — live feed of what smart-money wallets are buying right now.
- **GMGN Token Holders Intelligence** — full holder list with PnL, tags, and wallet history for any token.
- **GMGN Token Rugcheck & Deep Analytics** — security audit + dev history + bundler / sniper / bluechip stats + ATH + candles per token.
- **GMGN Wallet Portfolio & PnL Tracker** — full holdings, PnL, and history for any wallet address.
- **GMGN Crypto KOL Twitter & Telegram Signal Feed** — KOL tweets / TG channel posts with token tags.

Together they form a complete GMGN-powered crypto intelligence stack.

***

### 🆘 Support & feedback

Found a bug, want a new field exposed, want a different chain or filter supported? Open an issue on the actor's Apify page or message the maintainer — most requests are turned around in 24-48 hours.

**Built with care for the on-chain trading community.**

***

### Changelog

- **2026-05-20** — Maintenance pass: reviewed the input schema and default values for a smooth one-click start, and rebuilt the Actor on the latest base image.

*Last reviewed: 2026-05-20.*

# Actor input Schema

## `chains` (type: `array`):

Which blockchains to scan. Pick one or more. Solana (sol) and BSC (bsc) are the highest-volume memecoin chains. Ethereum (eth), Base (base), Tron (tron), and Monad (monad) are also supported. Default scans all six chains.

## `timeframes` (type: `array`):

Which timeframes to scan. '1m' = last minute, '5m' = last 5 minutes, '1h' = last hour, '24h' = last 24 hours. Shorter timeframes surface the freshest hot tokens; '24h' is best for stable, established trending tokens. Default scans all four.

## `filters` (type: `array`):

Token security filters applied by GMGN before ranking. 'not\_honeypot' excludes honeypots (cannot-sell scams). 'verified' keeps verified contracts. 'renounced' keeps tokens where the dev renounced ownership. 'frozen' keeps tokens with frozen liquidity. 'no\_mint\_authority' excludes tokens where the dev can mint more. Leave empty for the full unfiltered list (more results, more noise).

## `orderBy` (type: `string`):

How to sort tokens before truncation. Default (score) is GMGN's internal hot-score combining volume, social signals, and smart-money activity. 'volume' sorts by trading volume in the timeframe, 'market\_cap' by FDV, 'swaps' by transaction count, 'holder\_count' by number of holders, 'price\_change\_percent' by % price change, 'smart\_degen\_count' by number of smart-money wallets holding.

## `direction` (type: `string`):

Sort direction. 'desc' (highest first) is the default and matches the GMGN UI. 'asc' surfaces low-end tokens — useful for hunting tokens about to break out.

## `maxResultsPerCall` (type: `integer`):

Number of tokens returned per (chain, timeframe) request. Max 100 (GMGN limit). Higher = more results per run.

## `minVolumeUsd` (type: `integer`):

Drop tokens whose timeframe volume is below this USD threshold. Default 0 = no filter. Set 1000+ to filter out micro-cap noise.

## `minLiquidityUsd` (type: `integer`):

Drop tokens with liquidity below this USD threshold. Default 0 = no filter. Set 5000+ to focus on tradable tokens.

## `minHolderCount` (type: `integer`):

Drop tokens with fewer than this many holders. Default 0 = no filter.

## `minSmartMoneyCount` (type: `integer`):

Drop tokens that have fewer than this many smart-money wallets holding. Set 3+ to focus on smart-money-validated tokens.

## `maxAgeHours` (type: `integer`):

Drop tokens older than this many hours (based on open\_timestamp). Default 0 = no age filter. Set 24 for last-day launches only.

## `includeBinanceDex` (type: `boolean`):

Also fetch the dedicated Binance DEX rank for BSC (a curated list pushed by GMGN's Binance partnership). Adds up to 100 extra BSC tokens.

## `deduplicate` (type: `boolean`):

When ON, the same token contract across timeframes is emitted once with the freshest data and an array of which timeframes it appeared in. When OFF, the same token may appear multiple times (once per timeframe).

## `useProxy` (type: `boolean`):

Route requests through Apify Proxy. Recommended ON for larger runs to avoid Cloudflare rate limits. Adds Apify proxy units to the run cost.

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

Choose the Apify proxy group. RESIDENTIAL gives the highest success rate against Cloudflare and is the default.

## `maxConcurrency` (type: `integer`):

How many GMGN API calls to run in parallel. Higher is faster but more likely to trip rate limits. 5-10 is a safe range.

## Actor input object example

```json
{
  "chains": [
    "sol",
    "bsc",
    "eth",
    "base",
    "tron",
    "monad"
  ],
  "timeframes": [
    "1m",
    "5m",
    "1h",
    "24h"
  ],
  "filters": [
    "not_honeypot"
  ],
  "orderBy": "",
  "direction": "desc",
  "maxResultsPerCall": 100,
  "minVolumeUsd": 0,
  "minLiquidityUsd": 0,
  "minHolderCount": 0,
  "minSmartMoneyCount": 0,
  "maxAgeHours": 0,
  "includeBinanceDex": true,
  "deduplicate": false,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "maxConcurrency": 8
}
```

# Actor output Schema

## `symbol` (type: `string`):

Token symbol e.g. PEPE

## `name` (type: `string`):

Token name

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

Blockchain slug (sol/bsc/eth/base/tron/monad)

## `address` (type: `string`):

Token contract address

## `price` (type: `string`):

Current USD price

## `priceChangePercent1h` (type: `string`):

% price change over the last hour

## `priceChangePercent24h` (type: `string`):

% price change over the last 24 hours

## `volume` (type: `string`):

Trading volume in the timeframe (USD)

## `liquidity` (type: `string`):

Pool liquidity (USD)

## `marketCap` (type: `string`):

Fully-diluted market cap

## `holderCount` (type: `string`):

Unique holder count

## `smartMoneyCount` (type: `string`):

Smart-money wallets currently holding

## `renownedCount` (type: `string`):

Renowned / KOL wallets holding

## `isHoneypot` (type: `string`):

True if the token cannot be sold

## `isRenounced` (type: `string`):

True if ownership / mint is renounced

## `buyTax` (type: `string`):

Buy tax %

## `sellTax` (type: `string`):

Sell tax %

## `launchpad` (type: `string`):

Launchpad slug (pump.fun, four.meme, etc.)

## `twitterUrl` (type: `string`):

Twitter URL if present

## `telegramUrl` (type: `string`):

Telegram URL if present

## `websiteUrl` (type: `string`):

Website URL if present

## `openTimestamp` (type: `string`):

ISO time the pool was opened

## `gmgnUrl` (type: `string`):

GMGN token page

## `timeframe` (type: `string`):

Source timeframe (1m, 5m, 1h, 24h)

## `scrapedAt` (type: `string`):

Scrape timestamp

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/gmgn-trending-memecoin-scanner").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("logiover/gmgn-trending-memecoin-scanner").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 '{}' |
apify call logiover/gmgn-trending-memecoin-scanner --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/gmgn-trending-memecoin-scanner",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "GMGN Trending Memecoin Scanner — Multi-Chain Token API",
        "description": "Scrape trending memecoins from GMGN.ai across Solana, BSC, Ethereum, Base, Tron, Monad. 80+ fields per token: price, volume, liquidity, market cap, holders, smart-money count, security audit, taxes, Twitter, Telegram. Pick timeframes (1m/5m/1h/24h) and security filters.",
        "version": "1.0",
        "x-build-id": "lnyTTcb00HoPwOltT"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/logiover~gmgn-trending-memecoin-scanner/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-logiover-gmgn-trending-memecoin-scanner",
                "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/logiover~gmgn-trending-memecoin-scanner/runs": {
            "post": {
                "operationId": "runs-sync-logiover-gmgn-trending-memecoin-scanner",
                "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/logiover~gmgn-trending-memecoin-scanner/run-sync": {
            "post": {
                "operationId": "run-sync-logiover-gmgn-trending-memecoin-scanner",
                "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",
                "properties": {
                    "chains": {
                        "title": "Chains",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Which blockchains to scan. Pick one or more. Solana (sol) and BSC (bsc) are the highest-volume memecoin chains. Ethereum (eth), Base (base), Tron (tron), and Monad (monad) are also supported. Default scans all six chains.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "sol",
                                "bsc",
                                "eth",
                                "base",
                                "tron",
                                "monad"
                            ],
                            "enumTitles": [
                                "Solana",
                                "BSC (BNB Chain)",
                                "Ethereum",
                                "Base",
                                "Tron",
                                "Monad"
                            ]
                        },
                        "default": [
                            "sol",
                            "bsc",
                            "eth",
                            "base",
                            "tron",
                            "monad"
                        ]
                    },
                    "timeframes": {
                        "title": "Timeframes",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Which timeframes to scan. '1m' = last minute, '5m' = last 5 minutes, '1h' = last hour, '24h' = last 24 hours. Shorter timeframes surface the freshest hot tokens; '24h' is best for stable, established trending tokens. Default scans all four.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1m",
                                "5m",
                                "1h",
                                "24h"
                            ],
                            "enumTitles": [
                                "1 minute",
                                "5 minutes",
                                "1 hour",
                                "24 hours"
                            ]
                        },
                        "default": [
                            "1m",
                            "5m",
                            "1h",
                            "24h"
                        ]
                    },
                    "filters": {
                        "title": "Security Filters",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Token security filters applied by GMGN before ranking. 'not_honeypot' excludes honeypots (cannot-sell scams). 'verified' keeps verified contracts. 'renounced' keeps tokens where the dev renounced ownership. 'frozen' keeps tokens with frozen liquidity. 'no_mint_authority' excludes tokens where the dev can mint more. Leave empty for the full unfiltered list (more results, more noise).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "not_honeypot",
                                "verified",
                                "renounced",
                                "frozen",
                                "no_mint_authority",
                                "burnt"
                            ],
                            "enumTitles": [
                                "Not Honeypot",
                                "Verified",
                                "Renounced Ownership",
                                "Frozen Liquidity",
                                "No Mint Authority",
                                "LP Burnt"
                            ]
                        },
                        "default": [
                            "not_honeypot"
                        ]
                    },
                    "orderBy": {
                        "title": "Order By",
                        "enum": [
                            "",
                            "volume",
                            "market_cap",
                            "swaps",
                            "holder_count",
                            "price_change_percent",
                            "smart_degen_count",
                            "liquidity"
                        ],
                        "type": "string",
                        "description": "How to sort tokens before truncation. Default (score) is GMGN's internal hot-score combining volume, social signals, and smart-money activity. 'volume' sorts by trading volume in the timeframe, 'market_cap' by FDV, 'swaps' by transaction count, 'holder_count' by number of holders, 'price_change_percent' by % price change, 'smart_degen_count' by number of smart-money wallets holding.",
                        "default": ""
                    },
                    "direction": {
                        "title": "Sort Direction",
                        "enum": [
                            "desc",
                            "asc"
                        ],
                        "type": "string",
                        "description": "Sort direction. 'desc' (highest first) is the default and matches the GMGN UI. 'asc' surfaces low-end tokens — useful for hunting tokens about to break out.",
                        "default": "desc"
                    },
                    "maxResultsPerCall": {
                        "title": "Max Results per API Call",
                        "minimum": 10,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Number of tokens returned per (chain, timeframe) request. Max 100 (GMGN limit). Higher = more results per run.",
                        "default": 100
                    },
                    "minVolumeUsd": {
                        "title": "Minimum Volume (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop tokens whose timeframe volume is below this USD threshold. Default 0 = no filter. Set 1000+ to filter out micro-cap noise.",
                        "default": 0
                    },
                    "minLiquidityUsd": {
                        "title": "Minimum Liquidity (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop tokens with liquidity below this USD threshold. Default 0 = no filter. Set 5000+ to focus on tradable tokens.",
                        "default": 0
                    },
                    "minHolderCount": {
                        "title": "Minimum Holder Count",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop tokens with fewer than this many holders. Default 0 = no filter.",
                        "default": 0
                    },
                    "minSmartMoneyCount": {
                        "title": "Minimum Smart Money Holders",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop tokens that have fewer than this many smart-money wallets holding. Set 3+ to focus on smart-money-validated tokens.",
                        "default": 0
                    },
                    "maxAgeHours": {
                        "title": "Max Token Age (hours)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Drop tokens older than this many hours (based on open_timestamp). Default 0 = no age filter. Set 24 for last-day launches only.",
                        "default": 0
                    },
                    "includeBinanceDex": {
                        "title": "Include Binance DEX Rank (BSC only)",
                        "type": "boolean",
                        "description": "Also fetch the dedicated Binance DEX rank for BSC (a curated list pushed by GMGN's Binance partnership). Adds up to 100 extra BSC tokens.",
                        "default": true
                    },
                    "deduplicate": {
                        "title": "Deduplicate Tokens",
                        "type": "boolean",
                        "description": "When ON, the same token contract across timeframes is emitted once with the freshest data and an array of which timeframes it appeared in. When OFF, the same token may appear multiple times (once per timeframe).",
                        "default": false
                    },
                    "useProxy": {
                        "title": "Use Apify Proxy",
                        "type": "boolean",
                        "description": "Route requests through Apify Proxy. Recommended ON for larger runs to avoid Cloudflare rate limits. Adds Apify proxy units to the run cost.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Choose the Apify proxy group. RESIDENTIAL gives the highest success rate against Cloudflare and is the default.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrent Requests",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "How many GMGN API calls to run in parallel. Higher is faster but more likely to trip rate limits. 5-10 is a safe range.",
                        "default": 8
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
