Crypto ETFs

Query crypto ETF totals, individual funds, and asset-level historical net flows.

GET/api/v1/crypto-etf
Domain
Flows & Wallets
Level
asset-level
MCP tool
ownership_flows_query (task=crypto_etf)

Available data

Explore the latest performance and historical fund flows of ETFs linked to crypto assets such as Bitcoin and Ethereum.

  • Asset overview: see related ETF counts and tickers, plus the latest combined volume, assets under management (AUM), and market capitalization.
  • Fund details: view an individual ETF’s latest price, volume, AUM, market capitalization, premium, and fee.
  • Historical trends: choose a date range to explore daily net inflows or outflows, AUM, and AUM as a percentage of the crypto asset’s market capitalization.
  • Historical data is aggregated by crypto asset. Individual ETF history is not yet supported; missing data is not treated as zero.

Authentication

Send Authorization: Bearer YOUR_API_KEY or X-API-KEY on every request.

Query Parameters

Asset identification and filters

Provide at least one of asset_id, query, ticker or symbol identifying the same unique asset. Omit dates for latest summary/detail; provide both dates for history.

asset_idstringqueryExampleasset_btcconditional

Unique asset ID.

querystringqueryExampleBTCconditional

Asset name, symbol or alias.

tickerstringqueryExampleBTCconditional

Crypto asset ticker, not an ETF ticker.

symbolstringqueryExampleBTCconditional

Asset symbol; exact case-insensitive match.

etf_tickerstringqueryExampleIBIToptional

ETF ticker, uppercased exact match. Latest fund detail only; cannot be combined with date parameters.

Historical date range

Omit both dates for latest data. Provide both for history, inclusive, up to 366 calendar days.

start_datestringqueryExample2026-10-01conditional

Inclusive start date, YYYY-MM-DD; requires end_date.

end_datestringqueryExample2026-10-14conditional

Inclusive end date, YYYY-MM-DD; must not precede start_date. Both dates are required together.

Response

codeintegerExample0

Business status; 0 on success.

messagestringExamplesuccess

Result message.

dataobject

Resolved asset, ETF detail or totals, and historical series.

asset_idstringExampleasset_btc

Resolved asset ID.

symbolstringExampleBTC

Asset symbol.

modestringExamplehistory

summary: latest asset totals; detail: latest fund detail; history: asset daily history for the requested dates.

currencystringExampleUSD

Fixed to USD.

etfobject | null

Fund object only in detail mode; null in summary and history modes.

etf_tickerstring

ETF ticker for latest fund detail.

fund_namestring

Fund name.

pricedecimal string | null

ETF price in USD; decimal string or null.

volumedecimal string | null

Volume in USD; decimal string or null.

aumdecimal string | null

Assets under management in USD; decimal string or null.

market_capdecimal string | null

Market cap in USD; decimal string or null.

premium_pctdecimal string | null

Premium percentage as a decimal string; 1.25 means 1.25%.

net_fee_pctdecimal string | null

Net fee percentage as a decimal string; 0.25 means 0.25%.

typestring | null

Source fund type, e.g. Spot or Futures.

source_urlstring

Source page URL.

source_updated_atdatetime | null

Source update time in ISO 8601 UTC; null if unavailable.

crawled_atdatetime

Last successful collection time in ISO 8601 UTC.

summaryobject | null

Original latest totals only in summary mode; null in detail/history. Never contains historical aggregates.

etf_countinteger

Distinct ETF count, including ETFs without monetary values.

etf_tickersstring[]

Distinct ETF tickers sorted ascending.

total_volumedecimal string | null

Total volume in USD; excludes nulls, null if all missing.

total_aumdecimal string | null

Total AUM in USD; excludes nulls, null if all missing.

total_market_capdecimal string | null

Total market cap in USD; excludes nulls, null if all missing.

valid_countsobject

Non-null record count for each aggregated metric.

volumeinteger

Non-null record count.

auminteger

Non-null record count.

market_capinteger

Non-null record count.

crawled_atdatetime | null

Last successful collection time in ISO 8601 UTC.

points[]object[]

Asset daily history; filtered inclusively and sorted ascending in history mode. Empty when unavailable; no zero-filling.

stat_datedateExample2026-10-12

Source statistical date, YYYY-MM-DD.

aumdecimal string | nullExample100000000000

Assets under management in USD; decimal string or null.

net_flowdecimal string | nullExample100000000

Daily net flow in USD; positive inflow, negative outflow, not cumulative or an AUM difference.

aum_pctdecimal string | nullExample6.40

AUM as a percentage of the crypto asset market cap; 6.47 means 6.47%.

Errors & fallback

400
Missing/conflicting/ambiguous asset identifiers; incomplete, empty or invalid dates, reversed dates, over 366 days, or dates combined with etf_ticker. Errors retain code/message/data with data=null.
404
Asset not found, or the specified ETF is not associated with the asset.
401
API Key is missing or invalid.
403
API Key does not have access.
429
Request rate limit exceeded.
503
Database read failed; do not return a successful empty result.