Discovery and markets API
Which tokens are trending right now?
An activity-based (searches, trading) ranking of the tokens trending now, in rank order: on-chain trading per chain or across chains, or search interest market-wide. Price, 24h change, volume, cap.
/api/external/discovery/trending-tokensWhat it returns
An activity-based (searches, trading) ranking of the tokens trending right now, in rank order. basis picks the activity: trading (default) ranks tokens on their on-chain trading over the trailing day, on one chain or across every chain; searches ranks coins on how much they are being searched for, across the whole market. The order is the ranking's own and is never re-sorted here; rank is the position, and no underlying score is published.
`searches` is not chain-scoped. It ranks coins, not one chain's tokens, so its rows carry coinId instead of chain and address, and asking it for a chain is a 400.
With a `chain`, a second ranking answers when the main one fails or ranks nothing: at most 50 tokens in its own order (about a third to half of them are also in the main ranking), holders null, and liquidity counted across all of a token's pools, about 2x the main figure; volume reads somewhat higher too. Prices agree within 5% on most tokens both rank. The ranking across every chain has no second source.
Trending is attention, not quality: a token can trend because it is collapsing. For the biggest price moves use market-movers; for the pools trending, trending-pools.
Chains
- Solana SOL
- Ethereum ETH
- BNB Chain BNB
- Base BASE
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/trending-tokens"
| Parameter | Description |
|---|---|
basisquery · string · optional | The activity ranked on. trading (default): on-chain trading. searches: search interest, not chain-scoped.tradingsearches |
chainquery · string · optional | Basis trading only: rank within this chain. Omit for every chain. A 400 on basis searches. |
limitquery · integer · optional | How many tokens to return from the top, 1 to 100. Defaults to 20. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
basis | string | The activity ranked on. |
chain | string | null | The chain ranked within, or null for every chain. |
listSize | integer | How many tokens the ranking held, before limit. The searches ranking is short (15 when measured); the second trading ranking holds at most 50. |
count | integer | How many rows are in tokens. |
tokens | object[] | In rank order. |
tokens[].rank | integer | Position in the ranking, 1 = most trending. |
tokens[].chain | string | null | Basis trading: the chain the token trades on, or null when it is a chain this API does not publish (the ranking across every chain includes some). Always null on basis searches. |
tokens[].chainRef | string | null | Basis trading: the chain identifier as ranked, e.g. solana or 0x38, present even when chain is null. Null on basis searches. |
tokens[].address | string | null | Basis trading: the mint or contract address. Null on basis searches. |
tokens[].coinId | string | null | Basis searches: the coin id, e.g. bitcoin — that ranking is of coins, not of one chain's tokens. Null on basis trading. |
tokens[].symbol | string | null | Ticker. |
tokens[].name | string | null | Name. |
tokens[].priceUsd | number | null | Price in USD. |
tokens[].priceChangePercent24h | number | null | Price change over the trailing 24h, in PERCENT (12.5 = +12.5 %). |
tokens[].volumeUsd24h | number | null | Traded volume over the trailing 24h, USD. |
tokens[].marketCapUsd | number | null | Market cap, USD. |
tokens[].liquidityUsd | number | null | Basis trading: USD liquidity in the token's pools; from the second ranking, counted across all of them (about 2x the main figure). Null on basis searches. |
tokens[].holders | integer | null | Basis trading: holder count; null from the second ranking. Null on basis searches. |
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