Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

GeckoTerminal DEX Scanner — New & Trending Crypto Pools

Run on Apify Apify Actor

▶️ Run on Apify → apify.com/logiover/geckoterminal-dex-scanner

GeckoTerminal DEX Scanner scans trending and brand-new DEX liquidity pools across 100+ blockchains and returns clean, structured market data for every pool — price, 24h/6h/1h volume, liquidity, market cap, FDV, price change, and buy/sell transactions. Use it to discover new tokens early, hunt memecoins, build trading signals, and monitor DeFi liquidity. No API key, no login, no rate-limit headaches — just run it and export thousands of pools to JSON, CSV, Excel, or your database.

This repository is the public documentation and client-usage examples for the Actor. The Actor itself runs on the Apify platform — click Run on Apify above to try it free.


Table of contents


Why this scanner

Finding a new crypto pair the moment it launches — before it trends on Twitter — is the difference between an early entry and buying the top. Centralized token lists lag by hours. This scanner reads the same live DEX pool data that powers on-chain analytics dashboards and hands it to you as a structured dataset you can filter, sort, and pipe anywhere.

  • 100+ chains in one run — Ethereum, Solana, BNB Chain, Base, Arbitrum, Polygon, Avalanche, Optimism, Sui, TON, Blast, Mantle, Linea, Sei, Cronos, Fantom/Sonic, Scroll, PulseChain, and more.
  • Three scan modestrending (hottest pools right now), new (freshly created pools — catch tokens minutes after launch), and top (highest-liquidity pools per chain).
  • Full market snapshot per pool — price, FDV, market cap, multi-window volume, multi-window price change, and buy/sell/buyer/seller counts.
  • No API key required — nothing to register, no secret to rotate. Run it from the Console, CLI, API, or a scheduled task.
  • Built for volume — a single run returns 1000+ pools by default and can be raised higher.

What you get

Every pool record includes the following fields (see the full Output table below):

Group Fields
Identity poolName, poolAddress, network, chain, dexId, dexName, geckoterminalUrl
Tokens baseTokenSymbol, baseTokenName, baseTokenAddress, quoteTokenSymbol, quoteTokenName, quoteTokenAddress
Price & valuation priceUsd, fdvUsd, marketCapUsd
Volume volumeUsd24h, volumeUsd6h, volumeUsd1h
Momentum priceChangePct5m, priceChangePct1h, priceChangePct6h, priceChangePct24h
Transactions transactions24hBuys, transactions24hSells, transactions24hBuyers, transactions24hSellers
Liquidity reserveUsd, liquidityUsd
Freshness poolCreatedAt, poolAgeHours, fetchedAt

Use cases

  • New token discovery — run mode: "new" to surface freshly created pools and catch tokens minutes after they list.
  • Memecoin hunting — filter by chain (Solana, Base, BSC), minimum liquidity, and 24h buy count to find early momentum plays.
  • Trading signals — sort by priceChangePct1h or volumeUsd24h to build alerts and rank movers programmatically.
  • Liquidity monitoring — track liquidityUsd / reserveUsd across pools to watch for liquidity add/pull events.
  • DEX analytics — compare volume and transaction flow across Uniswap, Raydium, PancakeSwap, and other DEXes.
  • Crypto research & backtesting — export historical snapshots on a schedule to build a time-series dataset of pool metrics.

Quick start (4 methods)

1. Apify Console (try for free)

  1. Open the Actor: apify.com/logiover/geckoterminal-dex-scanner.
  2. Click Start with an empty input — it instantly returns 1000+ trending + top pools across ~15 major chains. No configuration needed.
  3. Browse results in the Overview table, then export to JSON / CSV / Excel from the Storage tab.

Want new pools only? Set mode to new. Want one chain? Set networks to ["solana"].

2. Apify CLI

Install the CLI and run the Actor from your terminal:

npm install -g apify-cli
apify login

# Run with defaults (trending + top pools, ~15 chains, 1000+ results)
apify call logiover/geckoterminal-dex-scanner

# Run with input: new Solana pools with at least $10k liquidity
apify call logiover/geckoterminal-dex-scanner \
  --input '{ "mode": "new", "networks": ["solana"], "minLiquidityUsd": 10000, "maxResults": 500 }'

See examples/cli.md for more.

3. API / cURL (run-sync-get-dataset-items)

Run the Actor and get the dataset items back in a single synchronous HTTP call. Replace <YOUR_APIFY_TOKEN> with your token from Apify → Settings → API & Integrations.

curl -X POST "https://api.apify.com/v2/acts/logiover~geckoterminal-dex-scanner/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "new",
    "networks": ["eth", "base", "solana"],
    "minVolumeUsd": 5000,
    "sort": "volume24hDesc",
    "maxResults": 300
  }'

The response body is a JSON array of pool records. See examples/api-curl.md.

4. apify-client (JavaScript & Python)

JavaScript / Node.js

npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });

const run = await client.actor('logiover/geckoterminal-dex-scanner').call({
    mode: 'trending',
    networks: ['solana', 'base'],
    minLiquidityUsd: 20000,
    sort: 'volume24hDesc',
    maxResults: 500,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Fetched ${items.length} pools`);
console.table(items.slice(0, 10).map((p) => ({
    pool: p.poolName,
    chain: p.network,
    priceUsd: p.priceUsd,
    vol24h: p.volumeUsd24h,
    liq: p.liquidityUsd,
})));

Python

pip install apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("logiover/geckoterminal-dex-scanner").call(run_input={
    "mode": "new",
    "networks": ["eth", "bsc"],
    "minLiquidityUsd": 10000,
    "maxResults": 500,
})

items = client.dataset(run["defaultDatasetId"]).list_items().items
print(f"Fetched {len(items)} pools")
for p in items[:10]:
    print(p["poolName"], p["network"], p["priceUsd"], p["volumeUsd24h"])

Full examples: examples/javascript.md · examples/python.md.


Input

Every field is optional — run with an empty input to get 1000+ trending + top pools across ~15 major chains.

Field Type Default Description
mode string enum trending Scan mode: trending (hottest pools now), new (freshly created — best for catching new tokens early), or top (highest-liquidity pools per chain).
networks array of string [] (all major) Chains to scan. Empty or ["all"] sweeps ~15 major networks. Options include eth, solana, bsc, base, arbitrum, polygon_pos, avax, optimism, sui-network, ton, blast, mantle, linea, sei-network, cro, ftm, scroll, pulsechain.
minLiquidityUsd integer Only include pools with at least this much liquidity/reserve in USD. Filters out dust pools.
minVolumeUsd integer Only include pools with at least this much 24h trading volume in USD.
sort string enum "" (source rank) Order before applying maxResults: volume24hDesc, liquidityDesc, priceChange24hDesc, transactions24hDesc, or newestFirst.
maxResults integer 1000 Maximum number of pool records to return. Raise it to pull more (bounded by the run time budget and public rate limits).
proxyConfiguration object { "useApifyProxy": true } Apify proxy settings. Defaults to automatic proxy selection.

Output

Results are stored in the Actor's dataset (export to JSON, CSV, Excel, XML, RSS, or query via API). Each item is one liquidity pool:

Field Type Description
poolAddress string On-chain address of the liquidity pool / pair contract.
poolName string Human-readable pool name, e.g. PEPE / WETH 0.3%.
network string GeckoTerminal network ID (eth, solana, bsc, base, …).
chain string Blockchain the pool lives on (alias of network).
dexId string Identifier of the DEX hosting the pool.
dexName string Display name of the DEX (Uniswap V3, Raydium, PancakeSwap, …).
baseTokenSymbol string Ticker of the base (traded) token.
baseTokenName string Full name of the base token.
baseTokenAddress string On-chain contract address of the base token.
quoteTokenSymbol string Ticker of the quote token (WETH, USDC, SOL, …).
quoteTokenName string Full name of the quote token.
quoteTokenAddress string On-chain contract address of the quote token.
priceUsd number Current price of the base token in USD.
fdvUsd number Fully diluted valuation of the base token in USD.
marketCapUsd number Market capitalization of the base token in USD (may be null).
volumeUsd24h number 24-hour trading volume in USD.
volumeUsd6h number 6-hour trading volume in USD.
volumeUsd1h number 1-hour trading volume in USD.
priceChangePct5m number Price change over the last 5 minutes (%).
priceChangePct1h number Price change over the last 1 hour (%).
priceChangePct6h number Price change over the last 6 hours (%).
priceChangePct24h number Price change over the last 24 hours (%).
transactions24hBuys number Number of buy transactions in the last 24h.
transactions24hSells number Number of sell transactions in the last 24h.
transactions24hBuyers number Unique buyer wallets in the last 24h.
transactions24hSellers number Unique seller wallets in the last 24h.
reserveUsd number Total reserves held in the pool, in USD.
liquidityUsd number Pool liquidity in USD (alias of reserveUsd).
poolCreatedAt string When the pool was created (ISO 8601).
poolAgeHours number Age of the pool in hours at scrape time.
geckoterminalUrl string Link to the pool page on GeckoTerminal.
fetchedAt string When this row was scraped (ISO 8601).

Sample output

{
  "poolAddress": "0x11950d141ecb863f01007add7d1a342041227b58",
  "poolName": "PEPE / WETH 0.3%",
  "network": "eth",
  "chain": "eth",
  "dexId": "uniswap_v3",
  "dexName": "Uniswap V3",
  "baseTokenSymbol": "PEPE",
  "baseTokenName": "Pepe",
  "baseTokenAddress": "0x6982508145454ce325ddbe47a25d4ec3d2311933",
  "quoteTokenSymbol": "WETH",
  "quoteTokenName": "Wrapped Ether",
  "quoteTokenAddress": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "priceUsd": 0.00001042,
  "fdvUsd": 4383000000,
  "marketCapUsd": 4383000000,
  "volumeUsd24h": 58210344.51,
  "volumeUsd6h": 14872011.20,
  "volumeUsd1h": 2610455.83,
  "priceChangePct5m": 0.42,
  "priceChangePct1h": 1.88,
  "priceChangePct6h": -3.11,
  "priceChangePct24h": 7.64,
  "transactions24hBuys": 4821,
  "transactions24hSells": 4103,
  "transactions24hBuyers": 2915,
  "transactions24hSellers": 2477,
  "reserveUsd": 18904221.77,
  "liquidityUsd": 18904221.77,
  "poolCreatedAt": "2023-04-14T18:22:43Z",
  "poolAgeHours": 27210.6,
  "geckoterminalUrl": "https://www.geckoterminal.com/eth/pools/0x11950d141ecb863f01007add7d1a342041227b58",
  "fetchedAt": "2026-07-13T09:15:02Z"
}

Integrations & automation

  • Schedule it — use Apify Schedules to run the scanner every few minutes and build a live feed of new pools.
  • Webhooks — fire an Apify webhook on run success to push fresh pools to your own endpoint, Slack, Discord, or Telegram bot.
  • Make / Zapier / n8n — connect via the Apify integrations to route pool data into 5000+ apps.
  • Google Sheets / Airtable — export dataset rows straight into a sheet for a no-code dashboard.
  • Your own app — call the Actor from Node.js or Python with apify-client (see Quick start) and stream results into Postgres, BigQuery, or a vector store.

Export formats

The dataset can be downloaded or fetched via API in any of these formats:

  • JSON / JSONL
  • CSV
  • Excel (XLSX)
  • HTML table
  • XML / RSS

Fetch programmatically from the Dataset API, e.g. append &format=csv to a dataset-items request.


FAQ

How do I find new crypto pairs the moment they launch?

Run the scanner with mode: "new". It returns freshly created pools ordered newest-first, so you can catch tokens minutes after they list on a DEX. Combine with minLiquidityUsd to skip empty dust pools, and schedule the run every few minutes for a continuous new-pair feed.

Is this a DexScreener alternative?

Yes — if you want DexScreener-style new-pool and trending data as a structured, exportable dataset (JSON/CSV) instead of a web UI, this scanner covers the same ground: price, volume, liquidity, market cap, and buy/sell activity across 100+ chains. It's built for automation and bulk export rather than manual browsing. See also our companion DexScreener Boosted Tokens Scraper.

Can I track new tokens across all chains at once?

Yes. Leave networks empty (or set ["all"]) and the scanner sweeps ~15 major networks — Ethereum, Solana, BNB Chain, Base, Arbitrum, Polygon, Avalanche, Optimism, Sui, TON, and more — in a single run, returning 1000+ pools.

Is this a GeckoTerminal API?

It's an easy, no-setup way to get GeckoTerminal-style DEX pool data as a ready-to-use dataset. You don't need to register for or manage any GeckoTerminal API keys, handle pagination, or normalize responses — the Actor returns clean, flat records you can export or query directly.

Do I need an API key or login for the data source?

No. There's no API key and no login required for the underlying data. You only need a free Apify account to run the Actor on the platform; the scan itself needs no third-party credentials.

Which blockchains are supported?

100+ chains, including Ethereum, Solana, BNB Chain (BSC), Base, Arbitrum, Polygon, Avalanche, Optimism, Sui, TON, Blast, Mantle, Linea, Sei, Cronos, Fantom/Sonic, Scroll, and PulseChain. Pass network IDs in the networks input, or leave it empty to sweep all major chains.

How many pools does one run return?

By default 1000+ pools. Raise maxResults to pull more — the practical ceiling is bounded by the run time budget and the public data source's rate limits.

How do I filter for high-liquidity or high-volume pools only?

Set minLiquidityUsd and/or minVolumeUsd to your thresholds, then set sort (e.g. liquidityDesc or volume24hDesc) to rank the results before maxResults is applied.

Can I use this for memecoin hunting or trading signals?

Absolutely. Filter by chain and minimum liquidity, sort by priceChangePct1h or transactions24hDesc, and schedule frequent runs. Pipe the output into your alerting bot via webhooks to get notified about early momentum pools.

What does it cost to run?

You run it on your own Apify account, so cost depends on your Apify plan and usage. Apify offers free monthly usage credits — click Run on Apify and try it with an empty input at no upfront cost.


Related actors


Disclaimer

This repository contains documentation and client-usage examples only. It does not include the Actor's source code or any scraping implementation. The Actor runs on the Apify platform.

Data is provided for informational and research purposes only and is not financial advice. Always do your own research before trading. All product names, logos, and brands are property of their respective owners and are used for identification only; this project is not affiliated with or endorsed by GeckoTerminal, DexScreener, or CoinGecko.

▶️ Run the Actor: apify.com/logiover/geckoterminal-dex-scanner

About

Scan trending & new DEX pools across 100+ chains — price, volume, liquidity, market cap. No API key.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors