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.
{
"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/fundamentalses 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
Los 11 campos de esta ruta (según el contrato)
time | ISO 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. |
ticker | ETF ticker. | |
issuer | ETF issuer. | |
shares_outstanding | shares | ETF shares outstanding. |
nav_per_share_usd | USD | Net asset value per share. |
net_assets_usd | USD | Net assets (AUM). |
form | SEC form type of the filing (`10-Q`, `10-K`...). | |
filed_date | calendar date (YYYY-MM-DD) | Filing date at the SEC. |
filing_url | Link to the filing on SEC EDGAR. | |
holdings | units 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. |
Los 12 campos de esta ruta (según el contrato)
time | ISO 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. |
ticker | ETF ticker. | |
issuer | ETF issuer. | |
shares_outstanding | shares | ETF shares outstanding. |
nav_per_share_usd | USD | Net asset value per share. |
net_assets_usd | USD | Net assets (AUM). |
form | SEC form type of the filing (`10-Q`, `10-K`...). | |
filed_date | calendar date (YYYY-MM-DD) | Filing date at the SEC. |
filing_url | Link to the filing on SEC EDGAR. | |
holdings | units 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ámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
asset | string | obligatorio | BTC o ETH. Obligatorio: sin él, o con cualquier otro valor, 422 con los valores aceptados. |
ticker | string | — | En el historial: un solo emisor, por su ticker (IBIT, por ejemplo). |
since_ms / until_ms | integer | — | En el historial: límites sobre la fecha de balance (time), en milisegundos. |
limit | integer | 100 | En el historial, de 1 a 1000. |
# 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"| Campo | Tipo | Descripción |
|---|---|---|
ticker | string | El ticker del ETF. |
issuer | string | El emisor. |
time | string | La 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_outstanding | float | Número de participaciones en circulación. |
nav_per_share_usd | float | Valor liquidativo por participación, en dólares. |
net_assets_usd | float | Patrimonio neto, en dólares. |
holdings | float | null | Cantidad del activo en cartera, en BTC en la parte Bitcoin, en ETH en la parte Ethereum. |
is_holdings_estimated | boolean | true cuando las tenencias son una estimación y no la cifra presentada. |
form, filed_date, filing_url | string | El formulario presentado, su fecha de presentación y el enlace al documento original. |