Dataspryva

DexScreener Token Pair & Boosted Token Scraper

Look up decentralized exchange trading pairs by token or pair address, search tokens by name or symbol, or pull the latest boosted tokens and token profiles across 20 blockchains. Returns price, liquidity, volume, and transaction counts.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
modestringrequiredWhat to collect. Each mode uses its own fields below.
queriesarrayoptionalToken names, symbols, pair text such as SOL/USDC, token addresses, or DexScreener URLs. Multiple queries fan out. (mode=search)
tokenAddressesstringoptionalOne or more token contract addresses or DexScreener token URLs, separated by commas or new lines. (mode=byToken, orders)
Show all input fields
FieldTypeRequiredDescription
modestringrequiredWhat to collect. Each mode uses its own fields below.
queriesarrayoptionalToken names, symbols, pair text such as SOL/USDC, token addresses, or DexScreener URLs. Multiple queries fan out. (mode=search)
tokenAddressesstringoptionalOne or more token contract addresses or DexScreener token URLs, separated by commas or new lines. (mode=byToken, orders)
pairAddressesarrayoptionalPair URLs, chain:pairAddress, or bare pair addresses. Bare addresses need a specific chain. (mode=byPair)
chainIdstringoptionalBlockchain to read. Required for byToken when not 'all', for bare pair addresses, and for orders. Also filters search and promotion feeds locally.
customChainIdstringoptionalOptional override for a chain added after this release, e.g. 'newchain'. When set it replaces Chain.
feedstringoptionalWhich live promotion feed to read. (mode=discovery)
metaSlugsarrayoptionalNarrative slugs such as ai, dog, cat, or x402. Run mode=metas to discover live slugs. (mode=metaPairs)
allPoolsbooleanoptionalWhen on, byToken returns every pool of each token on the chain. When off, it returns the best pair per token.
minLiquidityUsdnumberoptionalSkip pairs with liquidity below this USD value.
maxLiquidityUsdnumberoptionalSkip pairs with liquidity above this USD value.
minVolume24hUsdnumberoptionalSkip pairs with 24-hour volume below this USD value.
maxVolume24hUsdnumberoptionalSkip pairs with 24-hour volume above this USD value.
minMarketCapUsdnumberoptionalSkip pairs below this market cap. Uses FDV when market cap is missing.
maxMarketCapUsdnumberoptionalSkip pairs above this market cap. Uses FDV when market cap is missing.
minFdvUsdnumberoptionalSkip pairs with a fully diluted valuation below this USD value.
maxFdvUsdnumberoptionalSkip pairs with a fully diluted valuation above this USD value.
minTxns24hintegeroptionalSkip pairs with fewer buys plus sells in the last 24 hours.
maxTxns24hintegeroptionalSkip pairs with more buys plus sells in the last 24 hours.
minPriceChange24hnumberoptionalSkip pairs whose 24-hour price change is below this percent. Negative values allowed.
maxPriceChange24hnumberoptionalSkip pairs whose 24-hour price change is above this percent. Negative values allowed.
minAgeHoursnumberoptionalSkip pairs younger than this many hours.
maxAgeHoursnumberoptionalSkip pairs older than this many hours. Use 24 to keep pairs launched today.
dexIdsarrayoptionalKeep only these DEX protocols, e.g. uniswap, raydium, aerodrome. Empty means all.
quoteSymbolsarrayoptionalKeep only pairs quoted in these assets, e.g. USDC, SOL, WETH. Empty means all.
sortBystringoptionalSort results within each query, token, or feed. Missing values are always last.
sortOrderstringoptionalLargest/oldest first or smallest/newest first. Pair age ascending means newest first.
onePairPerTokenbooleanoptionalKeep only the most liquid pair for each token.
includeInfobooleanoptionalAdd logo, header image, website and social links when DexScreener has them.
includeMarketDatabooleanoptionalFor promotion feeds, attach price, liquidity, volume, market cap and age of each token's best pair.
expandChainSearchbooleanoptionalWhen a chain is selected, also search quote variants and pull the token pools to get past the 30-pair search cap.
chainSearchTokensintegeroptionalHow many matching tokens get their pools fetched when widening a chain search. 0 = quote variants only.
includeFlagsbooleanoptionalAdd heuristic flags such as low liquidity, new pair, sell pressure, or no socials.
newPairHoursintegeroptionalPairs younger than this many hours get a new_pair flag.
maxItemsPerQueryintegeroptionalMaximum records from each query, token, or feed. DexScreener caps search at 30.
maxItemsintegeroptionalHard cap on records for the whole run.

