# DEX Scraper - On-Chain Pairs, Prices, New Tokens & Alerts (`scrapesage/dex-token-scraper`) Actor

Scrape live DEX & on-chain token data across 190+ chains via DexScreener & GeckoTerminal: pairs, prices, liquidity, FDV/market cap, volume & buys/sells, trending & brand-new pools, OHLCV candles, token holders, gt\_score & socials. New-launch monitoring. JSON, CSV, Excel.

- **URL**: https://apify.com/scrapesage/dex-token-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Lead generation, Agents, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 dex pair / pool (dexscreener)s

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## DEX Token Scraper — On-Chain Pairs, Prices, New Launches & Alerts (DexScreener + GeckoTerminal)

Extract **live on-chain DEX data across 190+ blockchains** in one actor — combining **DexScreener** and **GeckoTerminal** so you get the complete picture: **trading pairs, USD & native prices, liquidity, FDV/market cap, 5-minute-to-24-hour volume, buys/sells & unique buyers/sellers, price-change %, trending and brand-new pools, OHLCV candles, token holder distribution, GT trust score, and project websites & socials.** Filter by liquidity, volume, transactions and pool age, and turn on **monitoring mode** to capture only **new token launches and pairs** — the perfect sniper / new-listing feed.

No login, no API key, no browser — fast JSON extraction straight from two public DEX data APIs.

### Why this DEX scraper?

Most DEX scrapers cover a single source, a single chain, or just dump a price. This actor merges the two best public on-chain data backbones and ships the **richest dataset in the category**:

| Data | Typical scrapers | This actor |
|---|---|---|
| Chains covered | 1 (usually Solana **or** Ethereum) | ✅ 190+ via GeckoTerminal + DexScreener |
| Trending pools | sometimes | ✅ per chain **or** all chains, 5m/1h/6h/24h |
| **New launches** (new pools) | ❌ | ✅ early-detection feed + new-launch alerts |
| Liquidity, FDV, market cap | partial | ✅ all three |
| Volume 5m/15m/30m/1h/6h/24h | 24h only | ✅ every window |
| Buys/sells **+ unique buyers/sellers** | ❌ | ✅ |
| OHLCV candlestick history | ❌ | ✅ minute / hour / day |
| Token **holder count & distribution** | ❌ | ✅ top-10 / 11-20 / 21-40 / rest |
| GT trust score & breakdown | ❌ | ✅ |
| Project **website + Twitter/X + Telegram + Discord** | ❌ | ✅ |
| Boosted (paid-promotion) tokens | ❌ | ✅ with boost amount |
| Liquidity / volume / age / txn filters | ❌ | ✅ server-side capped, client-side filtered |
| Monitoring (only-new) mode | ❌ | ✅ |

### Use cases

