Discovery and markets API

Which tokens belong to this market sector, and which are biggest?

One market sector (layer-1, meme-token, real-world-assets…) by id or name: its coins by market cap, with price, cap, FDV, 24h volume and change, plus the sector's totals.

GET/api/external/discovery/sector-tokens/{id}

What it returns

Every coin filed under one market sector (layer-1, meme-token, asset-backed-tokens, real-world-assets-rwa…), by sector id or display name in any case, largest market cap first, each with its price, cap, fully diluted valuation, 24h volume and 24h change. These sector ids are the ones `sectors` publishes, and are NOT the on-chain sector ids `sector-pools` takes — the two id spaces do not overlap. It also takes sector ids sectors does not list (about 270 of them, e.g. pulsechain-ecosystem); for those the sector's own totals and updatedAt are null. A sector spans chains and these rows carry no chain and no contract address: they identify a coin, which may be listed on several chains at once or on none this API serves. total is how many coins were read before limit, and complete is false when the sector holds more coins than one request reads, in which case the answer is the sector's largest by market cap and not its whole membership. A sector that files no coin answers an empty list; a subject that names no sector returns 404.

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/sector-tokens/<id>"
Parameters
ParameterDescription
limit

query · integer · optional

How many coins to return, largest market cap first. Defaults to 50, at most 250. It costs no extra upstream work to raise it. limit ≤ 90 keeps the answer under 32 KB.
id

path · string · required

A market sector, by id (e.g. "layer-1", "meme-token") or by display name (e.g. "Layer 1 (L1)"), in any case, exactly as the market-sector listing publishes it — not a token mint, contract address or protocol slug, and not one of the on-chain sector ids, which are a different id space.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Which tokens belong to this market sector, and which are biggest?
FieldTypeDescription
idstringThe sector's id, whichever id or name was asked for.
namestring | nullDisplay name of the sector, e.g. Layer 1 (L1).
marketCapUsdnumber | nullThe whole sector's aggregate market cap in USD, as sectors publishes it. Null for a sector sectors does not list.
volumeUsd24hnumber | nullThe whole sector's trailing 24h volume in USD.
marketCapChangePercent24hnumber | null24h change of the sector's market cap, in percent. It is the sector's own computation and does not reconcile with a market-wide change; never derive one from it.
updatedAtstring | nullWhen the sector's aggregates were last computed (ISO 8601).
totalintegerHow many coins were read for the sector, before limit.
completebooleanTrue when every coin the sector files was read, so total is the whole membership. False when the sector holds more coins than one request reads, in which case the answer covers only its largest.
tokensobject[]Largest market cap first; coins without a cap come last.
tokens[].idstringThe coin's id in the same directory the sector ids come from, e.g. bitcoin. It is NOT a mint or contract address — these rows carry no address, and one sector spans many chains.
tokens[].symbolstring | nullThe ticker, lower case as published, e.g. btc.
tokens[].namestring | nullThe display name, e.g. Bitcoin.
tokens[].marketCapRankinteger | nullThe rank in the WHOLE market, not within this sector: the third coin of a sector read rank 4. Null for a coin the ranking does not cover — on one small-cap sector that was 232 rows of 250.
tokens[].priceUsdnumber | nullPrice in USD.
tokens[].marketCapUsdnumber | nullMarket cap in USD. Null, never 0: a cap of 0 upstream means the circulating supply is unknown, not that the coin is worthless — one such coin carried 28.8B of 24h volume.
tokens[].fdvUsdnumber | nullFully diluted valuation in USD.
tokens[].volume24hUsdnumber | nullTrailing 24h traded volume in USD. Null, never 0: a 0 upstream means the volume was not recorded — coins with a 6B market cap and a price from the same minute carried it.
tokens[].priceChange24hPctnumber | null24h price change in percent (4.5 = +4.5 %).
tokens[].marketCapChange24hPctnumber | null24h market-cap change in percent.
tokens[].circulatingSupplynumber | nullCirculating supply. Null, never 0: it is the same unknown that nulls marketCapUsd, measured one-for-one with it.
tokens[].totalSupplynumber | nullTotal supply, where it is known.
tokens[].maxSupplynumber | nullMaximum supply, where the coin has one. Usually null.
tokens[].updatedAtstring | nullWhen the coin's figures were last refreshed (ISO 8601).

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