Données de marché

API de données ETF spot pour agents IA

Les données des ETF spot Bitcoin et Ethereum dans une seule API : les fondamentaux officiels des 19 ETF spot américains, émetteur par émetteur : parts en circulation, NAV, cryptos détenues et actif net. Plus de dépôts réglementaires à collecter et à décortiquer fonds par fonds : une clé, un format, tous les fonds.

Les fondamentaux officiels des 19 ETF spot américains, 10 sur Bitcoin et 9 sur Ethereum, émetteur par émetteur. Tout le marché : ces routes ne prennent pas de symbole.

#Données des ETF spot pour agents IA et LLM

« Combien de bitcoins détiennent les ETF spot américains ? », « Quel émetteur a le plus gros ETF Ethereum ? », « Comment a évolué l’actif net d’IBIT ? » : un agent IA répond avec les fondamentaux officiels des 19 fonds par l’outil MCP get_options_data, qui sert les familles par actif.

MCP tools/call
Les fondamentaux des ETF spot Bitcoin, émetteur par émetteur, en un appel MCP.
{
  "name": "get_options_data",
  "arguments": {
    "asset": "BTC",
    "fields": ["etf_fundamentals"]
  }
}
  • Pour le LLM : ces chiffres sont trimestriels, issus des déclarations réglementaires ; il n’y a pas de flux net quotidien ici, et une réponse doit dire de quel trimestre elle parle.
  • Pour les développeurs : /v1/etf/fundamentals tient en un appel par actif, un outil simple pour votre propre agent IA (tool calling) ; sa route d’historique sert les trimestres passés.
  • Où ça tourne : Claude, ChatGPT, Cursor et tout client MCP, y compris les frameworks d’agents qui parlent MCP, comme LangChain ou n8n.

Branchez votre agent IA avec le guide du serveur MCP, ou apprenez-lui BytNode avec les Agent Skills open source.

#Fondamentaux des ETF

GET/v1/etf/fundamentalsdata_type · etf_fundamentalsRéférence complète
Les 11 champs de cette route (d’après le contrat)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)The balance-sheet date of the filing — the day the holdings, NAV and net assets are measured (end of the quarter for a 10-Q), at midnight UTC. `filed_date` says when the filing reached the SEC.
tickerETF ticker.
issuerETF issuer.
shares_outstandingsharesETF shares outstanding.
nav_per_share_usdUSDNet asset value per share.
net_assets_usdUSDNet assets (AUM).
formSEC form type of the filing (`10-Q`, `10-K`...).
filed_datecalendar date (YYYY-MM-DD)Filing date at the SEC.
filing_urlLink to the filing on SEC EDGAR.
holdingsunits of the asset (BTC for asset=BTC, ETH for asset=ETH)Crypto held by the fund, in units of the asset.
is_holdings_estimated`true` if the holdings are derived from net assets / price rather than read in the filing.
GET/v1/etf/fundamentals/historydata_type · etf_fundamentals_historyRéférence complète
Les 12 champs de cette route (d’après le contrat)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)The balance-sheet date of the filing — the day the holdings, NAV and net assets are measured (end of the quarter for a 10-Q), at midnight UTC. `filed_date` says when the filing reached the SEC.
tickerETF ticker.
issuerETF issuer.
shares_outstandingsharesETF shares outstanding.
nav_per_share_usdUSDNet asset value per share.
net_assets_usdUSDNet assets (AUM).
formSEC form type of the filing (`10-Q`, `10-K`...).
filed_datecalendar date (YYYY-MM-DD)Filing date at the SEC.
filing_urlLink to the filing on SEC EDGAR.
holdingsunits of the asset (BTC for asset=BTC, ETH for asset=ETH)Crypto held by the fund, in units of the asset.
is_holdings_estimated`true` if the holdings are derived from net assets / price rather than read in the filing.
is_closed`true` = the row is final; `false` = provisional: the latest bucket while it still settles (a few seconds after its end, e.g. a candle whose volumes are not final yet), or the period in progress with `?live=1` on the routes that take it. Exception, rare: when a venue delivers trades LATE (seconds to minutes, e.g. during a burst), a closed row built from trades (trade candles, candle volumes, CVD, buy/sell ratio, trades per second) is corrected afterwards to include them, usually within minutes and at most one hour later; the correction only adds the late trades.

L’ancrage officiel déposé par les émetteurs : nombre de parts, valeur liquidative, crypto détenue et actif net, par émetteur. Dix émetteurs Bitcoin et neuf émetteurs Ethereum sont suivis.

La famille a deux parties, choisies par ?asset=, obligatoire : BTC sert les dix ETF Bitcoin ; ETH sert les neuf ETF Ethereum. Les avoirs sont dans holdings sur les deux, en unités de l’actif de la partie.

ParamètreTypeDéfautDescription
assetstringrequisBTC ou ETH. Obligatoire : sans lui, ou avec toute autre valeur, 422 avec les valeurs acceptées.
tickerstring—Sur l’historique : un seul émetteur, par son ticker (IBIT, par exemple).
since_ms / until_msinteger—Sur l’historique : bornes sur la date de bilan (time), en millisecondes.
limitinteger100Sur l’historique, de 1 à 1000.
curl
# The nine Ethereum ETFs (?asset= is required: BTC or ETH)
curl -H "X-API-KEY: $BYTNODE_API_KEY" \
  "https://api.bytnode.com/v1/etf/fundamentals?asset=ETH"

# The filing history of a single issuer
curl -H "X-API-KEY: $BYTNODE_API_KEY" \
  "https://api.bytnode.com/v1/etf/fundamentals/history?asset=BTC&ticker=IBIT&limit=8"
ChampTypeDescription
tickerstringLe ticker de l’ETF.
issuerstringL’émetteur.
timestringLa date d’arrêté du bilan du dépôt (celle à laquelle les avoirs sont donnés), à minuit UTC — la fin de la période couverte quand le dépôt n’en donne pas. Bornes, pages et tri utilisent tous cet instant.
shares_outstandingfloatNombre de parts en circulation.
nav_per_share_usdfloatValeur liquidative par part, en dollars.
net_assets_usdfloatActif net, en dollars.
holdingsfloat | nullQuantité de l’actif détenue, en BTC sur la partie Bitcoin, en ETH sur la partie Ethereum.
is_holdings_estimatedbooleantrue quand les avoirs sont une estimation plutôt que le chiffre déposé.
form, filed_date, filing_urlstringLe formulaire déposé, sa date de dépôt et le lien vers le document original.