- **New-launch sniping & early detection** — run **New pools** mode (per chain or all chains) with `maxPoolAgeHours`, `minLiquidityUsd` and `minTxns24h` filters, plus monitoring mode, to surface only fresh, non-dust launches the moment they appear.
- **Trading bots & alerts** — poll **Trending** / **Top pools** on a schedule for price, volume and liquidity moves; pipe to Telegram/Slack/Discord or your own engine.
- **Market & liquidity research** — compare a token's pools across DEXes and chains (**Token pairs**), pull **OHLCV** for backtesting, and benchmark volume/liquidity by chain or DEX.
- **Token due diligence** — **Token info** mode returns holder distribution, GT trust score and socials so you can screen for concentration risk and legitimacy before aping.
- **Crypto-project lead & research feed** — **Token profiles** mode returns newly listed projects with website, Twitter/X, Telegram, Discord and boost amount — ideal for market makers, launchpads, listing services and on-chain marketing intel.
- **Portfolio & dashboard data** — feed clean, structured pair/pool/token JSON into your own app, Google Sheet, or warehouse.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) — the free plan is enough to try this actor.
2. Open the **DEX Token Scraper**, pick a **mode** (e.g. *Trending pools* or *New pools*), set the **network** (`solana`, `eth`, `base`, `bsc`… or `all`), and click **Start**.
3. Watch results stream into the dataset table.
4. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "mode": "newPools",
    "network": "solana",
    "minLiquidityUsd": 10000,
    "minTxns24h": 100,
    "maxPoolAgeHours": 24,
    "maxResults": 100,
    "monitorMode": true,
    "monitorKey": "solana-new-launches"
}
```

- **mode** — `trendingPools`, `newPools`, `topPools`, `search`, `pairDetail`, `tokenPairs`, `tokenInfo`, `ohlcv`, or `tokenProfiles`.
- **network** — chain for the GeckoTerminal modes & DexScreener address lookups: `solana`, `eth`, `bsc`, `base`, `arbitrum`, `polygon_pos`, `avax`, `optimism`, … Use `all` in *Trending* / *New pools* to scan every chain. Aliases (`ethereum`, `polygon`, `bnb`) are normalized.
- **searchQueries** — token names/symbols/addresses for *Search* mode (cross-chain), e.g. `["WIF", "PEPE"]`.
- **tokenAddresses** — token mints/contracts for *Token pairs* & *Token info*.
- **pairAddresses** / **poolAddresses** — pool addresses for *Pair detail* / *OHLCV*.
- **startUrls** — paste DexScreener pair URLs or GeckoTerminal pool/token URLs; routed automatically.
- **dex** — restrict *Top pools* to one DEX (`raydium`, `uniswap_v3`, `pancakeswap_v3`, …).
- **trendingDuration** / **poolsSort** — ranking window / sort order.
- **timeframe** / **aggregate** / **ohlcvLimit** — candle resolution & count for *OHLCV*.
- **minLiquidityUsd / minVolume24hUsd / minTxns24h / maxPoolAgeHours** — discovery filters.
- **includeTokenInfo** *(default true)* — add holders, GT score & socials in *Token info* mode.
- **includeBoosts** *(default true)* — include boosted tokens in *Token profiles* mode.
- **monitorMode** *(default false)* — emit only records not seen in previous runs (new-launch alerts). Works with [Schedules](https://docs.apify.com/platform/schedules).

### Output

One record per pair / pool / token, each tagged with a `type`. A **pool** record (GeckoTerminal):

```json
{
    "type": "pool",
    "source": "geckoterminal",
    "network": "solana",
    "poolAddress": "33WkTCoTJJAzDZmdAhkojkw22ejPHpERn1HF32b9J4fd",
    "name": "OILMAXXING / SOL",
    "dexId": "pumpswap",
    "dexName": "PumpSwap",
    "baseTokenSymbol": "OILMAXXING",
    "quoteTokenSymbol": "SOL",
    "baseTokenPriceUsd": 0.0000043365,
    "fdvUsd": 4336.52,
    "reserveUsd": 6366.36,
    "priceChangeH1": -0.153,
    "priceChangeH24": -98.885,
    "volumeH24": 1397831.48,
    "txnsH24Buys": 24898,
    "txnsH24Sells": 30146,
    "txnsH24Buyers": 6372,
    "txnsH24Sellers": 19219,
    "poolCreatedAt": "2026-06-16T04:46:27Z",
    "poolAgeHours": 40.35,
    "isNewPool": true,
    "url": "https://www.geckoterminal.com/solana/pools/33WkTCoTJJAzDZmdAhkojkw22ejPHpERn1HF32b9J4fd"
}
```

A **pair** record (DexScreener) adds the project's contacts:

```json
{
    "type": "pair",
    "source": "dexscreener",
    "chainId": "solana",
    "dexId": "raydium",
    "pairAddress": "FCEnSxyJfRSKsz6tASUENCsfGwKgkH6YuRn1AMmyHhZn",
    "baseTokenSymbol": "Pepe",
    "priceUsd": 0.0002292,
    "liquidityUsd": 114720.64,
    "volumeH24": 11157.51,
    "txnsH24Buys": 134,
    "txnsH24Sells": 110,
    "fdv": 229086,
    "marketCap": 229086,
    "pairAgeHours": 18075.48,
    "website": "https://pepesol.io",
    "twitter": "https://x.com/pepesolofficial",
    "telegram": "https://t.me/+2jjHGy2PYtc4NWQx",
    "url": "https://dexscreener.com/solana/fcensxyjfrsksz6tasuencsfgwkgkh6yurn1ammyhhzn"
}
```

A **token** record (Token info mode) adds holder distribution, GT score & socials; **ohlcv** records carry a full `candles` array; **tokenProfile** records carry description, website, socials & boost amount.

### Automate & schedule

Run this actor on autopilot and pull results into your own stack:

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it every few minutes/hourly to watch for new launches, price moves or liquidity changes; combine with monitoring mode to get only what's new.
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (trading bot, Telegram/Discord alert, sheet update) the moment a run finishes.

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

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

const run = await client.actor('scrapesage/dex-token-scraper').call({
    mode: 'newPools',
    network: 'all',
    minLiquidityUsd: 10000,
    maxPoolAgeHours: 6,
    monitorMode: true,
    monitorKey: 'fresh-launches',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} new pools`);