Download the published input schema

View complete JSON
{
  "description": "Search tokens and pairs, inspect every pool of a token, monitor pairs, or pull promotion feeds, narratives and paid orders from DexScreener's public API.",
  "properties": {
    "allPools": {
      "default": false,
      "description": "When on, byToken returns every pool of each token on the chain. When off, it returns the best pair per token.",
      "prefill": false,
      "title": "All pools per token",
      "type": "boolean"
    },
    "chainId": {
      "default": "all",
      "description": "Blockchain to read. Required for byToken when not 'all', for bare pair addresses, and for orders. Also filters search and promotion feeds locally.",
      "editor": "select",
      "enum": [
        "all",
        "abstract",
        "algorand",
        "aptos",
        "arbitrum",
        "arc",
        "avalanche",
        "base",
        "beam",
        "berachain",
        "blast",
        "bsc",
        "celo",
        "conflux",
        "cronos",
        "ethereum",
        "fantom",
        "fuse",
        "flare",
        "flowevm",
        "harmony",
        "heco",
        "hedera",
        "hyperevm",
        "hyperliquid",
        "ink",
        "injective",
        "kava",
        "klaytn",
        "linea",
        "manta",
        "mantle",
        "metis",
        "monad",
        "moonbeam",
        "moonriver",
        "gnosis",
        "movement",
        "multiversx",
        "near",
        "okex",
        "optimism",
        "cro",
        "plasma",
        "polygon",
        "pulsechain",
        "robinhood",
        "scroll",
        "seiv2",
        "solana",
        "soneium",
        "sonic",
        "stacks",
        "starknet",
        "sui",
        "telos",
        "ton",
        "tron",
        "unichain",
        "worldchain",
        "xrpl",
        "zksync"
      ],
      "enumTitles": [
        "All chains",
        "Abstract",
        "Algorand",
        "Aptos",
        "Arbitrum",
        "Arc",
        "Avalanche",
        "Base",
        "Beam",
        "Berachain",
        "Blast",
        "BNB Smart Chain (BSC)",
        "Celo",
        "Conflux",
        "Cronos",
        "Ethereum",
        "Fantom",
        "Fuse",
        "Flare",
        "Flow EVM",
        "Harmony",
        "HECO",
        "Hedera",
        "HyperEVM",
        "Hyperliquid",
        "Ink",
        "Injective",
        "Kava",
        "Klaytn",
        "Linea",
        "Manta",
        "Mantle",
        "Metis",
        "Monad",
        "Moonbeam",
        "Moonriver",
        "Gnosis",
        "Movement",
        "MultiversX",
        "NEAR",
        "OKEx Chain",
        "Optimism",
        "Crypto.com Chain",
        "Plasma",
        "Polygon",
        "PulseChain",
        "Robinhood",
        "Scroll",
        "Sei V2",
        "Solana",
        "Soneium",
        "Sonic",
        "Stacks",
        "Starknet",
        "Sui",
        "Telos",
        "TON",
        "Tron",
        "Unichain",
        "World Chain",
        "XRP Ledger",
        "zkSync"
      ],
      "prefill": "all",
      "title": "Chain",
      "type": "string"
    },
    "chainSearchTokens": {
      "default": 10,
      "description": "How many matching tokens get their pools fetched when widening a chain search. 0 = quote variants only.",
      "maximum": 30,
      "minimum": 0,
      "prefill": 10,
      "title": "Tokens to widen",
      "type": "integer"
    },
    "customChainId": {
      "description": "Optional override for a chain added after this release, e.g. 'newchain'. When set it replaces Chain.",
      "editor": "textfield",
      "title": "Custom chain id",
      "type": "string"
    },
    "dexIds": {
      "description": "Keep only these DEX protocols, e.g. uniswap, raydium, aerodrome. Empty means all.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "DEX filter",
      "type": "array"
    },
    "expandChainSearch": {
      "default": true,
      "description": "When a chain is selected, also search quote variants and pull the token pools to get past the 30-pair search cap.",
      "prefill": true,
      "title": "Widen search by chain",
      "type": "boolean"
    },
    "feed": {
      "default": "boostedTop",
      "description": "Which live promotion feed to read. (mode=discovery)",
      "editor": "select",
      "enum": [
        "boostedTop",
        "boostedLatest",
        "profilesLatest",
        "profilesUpdated",
        "takeovers",
        "ads"
      ],
      "enumTitles": [
        "Most-boosted tokens",
        "Newest boosts",
        "Newest token profiles",
        "Recently updated profiles",
        "Community takeovers",
        "Paid ads"
      ],
      "prefill": "boostedTop",
      "title": "Promotion feed",
      "type": "string"
    },
    "includeFlags": {
      "default": true,
      "description": "Add heuristic flags such as low liquidity, new pair, sell pressure, or no socials.",
      "prefill": true,
      "title": "Include risk flags",
      "type": "boolean"
    },
    "includeInfo": {
      "default": true,
      "description": "Add logo, header image, website and social links when DexScreener has them.",
      "prefill": true,
      "title": "Include token info",
      "type": "boolean"
    },
    "includeMarketData": {
      "default": true,
      "description": "For promotion feeds, attach price, liquidity, volume, market cap and age of each token's best pair.",
      "prefill": true,
      "title": "Include market data",
      "type": "boolean"
    },
    "maxAgeHours": {
      "description": "Skip pairs older than this many hours. Use 24 to keep pairs launched today.",
      "maximum": 1000000,
      "minimum": 0,
      "title": "Max pair age (hours)",
      "type": "number"
    },
    "maxFdvUsd": {
      "description": "Skip pairs with a fully diluted valuation above this USD value.",
      "maximum": 1000000000000000,
      "minimum": 0,
      "title": "Max FDV (USD)",
      "type": "number"
    },
    "maxItems": {
      "default": 100,
      "description": "Hard cap on records for the whole run.",
      "maximum": 10000,
      "minimum": 1,
      "prefill": 1,
      "title": "Max items",
      "type": "integer"
    },
    "maxItemsPerQuery": {
      "default": 30,
      "description": "Maximum records from each query, token, or feed. DexScreener caps search at 30.",
      "maximum": 500,
      "minimum": 1,
      "prefill": 30,
      "title": "Max per query",
      "type": "integer"
    },
    "maxLiquidityUsd": {
      "description": "Skip pairs with liquidity above this USD value.",
      "maximum": 1000000000000,
      "minimum": 0,
      "title": "Max liquidity (USD)",
      "type": "number"
    },
    "maxMarketCapUsd": {
      "description": "Skip pairs above this market cap. Uses FDV when market cap is missing.",
      "maximum": 1000000000000000,
      "minimum": 0,
      "title": "Max market cap (USD)",
      "type": "number"
    },
    "maxPriceChange24h": {
      "description": "Skip pairs whose 24-hour price change is above this percent. Negative values allowed.",
      "maximum": 100000,
      "minimum": -100,
      "title": "Max 24h change (%)",
      "type": "number"
    },
    "maxTxns24h": {
      "description": "Skip pairs with more buys plus sells in the last 24 hours.",
      "maximum": 1000000000,
      "minimum": 0,
      "title": "Max 24h transactions",
      "type": "integer"
    },
    "maxVolume24hUsd": {
      "description": "Skip pairs with 24-hour volume above this USD value.",
      "maximum": 1000000000000,
      "minimum": 0,
      "title": "Max 24h volume (USD)",
      "type": "number"
    },
    "metaSlugs": {
      "description": "Narrative slugs such as ai, dog, cat, or x402. Run mode=metas to discover live slugs. (mode=metaPairs)",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "Narrative slugs",
      "type": "array"
    },
    "minAgeHours": {
      "description": "Skip pairs younger than this many hours.",
      "maximum": 1000000,
      "minimum": 0,
      "title": "Min pair age (hours)",
      "type": "number"
    },
    "minFdvUsd": {
      "description": "Skip pairs with a fully diluted valuation below this USD value.",
      "maximum": 1000000000000000,
      "minimum": 0,
      "title": "Min FDV (USD)",
      "type": "number"
    },
    "minLiquidityUsd": {
      "description": "Skip pairs with liquidity below this USD value.",
      "maximum": 1000000000000,
      "minimum": 0,
      "title": "Min liquidity (USD)",
      "type": "number"
    },
    "minMarketCapUsd": {
      "description": "Skip pairs below this market cap. Uses FDV when market cap is missing.",
      "maximum": 1000000000000000,
      "minimum": 0,
      "title": "Min market cap (USD)",
      "type": "number"
    },
    "minPriceChange24h": {
      "description": "Skip pairs whose 24-hour price change is below this percent. Negative values allowed.",
      "maximum": 100000,
      "minimum": -100,
      "title": "Min 24h change (%)",
      "type": "number"
    },
    "minTxns24h": {
      "description": "Skip pairs with fewer buys plus sells in the last 24 hours.",
      "maximum": 1000000000,
      "minimum": 0,
      "title": "Min 24h transactions",
      "type": "integer"
    },
    "minVolume24hUsd": {
      "description": "Skip pairs with 24-hour volume below this USD value.",
      "maximum": 1000000000000,
      "minimum": 0,
      "title": "Min 24h volume (USD)",
      "type": "number"
    },
    "mode": {
      "default": "search",
      "description": "What to collect. Each mode uses its own fields below.",
      "editor": "select",
      "enum": [
        "search",
        "byToken",
        "byPair",
        "discovery",
        "metas",
        "metaPairs",
        "orders",
        "byTokenAddress",
        "byPairAddress",
        "trending",
        "byProfile"
      ],
      "enumTitles": [
        "Search tokens and pairs",
        "Token lookup (pools or best pair)",
        "Pair lookup by address or URL",
        "Promotion feeds (boosts, profiles, takeovers, ads)",
        "Trending narratives",
        "Pairs inside narratives",
        "Paid orders for tokens",
        "Token lookup (legacy)",
        "Pair lookup (legacy)",
        "Boosted tokens (legacy)",
        "Token profiles (legacy)"
      ],
      "prefill": "search",
      "title": "Mode",
      "type": "string"
    },
    "newPairHours": {
      "default": 24,
      "description": "Pairs younger than this many hours get a new_pair flag.",
      "maximum": 720,
      "minimum": 1,
      "prefill": 24,
      "title": "New pair threshold",
      "type": "integer"
    },
    "onePairPerToken": {
      "default": false,
      "description": "Keep only the most liquid pair for each token.",
      "prefill": false,
      "title": "One pair per token",
      "type": "boolean"
    },
    "pairAddresses": {
      "description": "Pair URLs, chain:pairAddress, or bare pair addresses. Bare addresses need a specific chain. (mode=byPair)",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "Pair addresses or URLs",
      "type": "array"
    },
    "queries": {
      "description": "Token names, symbols, pair text such as SOL/USDC, token addresses, or DexScreener URLs. Multiple queries fan out. (mode=search)",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "prefill": [
        "USDC"
      ],
      "title": "Search queries",
      "type": "array"
    },
    "quoteSymbols": {
      "description": "Keep only pairs quoted in these assets, e.g. USDC, SOL, WETH. Empty means all.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "Quote symbols",
      "type": "array"
    },
    "sortBy": {
      "default": "none",
      "description": "Sort results within each query, token, or feed. Missing values are always last.",
      "editor": "select",
      "enum": [
        "none",
        "liquidity",
        "volume24h",
        "volume1h",
        "volume6h",
        "marketCap",
        "fdv",
        "priceChange5m",
        "priceChange1h",
        "priceChange6h",
        "priceChange24h",
        "txns24h",
        "buys24h",
        "sells24h",
        "buySellRatio24h",
        "pairAge",
        "boosts"
      ],
      "enumTitles": [
        "Source order",
        "Liquidity",
        "24h volume",
        "1h volume",
        "6h volume",
        "Market cap",
        "FDV",
        "5m price change",
        "1h price change",
        "6h price change",
        "24h price change",
        "24h transactions",
        "24h buys",
        "24h sells",
        "24h buy/sell ratio",
        "Pair age",
        "Active boosts"
      ],
      "prefill": "none",
      "title": "Sort by",
      "type": "string"
    },
    "sortOrder": {
      "default": "desc",
      "description": "Largest/oldest first or smallest/newest first. Pair age ascending means newest first.",
      "editor": "select",
      "enum": [
        "desc",
        "asc"
      ],
      "enumTitles": [
        "Descending",
        "Ascending"
      ],
      "prefill": "desc",
      "title": "Sort order",
      "type": "string"
    },
    "tokenAddresses": {
      "description": "One or more token contract addresses or DexScreener token URLs, separated by commas or new lines. (mode=byToken, orders)",
      "editor": "textarea",
      "title": "Token addresses",
      "type": "string"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "DexScreener Scraper Input",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
recordsstringoptionalScraped DexScreener records

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "description": "DexScreener pair, pool, boosted-token, profile, takeover, ad, narrative and paid-order records with price, liquidity, volume, transaction counts, token info and risk flags.",
  "properties": {
    "records": {
      "description": "Scraped DexScreener records",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Records",
      "type": "string"
    }
  },
  "title": "DexScreener Token Pair & Boosted Token Scraper Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "views": {
    "overview": {
      "display": {
        "component": "table",
        "properties": {}
      },
      "title": "Pairs",
      "transformation": {
        "fields": [
          "chainId",
          "dexId",
          "pairAddress",
          "tokenSymbol",
          "quoteTokenSymbol",
          "priceUsd",
          "liquidity",
          "volume",
          "marketCap",
          "info",
          "flags",
          "pairUrl"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

DexScreener Token Pair & Boosted Token Scraper

DexScreener is the market screen for on-chain trading: live pairs across DEXs and dozens of chains, plus the paid boosts, profiles, takeovers, ads and narratives that drive attention. This actor reads DexScreener's official public API and returns clean, analysis-ready records for token research, pair monitoring and promotion tracking. No wallet, API key, cookie or proxy is needed.

What this actor does

  • Search tokens and pairs by name, symbol, pair text such as SOL/USDC, contract address, or a pasted DexScreener URL.
  • Inspect a token: best pair per token on one chain, or every pool of the token.
  • Monitor pairs by address or URL, many at a time.
  • Pull six promotion feeds: most-boosted tokens, newest boosts, newest profiles, recently updated profiles, community takeovers and paid ads.
  • Follow narratives: trending metas, then the pairs inside each meta.
  • Check paid orders: profile, ad and takeover orders plus boost purchases for a token.
  • Filter and sort by liquidity, 24h volume, market cap, FDV, transactions, 24h price change, pair age, DEX and quote symbol.
  • Token info and risk flags: logo, header, website and social links when available; heuristic flags such as low liquidity, new pair, sell pressure or no socials.

Output per record type

Empty fields are omitted. Every record has recordType, siteName and scrapedAt.

Pair (pair)

  • chainId, dexId, pairAddress, pairUrl
  • id - chain:pairAddress
  • tokenAddress, tokenName, tokenSymbol, quoteTokenAddress, quoteTokenSymbol
  • baseToken, quoteToken - {address, name, symbol}
  • priceNative, priceUsd
  • liquidity - {usd, base, quote}
  • fdv, marketCap
  • volume - {h24, h6, h1, m5}
  • priceChange - {h24, h6, h1, m5}
  • txns - buy/sell counts for the same windows
  • pairCreatedAt, ageHours
  • labels, boosts
  • buySellRatio24h, volumeToLiquidity24h
  • info - {imageUrl, header, openGraph, websites[], socials[]}
  • flags[] - low_liquidity, no_liquidity_data, suspicious_liquidity, new_pair_<N>h, sell_pressure, no_sells_24h, extreme_price_move_24h, volume_over_10x_liquidity, no_profile, no_socials
  • query, rank, metaSlug, metaName when relevant
  • querySide, tokenPriceUsd for token lookups where the token is the quote side

Boosted token (boostedToken) and token profile (tokenProfile)

  • chainId, tokenAddress, tokenUrl, pairUrl
  • icon, header, openGraph, description, links[]
  • boostAmount, boostTotalAmount (boosts)
  • cto (profiles), updatedAt (recently updated profiles)
  • rank, listType
  • Market data when enabled: symbol, name, priceUsd, quoteSymbol, dexId, liquidityUsd, fdv, marketCap, volume24h, priceChange1h, priceChange24h, pairCreatedAt, ageHours, pairsFound, topPairAddress, topPairUrl

Community takeover (communityTakeover) and ad (ad)

  • Takeover: chainId, tokenAddress, tokenUrl, pairUrl, icon, header, openGraph, description, links[], market data, plus claimDate.
  • Ad: tokenAddress, tokenUrl, adDate, adType, adImpressions, optional adDurationHours, plus market data.

Narrative (meta)

  • slug, name, description, icon, iconType
  • marketCap, liquidity, volume, tokenCount
  • marketCapChange, marketCapDelta for m5, h1, h6, h24
  • rank

Paid orders (orders)

  • chainId, tokenAddress
  • ordersCount, approvedCount, hasApprovedProfile, hasPaidAds, lastPaymentAt
  • orders[] - {type, status, paymentTimestamp}
  • boosts[] - {id, amount, paymentTimestamp}
  • totalBoostAmount

Input

Field Type Default Description
mode string search search, byToken, byPair, discovery, metas, metaPairs, orders
queries array – Names, symbols, SOL/USDC, addresses or DexScreener URLs (mode=search)
tokenAddresses string - Token addresses or URLs, comma/newline separated (mode=byToken, orders)
pairAddresses array - Pair URLs, chain:pairAddress, or bare pair addresses (mode=byPair)
chainId string all Chain scope; required for byToken (unless all), bare pairs, and orders
customChainId string - Override for a chain added after this release
feed string boostedTop boostedTop, boostedLatest, profilesLatest, profilesUpdated, takeovers, ads
metaSlugs array - Narrative slugs such as ai, dog, cat (mode=metaPairs)
allPools boolean false byToken: every pool of the token instead of the best pair
minLiquidityUsd / maxLiquidityUsd number - Keep pairs inside this liquidity range
minVolume24hUsd / maxVolume24hUsd number - Keep pairs inside this 24h volume range
minMarketCapUsd / maxMarketCapUsd number - Uses market cap, or FDV when market cap is missing
minFdvUsd / maxFdvUsd number - Keep pairs inside this FDV range
minTxns24h / maxTxns24h integer - Buys plus sells in the last 24 hours
minPriceChange24h / maxPriceChange24h number - 24h price change in percent; negatives allowed
minAgeHours / maxAgeHours number - Pair age in hours
dexIds array - Keep only these DEX protocols
quoteSymbols array - Keep only these quote assets
sortBy string none Sort by liquidity, volume, market cap, FDV, change, transactions, age or boosts
sortOrder string desc desc or asc; age ascending means newest first
onePairPerToken boolean false Keep the most liquid pair per token
includeInfo boolean true Add logo, header, websites and socials
includeMarketData boolean true Attach best-pair market data to promotion feeds
expandChainSearch boolean true Widen a chain-filtered search past the 30-pair cap
chainSearchTokens integer 10 Matching tokens whose pools are fetched when widening
includeFlags boolean true Add heuristic risk flags
newPairHours integer 24 Threshold for the new-pair flag
maxItemsPerQuery integer 30 Cap per query, token, feed or meta
maxItems integer 100 Cap for the whole run

Example: search across all chains

{
  "mode": "search",
  "queries": ["PEPE", "WIF", "AERO"],
  "sortBy": "volume24h",
  "maxItems": 50
}

Older saved tasks that use query, pairAddress, minVolumeH24, or the previous mode names (byTokenAddress, byPairAddress, trending, byProfile) keep working.

Example: every pool of a token on Solana

{
  "mode": "byToken",
  "chainId": "solana",
  "tokenAddresses": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "allPools": true,
  "minLiquidityUsd": 10000,
  "maxItems": 30
}

Example: newest boosted tokens with market data

{
  "mode": "discovery",
  "feed": "boostedLatest",
  "includeMarketData": true,
  "minLiquidityUsd": 5000,
  "maxItems": 30
}

Example: paid orders for a token

{
  "mode": "orders",
  "chainId": "solana",
  "tokenAddresses": "So11111111111111111111111111111111111111112",
  "maxItems": 1
}

Use cases

  • Token screening - rank pairs by liquidity, volume, age or price change before deeper research.
  • Liquidity mapping - pull every pool of a token to see where it actually trades.
  • Launch monitoring - watch newest profiles, boosts, takeovers and ads for emerging projects.
  • Narrative research - follow trending metas and compare the pairs inside them.
  • Promotion due diligence - check whether a token paid for profiles, ads or boosts.
  • Scheduled snapshots - keep a time series of prices, liquidity and volume for a watchlist.

FAQ

Is this affiliated with DexScreener?

No. This is an independent actor that reads DexScreener's public API. Data belongs to DexScreener.

Do I need a wallet, API key or proxy?

No. Every mode works without an account, key or proxy.

Why did I get fewer records than maxItems?

DexScreener caps a search at 30 pairs per query and has no pagination. Pools per token are capped at 30. The promotion feeds return at most 30 rows for boosts, profiles and ads, 11 for takeovers, 18 trending narratives and 49 pairs per narrative feed. Repeated boosts or ads for the same token are collapsed into one record. Use multiple queries, byToken with allPools, or several chains to widen coverage.

How do I get every pool of a token?

Use byToken with a specific chain and allPools: true. A search is capped at 30 pairs across all chains; pool lookup is scoped to the token and chain.

Are the filters applied by DexScreener?

No. The public API has no filter parameters, so filters and sorting run in the actor after the fetch. That also means a filter cannot recover rows beyond the source cap.

Why are info or some flags missing from a pair?

Token images, websites and socials are optional on DexScreener, and some market fields do not exist for brand-new pairs. Missing values are omitted, not sent as null. Flags are heuristics for triage, not verdicts.

What is the difference between the boost and profile feeds?

boostedTop and boostedLatest return tokens with paid boosts (ranked or newest). profilesLatest and profilesUpdated return token profile submissions, and takeovers returns community takeover events.

Does this actor include OHLC candles, holders or top traders?

No. Those are not part of DexScreener's official public API. This actor covers pairs, pools, promotion feeds, narratives and paid orders.

How fresh is the data?

Every run reads DexScreener live, so prices, liquidity, volume and promotions reflect the market at run time.

Is this financial advice?

No. It is market data for research and monitoring; verify token contracts independently.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build yo7tmA6LqmLYqmoGa. Documentation is regenerated from the default published build; private drafts are not included.