Discovery and markets API
Filter tokens by liquidity, market cap, volume, holders or recent listing
Screens one chain's live tokens by liquidity, market cap, volume, holders or recent listing. minLiquidityUsd is required — unbounded returns wash-traded, near-zero-depth rows that look real.
/api/external/discovery/screener/{chain}What it returns
Filters and sorts one chain's live token population by liquidity, market cap, 24h volume, holder count and recent-listing time. minLiquidityUsd is REQUIRED and must be a positive number: an unbounded (or zero-bounded) screen returns a well-formed page of near-zero-liquidity, wash-traded rows that read exactly like real matches — bounding solely on market cap or volume without also bounding liquidity was measured to return the same kind of row (a market-cap-real token trading under $1 of pooled depth). listedAfterUnixTime/listedBeforeUnixTime bound the underlying source's own "recently listed" tracking, which is null for most of the market (including every established token) — this is a "listed within this window" filter, not a general token-age filter. maxHolders and maxVolume24hUsd are deliberately not offered: both are accepted by the underlying source and silently ignored, verified with a byte-identical page returned with and without the bound. Chain-scoped: SOL, ETH, BNB, BASE and RHC are served today; STABLE and ARC currently 400 — no wired screener source covers them on this deployment.
Chains
- Solana SOL
- BNB Chain BNB
- Ethereum ETH
- Base BASE
- Robinhood Chain RHC
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/discovery/screener/SOL?minLiquidityUsd=<minLiquidityUsd>"
| Parameter | Description |
|---|---|
minLiquidityUsdquery · number · required | REQUIRED. Only tokens with at least this much pooled USD liquidity are returned. Must be a positive number (enforced after the API-key gate; see above) — there is no unbounded or zero-bounded mode. |
maxLiquidityUsdquery · number · optional | Only tokens with at most this much pooled USD liquidity. |
minMarketCapUsdquery · number · optional | Only tokens with at least this much USD market cap. |
maxMarketCapUsdquery · number · optional | Only tokens with at most this much USD market cap. |
minVolume24hUsdquery · number · optional | Only tokens with at least this much 24h USD trading volume. |
minHoldersquery · number · optional | Only tokens with at least this many holders. |
listedAfterUnixTimequery · number · optional | Unix seconds. Only tokens the underlying source's own "recently listed" tracking marks as listed AT OR AFTER this instant. That field is null for most of the market — this bounds a "recently listed" signal, not a general token-age filter. |
listedBeforeUnixTimequery · number · optional | Unix seconds. The mirror of listedAfterUnixTime: listed AT OR BEFORE this instant. |
sortByquery · string · optional | Which field to rank by. Defaults to volume24hUsd, the source's own default ranking.liquidityUsdmarketCapUsdvolume24hUsdholdersrecentListingUnixTime |
sortOrderquery · string · optional | Ranking direction. Defaults to desc.ascdesc |
limitquery · integer · optional | How many rows to return, in the requested sort order. Defaults to 20 when omitted; capped at 100 — the wired source's own per-call ceiling (enforced after the API-key gate; see above). |
offsetquery · integer · optional | 0-based row offset, for paging through a screen. offset + limit must not exceed 10000 — the wired source's own ceiling (enforced after the API-key gate; see above). |
chainpath · string · required | The chain to query. SOL, ETH, BNB, BASE and RHC are served; STABLE and ARC both return 400. CELO, ARB, OP and SCROLL return 400 here. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
results | object[] | Ranked by sortBy/sortOrder. Empty when nothing on this chain matched every bound. |
results[].address | string | The token's mint (Solana) or contract address (EVM). |
results[].name | string | null | The token's name, or null when none was reported. |
results[].symbol | string | null | The token's ticker, or null when none was reported. |
results[].priceUsd | number | null | Current price in USD, or null when not reported. |
results[].marketCapUsd | number | null | Market capitalisation in USD, or null when not reported. |
results[].liquidityUsd | number | null | Pooled market depth in USD, or null when not reported. |
results[].volume24hUsd | number | null | 24-hour trading volume in USD, or null when not reported. |
results[].holders | number | null | Holder count, or null when not reported for this chain. |
results[].recentListingUnixTime | number | null | Unix seconds this token was marked as recently listed by the underlying source, or null — which is the common case, not a signal that the token is old. |
hasMore | boolean | null | Whether more rows exist beyond this page, per the source's own pagination signal. null only if the source omitted it, which has not been observed live. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key