```

### Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

- **[Make](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push new launches straight into a sheet or trading workflow.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get pinged when a monitored search finds new pools.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.
- **[GitHub](https://docs.apify.com/platform/integrations/github)** — trigger runs from commits or releases.

### Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the **[Apify MCP server](https://docs.apify.com/platform/integrations/mcp)** — ask your assistant to "find new Solana pools with over $10k liquidity launched in the last 6 hours" and let it run this scraper for you.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Build a complete **crypto & finance data stack**:

- **[CoinGecko Crypto Scraper](https://apify.com/scrapesage/coingecko-crypto-scraper)** — coin prices, markets, NFTs, exchanges & trending.
- **[DeFiLlama Scraper](https://apify.com/scrapesage/defillama-scraper)** — protocol TVL, yields, fees & chain analytics.
- **[Polymarket & Kalshi Scraper](https://apify.com/scrapesage/prediction-markets-scraper)** — prediction-market odds, volume & arbitrage.
- **[Yahoo Finance Scraper](https://apify.com/scrapesage/yahoo-finance-scraper)** — stocks, ETFs, crypto & FX quotes, financials & analyst targets.
- **[Finviz Scraper](https://apify.com/scrapesage/finviz-scraper)** — stock screener, fundamentals, insider trading & ratings.
- **[SEC EDGAR Scraper](https://apify.com/scrapesage/sec-edgar-scraper)** — company filings & XBRL financials.

### Tips

- **All chains at once**: set `network: "all"` in *Trending* or *New pools* to scan every chain in one run; use a specific network for *Top pools*, *Token info* and *OHLCV* (these require one chain).
- **Cut the noise**: New/Trending feeds are full of dust and rugs — set `minLiquidityUsd`, `minVolume24hUsd`, `minTxns24h` and `maxPoolAgeHours` to keep only real pools. The actor over-fetches when filters are on so you still hit `maxResults`.
- **Sniper feed**: `mode: newPools` + `monitorMode: true` + a [Schedule](https://docs.apify.com/platform/schedules) every few minutes = only brand-new pools each run.
- **Rate limits**: both APIs limit per IP; the actor rotates a fresh Apify Proxy IP per request and retries, so keep the default proxy on. Lower `maxConcurrency` if you ever see empty results.
- **DexScreener vs GeckoTerminal**: *Search*, *Pair detail*, *Token pairs* and *Token profiles* use DexScreener (great cross-chain coverage + socials); *Trending*, *New*, *Top pools*, *Token info* and *OHLCV* use GeckoTerminal (190+ chains, holders, OHLCV).

### FAQ

**Which blockchains are supported?** 190+ networks via GeckoTerminal (Solana, Ethereum, BSC, Base, Arbitrum, Polygon, Avalanche, Optimism, Sui, Ton, Tron, Blast, Berachain, and many more) plus every chain DexScreener indexes. Use the GeckoTerminal network id (e.g. `polygon_pos`); common aliases are normalized.

**Does it need an API key?** No. Both data sources are public and keyless. The actor spreads their per-IP rate limits by rotating proxy IPs.

**How do I get only new token launches?** Use `mode: newPools` (optionally `network: "all"`), add `monitorMode: true`, and run it on a Schedule — each run returns only pools you haven't seen before.

**Can I export to Google Sheets, CSV, or Excel?** Yes — one click in the dataset view, or automatically on every run via the [Google Drive integration](https://docs.apify.com/platform/integrations/drive).

**Where do the websites and socials come from?** From the token's own public listing metadata on DexScreener/GeckoTerminal — the same links a visitor sees on the pair/token page.

**A field is null — why?** Some pools genuinely have no market cap, no socials, or no holder data yet (very new tokens). Fields are `null` only when the data doesn't exist, not because the scraper skipped them.

**Is scraping this data legal?** This actor collects publicly available on-chain market data only. You are responsible for using the data in compliance with applicable laws and each source's terms. Nothing here is financial advice.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests are welcome — this actor is actively maintained.

# Actor input Schema

## `mode` (type: `string`):

<b>Trending pools</b> = hottest DEX pools right now (per chain or all chains). <b>New pools</b> = brand-new token launches — the early-detection / sniper feed. <b>Top pools</b> = highest-volume pools on a chain (optionally one DEX). <b>Search</b> = find pairs by token name/symbol/address across all chains (DexScreener). <b>Pair detail</b> = full data for specific pair/pool addresses. <b>Token pairs</b> = every pool for a token. <b>Token info</b> = full token profile incl. holders, gt\_score & socials. <b>OHLCV</b> = candlestick history. <b>Token profiles</b> = newly listed projects with website + socials (lead/research feed).

## `network` (type: `string`):

Blockchain for the GeckoTerminal modes (Trending / New / Top pools, Token info, OHLCV) and the chain for DexScreener address lookups. Common: <code>solana</code>, <code>eth</code>, <code>bsc</code>, <code>base</code>, <code>arbitrum</code>, <code>polygon\_pos</code>, <code>avax</code>, <code>optimism</code>. Use <code>all</code> in Trending / New pools to scan every chain at once. Aliases like <code>ethereum</code>, <code>polygon</code>, <code>bnb</code> are normalized automatically.

## `searchQueries` (type: `array`):

Token names, symbols or contract addresses to search across all chains, e.g. <code>PEPE</code>, <code>WIF</code>, <code>bonk</code> or a token address. Each returns the matching DEX pairs.

## `tokenAddresses` (type: `array`):

Token contract addresses (mints). Used with <b>network</b> to fetch every pool of the token (Token pairs) or its full profile incl. holders & socials (Token info).

## `pairAddresses` (type: `array`):

DEX pair (pool) addresses to fetch full data for, interpreted on <b>network</b>. You can also paste DexScreener URLs in Start URLs instead.

## `poolAddresses` (type: `array`):

Pool addresses to fetch candlestick (OHLCV) history for, on <b>network</b>. You can also paste GeckoTerminal pool URLs in Start URLs.

## `startUrls` (type: `array`):

Paste DexScreener pair URLs (<code>dexscreener.com/\<chain>/\<pair></code>) or GeckoTerminal pool / token URLs (<code>geckoterminal.com/\<network>/pools/\<addr></code> · <code>/tokens/\<addr></code>). Routed automatically to the matching mode.

## `dex` (type: `string`):

Optional GeckoTerminal DEX id to restrict Top pools to one exchange, e.g. <code>raydium</code>, <code>uniswap\_v3</code>, <code>pancakeswap\_v3</code>, <code>aerodrome</code>. Leave blank for all DEXes on the chain.

## `trendingDuration` (type: `string`):

Time window used to rank trending pools.

## `poolsSort` (type: `string`):

How to order pools in Top pools mode.

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

Candle resolution for OHLCV history.

## `aggregate` (type: `integer`):

Aggregate candles, e.g. timeframe=minute + aggregate=15 → 15-minute candles; timeframe=hour + aggregate=4 → 4-hour candles. Supported: minute 1/5/15, hour 1/4/12, day 1.

## `ohlcvLimit` (type: `integer`):

How many candles to return per pool (max 1000).

## `includeTokenInfo` (type: `boolean`):

In Token info mode, also fetch the token's metadata profile: description, website, Twitter/X, Telegram, Discord, GT trust score & breakdown, holder count and holder distribution. Adds one API call per token.

## `includeBoosts` (type: `boolean`):

In Token profiles mode, also pull DexScreener's boosted (paid-promotion) tokens and attach boost amounts — a strong signal of active marketing spend.

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

Only keep pools/pairs with at least this much liquidity (reserve) in USD. Great for filtering out dust/scam pools in New/Trending/Top/Search modes.

## `minVolume24hUsd` (type: `integer`):

Only keep pools/pairs with at least this much 24h trading volume in USD.

## `minTxns24h` (type: `integer`):

Only keep pools/pairs with at least this many buys+sells in the last 24h.

## `maxPoolAgeHours` (type: `integer`):

Only keep pools/pairs created within this many hours — e.g. 24 for tokens launched in the last day.

## `maxResults` (type: `integer`):

Maximum number of records to scrape in this run.

## `deduplicateResults` (type: `boolean`):

Skip records already emitted in this run (recommended).

## `monitorMode` (type: `boolean`):

Remember ids across runs in a named key-value store and emit ONLY records not seen before — e.g. brand-new pools/pairs, newly listed tokens or new token profiles. Perfect for new-launch alerts and sniper feeds. Works with Apify Schedules.

## `monitorKey` (type: `string`):

Names the memory used by monitoring mode. Use a distinct key per saved watch so different monitors don't share state.

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

Maximum parallel requests. The DEX APIs rate-limit per IP — the actor rotates a fresh proxy IP per request, so 4–8 is safe.

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

Proxy settings. The default Apify Proxy rotates IPs so the free per-IP rate limits of the DEX APIs are spread across many addresses.

## Actor input object example

```json
{
  "mode": "trendingPools",
  "network": "solana",
  "searchQueries": [
    "WIF"
  ],
  "trendingDuration": "24h",
  "poolsSort": "h24_volume_usd_desc",
  "timeframe": "hour",
  "aggregate": 1,
  "ohlcvLimit": 100,
  "includeTokenInfo": true,
  "includeBoosts": true,
  "maxResults": 100,
  "deduplicateResults": true,
  "monitorMode": false,
  "monitorKey": "default",
  "maxConcurrency": 4,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped records as JSON items in the default dataset.

# 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 = {
    "network": "solana",
    "searchQueries": [
        "WIF"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/dex-token-scraper").call(input);

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

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

```

## Python example

```python
from apify_client import ApifyClient

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

# Prepare the Actor input
run_input = {
    "network": "solana",
    "searchQueries": ["WIF"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/dex-token-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "network": "solana",
  "searchQueries": [
    "WIF"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapesage/dex-token-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapesage/dex-token-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Ktl8pTbZnyB5rrJkU/builds/irQCE1uhlceae09cZ/openapi.json
