DeFi protocols API
DeFi protocol directory
Every DeFi protocol this source tracks, sorted by current total value locked. No chain or token needed; one protocol can span many chains.
/api/external/protocol-analysis/protocolsWhat it returns
Every DeFi protocol this source tracks, sorted by current total value locked (TVL) descending — a real, published source field, not an invented score. No chain or token in the request: one protocol can span many chains at once, and chains on each row lists every one it is deployed on. address is present on roughly half of all protocols and its format is inconsistent (sometimes chain-prefixed, sometimes bare) — published exactly as the source returns it, never normalised or guessed at. tvl/mcap are null when the source has not computed one for this protocol, never 0. For one protocol's own per-chain breakdown, use GET /protocol-analysis/protocol/{slug} with this row's slug.
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/protocol-analysis/protocols"
| Parameter | Description |
|---|---|
offsetquery · integer · optional | 0-based row offset, for paging through the directory. |
limitquery · integer · optional | How many rows to return. Defaults to 50; this endpoint caps it at 200. limit ≤ 70 keeps the answer under 32 KB. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
protocols | object[] | |
protocols[].slug | string | null | This protocol's identifier — pass it to GET /protocol-analysis/protocol/{slug} for its detail. |
protocols[].name | string | null | |
protocols[].symbol | string | null | |
protocols[].address | string | null | Present on roughly half of all protocols; format is inconsistent (see the endpoint description). |
protocols[].url | string | null | |
protocols[].category | string | null | |
protocols[].chains | string[] | null | Every chain this protocol is deployed on, by display name; null when the source gave no chain list. |
protocols[].tvl | number | null | Current total value locked across every chain, USD. Null when not computed, never 0. |
protocols[].change1h | number | null | |
protocols[].change1d | number | null | |
protocols[].change7d | number | null | |
protocols[].mcap | number | null |
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