ETFs API
Exchange-traded funds holding a coin: size, premium and holdings
Every US-listed ETF on BTC or ETH, largest first: share price, net assets, premium or discount to net asset value, and the coins each holds with their change over a day and a week.
/api/external/etf/etfs/{symbol}What it returns
Every US-listed exchange-traded fund on a coin (BTC or ETH), largest net assets first: its share price and session change, traded value, net assets, premium or discount to net asset value, the coins it holds and how that changed over the last day and week. Spot funds and futures funds are both listed, labelled by fundType. Net assets, premium and holdings are as of holdingsAsOf, which can lag the share price by days. Not scoped to any chain. A coin with no tracked funds answers 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/etf/etfs/<symbol>"
| Parameter | Description |
|---|---|
symbolpath · string · required | The coin ticker the funds hold: "BTC" or "ETH". Case-insensitive. Not a fund ticker, and not a token mint or contract address. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
symbol | string | The coin, upper-cased. |
funds | object[] | Largest net assets first; funds without net assets last. |
funds[].ticker | string | The fund's exchange ticker, e.g. "IBIT". |
funds[].name | string | null | The fund's name. null when not stated. |
funds[].fundType | string | null | "Spot" for a fund holding the coin itself, "Futures" for one holding futures on it. null when not stated. |
funds[].region | string | null | Where the fund is listed, e.g. "us". null when not stated. |
funds[].exchange | string | null | The primary exchange's market identifier code, e.g. "XNAS". null when not stated. |
funds[].listedAt | number | null | When the fund listed, unix seconds. null when not stated. |
funds[].priceUsd | number | null | The fund's latest share price, US dollars. null when not stated. |
funds[].priceChangePct | number | null | The share price's change on the session, percent. null when not stated. |
funds[].volumeUsd | number | null | The session's traded value, US dollars. null when not stated. |
funds[].marketCapUsd | number | null | The shares' market value, US dollars. null when not stated. |
funds[].sharesOutstanding | number | null | Shares outstanding. null when not stated. |
funds[].managementFeePct | number | null | The yearly management fee, percent. null when not stated. |
funds[].netAssetsUsd | number | null | The fund's net assets, US dollars, as of holdingsAsOf. null when not stated. |
funds[].premiumDiscountPct | number | null | How far the share price stood above (positive) or below (negative) the net asset value per share, percent, as of holdingsAsOf. null when not stated. |
funds[].holdings | number | null | Coins the fund holds, in the coin itself, as of holdingsAsOf. null when not stated. |
funds[].holdingsChange24h | number | null | The change in coins held over the last day reported. null when not stated. |
funds[].holdingsChange7d | number | null | The change in coins held over the last seven days reported. null when not stated. |
funds[].holdingsAsOf | string | null | The date (YYYY-MM-DD) the net assets, premium and holdings were reported for — often days behind the share price. null when not stated. |
funds[].updatedAt | number | null | When these figures were last refreshed, unix seconds. null when not stated. |
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