Datos de mercado

API de datos de ETF spot para agentes de IA

Los datos de los ETF spot de Bitcoin y Ethereum en una sola API: los fundamentales oficiales de los 19 ETF spot estadounidenses, emisor por emisor: participaciones en circulación, NAV, cripto en cartera y patrimonio neto. Sin informes regulatorios que recopilar y analizar fondo por fondo: una clave, un formato, todos los fondos.

Los fundamentales oficiales de los 19 ETF spot de EE. UU., 10 de Bitcoin y 9 de Ethereum, emisor por emisor. Todo el mercado: estas rutas no reciben símbolo.

#Datos de ETF spot para agentes de IA y LLM

«¿Cuántos bitcoins tienen los ETF spot de EE. UU.?», «¿Qué emisor tiene el mayor ETF de Ethereum?», «¿Cómo ha evolucionado el patrimonio de IBIT?»: un agente de IA responde con los fundamentales oficiales de los 19 fondos mediante la herramienta MCP get_options_data, que sirve las familias por activo.

MCP tools/call
Los fundamentales de los ETF spot de Bitcoin, emisor por emisor, en una llamada MCP.
{
  "name": "get_options_data",
  "arguments": {
    "asset": "BTC",
    "fields": ["etf_fundamentals"]
  }
}
  • Para el LLM: estas cifras son trimestrales, de los informes regulatorios; aquí no hay flujo neto diario, y una respuesta debe decir de qué trimestre habla.
  • Para desarrolladores: /v1/etf/fundamentals es una llamada por activo, una herramienta sencilla para tu propio agente de IA (tool calling); su ruta de historial sirve los trimestres pasados.
  • Dónde funciona: Claude, ChatGPT, Cursor y cualquier cliente MCP, incluidos los frameworks de agentes compatibles con MCP, como LangChain o n8n.

Conecta tu agente de IA con la guía del servidor MCP, o enséñale BytNode con los Agent Skills de código abierto.

#Fundamentales de los ETF

GET/v1/etf/fundamentalsdata_type · etf_fundamentalsReferencia completa
Los 11 campos de esta ruta (según el contrato)
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_historyReferencia completa
Los 12 campos de esta ruta (según el contrato)
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.

El ancla oficial presentada por los emisores: número de participaciones, valor liquidativo, cripto mantenida y patrimonio neto, por emisor. Se siguen diez emisores de Bitcoin y nueve de Ethereum.

La familia tiene dos partes, elegidas con ?asset=, obligatorio: BTC sirve los diez ETF de Bitcoin; ETH sirve los nueve ETF de Ethereum. Las tenencias están en holdings en ambas, en unidades del activo de la parte.

ParámetroTipoPor defectoDescripción
assetstringobligatorioBTC o ETH. Obligatorio: sin él, o con cualquier otro valor, 422 con los valores aceptados.
tickerstring—En el historial: un solo emisor, por su ticker (IBIT, por ejemplo).
since_ms / until_msinteger—En el historial: límites sobre la fecha de balance (time), en milisegundos.
limitinteger100En el historial, de 1 a 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"
CampoTipoDescripción
tickerstringEl ticker del ETF.
issuerstringEl emisor.
timestringLa fecha de cierre del balance del informe (aquella a la que se dan las tenencias), a medianoche UTC — el final del periodo cubierto cuando el informe no la indica. Límites, páginas y orden usan todos este instante.
shares_outstandingfloatNúmero de participaciones en circulación.
nav_per_share_usdfloatValor liquidativo por participación, en dólares.
net_assets_usdfloatPatrimonio neto, en dólares.
holdingsfloat | nullCantidad del activo en cartera, en BTC en la parte Bitcoin, en ETH en la parte Ethereum.
is_holdings_estimatedbooleantrue cuando las tenencias son una estimación y no la cifra presentada.
form, filed_date, filing_urlstringEl formulario presentado, su fecha de presentación y el enlace al documento original.