Discovery and markets API
Which tokens are behind this trending narrative?
One trending sector (cat, ai, x402…) by id or name: its tokens on every chain with address, price, market cap and pool, plus the sector's own market cap, volume and momentum.
/api/external/discovery/trending-sector-tokens/{id}What it returns
One sector from trending-sectors (cat, ai, x402…), by id or display name in any case: its header exactly as that list shows it, and its tokens on every chain, largest market cap first, each with price, market cap, FDV and the one pool its price was read from. Only a sector trending right now is accepted — the list turns over, and a sector that dropped off it returns 404. The token list can be a subset of the sector: tokenCount is how many tokens the sector files, count how many came back, and complete is false when fewer came back — measured, 45 of 98 on the largest sector. Those rows are not guaranteed to be its largest.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
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-sector-tokens/<id>"
| Parameter | Description |
|---|---|
idpath · string · required | A sector trending right now, by id (e.g. "cat", "x402") or by display name, in any case, exactly as the trending-sector listing publishes it — not a token mint or contract address, and not a market-sector or on-chain sector id, which are different id spaces. Only a sector on the current list is accepted. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
rank | integer | Position in the activity-based ranking, 1 = most active right now. |
id | string | The sector id, e.g. cat or x402 — what trending-sector-tokens takes. Not a market-sector id (sectors) or an on-chain sector id (sector-pools): the three id spaces do not overlap. |
name | string | null | Display name of the sector, e.g. Cat. |
marketCapUsd | number | null | Sum of the sector's tokens' market caps, in USD. |
liquidityUsd | number | null | Liquidity across the sector's tokens, in USD. |
volume24hUsd | number | null | Trailing 24h traded volume across the sector's tokens, in USD. |
tokenCount | integer | null | How many tokens the sector files right now, on every chain. |
marketCapChangePct | object | Change of the sector's market cap in PERCENT over each window. |
marketCapChangePct.m5 | number | null | Over the last 5 minutes, in percent (0.62 = +0.62 %). |
marketCapChangePct.h1 | number | null | Over the last hour, in percent (0.62 = +0.62 %). |
marketCapChangePct.h6 | number | null | Over the last 6 hours, in percent (0.62 = +0.62 %). |
marketCapChangePct.h24 | number | null | Over the last 24 hours, in percent (0.62 = +0.62 %). |
marketCapChangeUsd | object | Change of the sector's market cap in USD over each window. |
marketCapChangeUsd.m5 | number | null | Over the last 5 minutes, in USD. |
marketCapChangeUsd.h1 | number | null | Over the last hour, in USD. |
marketCapChangeUsd.h6 | number | null | Over the last 6 hours, in USD. |
marketCapChangeUsd.h24 | number | null | Over the last 24 hours, in USD. |
count | integer | How many tokens came back for the sector. |
complete | boolean | True when count reaches tokenCount, so the list is the whole sector. False when only some of the sector's tokens came back. |
tokens | object[] | Largest market cap first; tokens without a cap come last. |
tokens[].chain | string | null | The token's chain as this API names it, or null for a chain this API does not serve — one sector's tokens were measured on seven chains at once. chainRef names it either way. |
tokens[].chainRef | string | The chain as the ranking names it, e.g. solana, robinhood, ton. |
tokens[].tokenAddress | string | The token mint (Solana) or contract address. |
tokens[].name | string | null | The token name. |
tokens[].symbol | string | null | The token ticker. |
tokens[].priceUsd | number | null | Price in USD, read from the pool below. |
tokens[].marketCapUsd | number | null | Market cap in USD. |
tokens[].fdvUsd | number | null | Fully diluted valuation in USD. |
tokens[].poolAddress | string | null | The pool the price was read from — the token's one listed pool here, not every pool it trades in. |
tokens[].dex | string | null | The exchange the pool is on, e.g. raydium, uniswap. |
tokens[].poolLiquidityUsd | number | null | Liquidity of that one pool in USD, not the token's total. |
tokens[].poolVolume24hUsd | number | null | Trailing 24h volume of that one pool in USD, not the token's total. |
tokens[].priceChange24hPct | number | null | 24h price change in percent (-0.18 = -0.18 %). |
tokens[].poolCreatedAt | string | null | When the pool was created (ISO 8601); null where it is not known. |
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