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.

GET/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>"
Parameters
ParameterDescription
symbol

path · 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.

Response fields of Exchange-traded funds holding a coin: size, premium and holdings
FieldTypeDescription
symbolstringThe coin, upper-cased.
fundsobject[]Largest net assets first; funds without net assets last.
funds[].tickerstringThe fund's exchange ticker, e.g. "IBIT".
funds[].namestring | nullThe fund's name. null when not stated.
funds[].fundTypestring | null"Spot" for a fund holding the coin itself, "Futures" for one holding futures on it. null when not stated.
funds[].regionstring | nullWhere the fund is listed, e.g. "us". null when not stated.
funds[].exchangestring | nullThe primary exchange's market identifier code, e.g. "XNAS". null when not stated.
funds[].listedAtnumber | nullWhen the fund listed, unix seconds. null when not stated.
funds[].priceUsdnumber | nullThe fund's latest share price, US dollars. null when not stated.
funds[].priceChangePctnumber | nullThe share price's change on the session, percent. null when not stated.
funds[].volumeUsdnumber | nullThe session's traded value, US dollars. null when not stated.
funds[].marketCapUsdnumber | nullThe shares' market value, US dollars. null when not stated.
funds[].sharesOutstandingnumber | nullShares outstanding. null when not stated.
funds[].managementFeePctnumber | nullThe yearly management fee, percent. null when not stated.
funds[].netAssetsUsdnumber | nullThe fund's net assets, US dollars, as of holdingsAsOf. null when not stated.
funds[].premiumDiscountPctnumber | nullHow 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[].holdingsnumber | nullCoins the fund holds, in the coin itself, as of holdingsAsOf. null when not stated.
funds[].holdingsChange24hnumber | nullThe change in coins held over the last day reported. null when not stated.
funds[].holdingsChange7dnumber | nullThe change in coins held over the last seven days reported. null when not stated.
funds[].holdingsAsOfstring | nullThe date (YYYY-MM-DD) the net assets, premium and holdings were reported for — often days behind the share price. null when not stated.
funds[].updatedAtnumber | nullWhen 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