Datos de mercado

API de datos macro para agentes de IA

El contexto macro del mercado cripto en una sola API: tipos de interés, dólar, liquidez, índices bursátiles, oro y petróleo, diarios e intradía, con indicadores que los leen frente a Bitcoin. Sin otra fuente macro que conectar junto a tu flujo cripto: la misma clave, el mismo formato.

El contexto en el que se mueve el mercado cripto: tipos, dólar, liquidez, índices, oro y petróleo, diarios e intradía. Todas estas rutas son de todo el mercado.

#Datos macro para agentes de IA y LLM

«¿Sube el rendimiento a 10 años de EE. UU.?», «¿Cómo se ha movido la liquidez neta frente a Bitcoin?», «¿Qué series macro se mueven con BTC ahora mismo?»: un agente de IA lee el contexto macro mediante la herramienta MCP get_macro_data, una serie del catálogo a la vez o como indicadores derivados.

MCP tools/call
El último rendimiento del Tesoro de EE. UU. a 10 años (DGS10) en una llamada MCP.
{
  "name": "get_macro_data",
  "arguments": {
    "series": "DGS10",
    "fields": ["macro"]
  }
}
  • Para el LLM: una serie se nombra por su identificador de catálogo (DGS10 es el rendimiento a 10 años de EE. UU.), nunca se adivina: get_system_info lista el catálogo.
  • Para desarrolladores: /v1/macro?series= y /v1/macro/series dan a tu propio agente de IA una herramienta y su catálogo para el tool calling, la misma pareja en la que se apoya el servidor MCP.
  • 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.

#Series macro diarias

GET/v1/macrodata_type · macroReferencia completa
Los 6 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)The day of the observation, at midnight UTC.
categorySeries category.
nameHuman-readable name of the series.
frequencyPublication frequency of the source (`daily`, `weekly`, `monthly`).
unitsUnit of `value` as published by the source.
valuesee `units`Latest value of the series, in the unit given by `units`.
GET/v1/macro/seriesdata_type · macro_seriesReferencia completa
Los 7 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)The day of the latest observation of the series, at midnight UTC.
seriesSeries identifier (the value of the `series` parameter).
categorySeries category.
nameHuman-readable name of the series.
frequencyPublication frequency of the source (`daily`, `weekly`, `monthly`).
unitsUnit of `value` as published by the source.
valuesee `units`Latest value of the series, in the unit given by `units`.
GET/v1/macro/historydata_type · macro_historyReferencia completa
Los 3 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)The day of the observation, at midnight UTC.
valuesee the series `units`Value of the series on the day of `time`.
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.

Unas veinte series oficiales de EE. UU., más el oro, repartidas en ocho categorías. /v1/macro devuelve el último valor de UNA serie, indicada con ?series= (obligatorio); /v1/macro/series es el catálogo, con el último valor de cada serie; /v1/macro/history el historial de una serie, indicada con ?series=.

CategoríaSeries
DivisasDólar amplio, dólar de mercados emergentes, EUR/USD, USD/JPY
TiposFed funds, 2 años, 10 años, 30 años, y las pendientes 10 años − 2 años y 10 años − 3 meses
InflaciónCPI, PCE, inflación implícita a 5 y 10 años
LiquidezM2, base monetaria, balance de la Fed, cuenta general del Tesoro, repos inversos a un día
VolatilidadVIX
Renta variableS&P 500, Nasdaq composite
EmpleoTasa de desempleo, nóminas no agrícolas
Materias primasOro, petróleo WTI
curl
# The catalogue of the series served
curl -H "X-API-KEY: $BYTNODE_API_KEY" "https://api.bytnode.com/v1/macro/series"

# The history of one series
curl -H "X-API-KEY: $BYTNODE_API_KEY" \
  "https://api.bytnode.com/v1/macro/history?series=DGS10&limit=90"
CampoTipoDescripción
seriesstringEl identificador que pasar en ?series=.
categorystringUna de las ocho categorías.
namestringLa etiqueta legible de la serie.
unitsstringLa unidad del valor. Varía de una serie a otra: nunca sumes dos series sin leerla.
timestringEl día de la observación, a medianoche UTC.
valuefloatEl valor observado.

#Indicadores derivados

Cuatro lecturas compuestas, calculadas bajo demanda a partir de las series brutas y del precio de Bitcoin.

GET/v1/macro/correlationsdata_type · macro_correlationsReferencia completa
Los 8 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)Point-in-time value: the last date used by the window (at the top level, the most recent of all windows; see `oldest_input_date`).
oldest_input_datecalendar date (YYYY-MM-DD)Date of the OLDEST input the value uses (a monthly series lags a daily one): the value cannot be fresher than this input. `time` is the most recent input; each component carries its own date.
methodHow the value is computed.
correlationsPearson correlation from -1 to 1, per macro series and window, with `sample_count` = number of common days.
correlations.dxyPearson correlation of daily returns against BTC over the last dxy, from -1 to 1.
correlations.sp500Pearson correlation of daily returns against BTC over the last sp500, from -1 to 1.
correlations.goldPearson correlation of daily returns against BTC over the last gold, from -1 to 1.
correlations.vixPearson correlation of daily returns against BTC over the last vix, from -1 to 1.

La correlación móvil de Bitcoin con el dólar, el S&P 500, el oro y el VIX, a treinta y noventa días, calculada sobre los rendimientos diarios en fechas comunes. Una correlación sigue siendo null mientras el historial alineado sea insuficiente.

GET/v1/macro/net-liquiditydata_type · macro_net_liquidityReferencia completa
Los 7 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)The day the value refers to, at midnight UTC.
net_liquidity_usdUSDFed balance sheet (WALCL) - Treasury General Account (TGA) - overnight reverse repo (ON RRP), in USD.
walcl_usdUSDFed total assets (WALCL), as known on that day.
tga_usdUSDTreasury General Account (WTREGEN), as known on that day.
rrp_usdUSDOvernight reverse repo (RRPONTSYD) of that day.
walcl_datecalendar date (YYYY-MM-DD)Observation day of the WALCL value used (weekly series).
tga_datecalendar date (YYYY-MM-DD)Observation day of the TGA value used (weekly series).
GET/v1/macro/net-liquidity/historydata_type · macro_net_liquidity_historyReferencia completa
Los 8 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)The day the value refers to, at midnight UTC.
net_liquidity_usdUSDFed balance sheet (WALCL) - Treasury General Account (TGA) - overnight reverse repo (ON RRP), in USD.
walcl_usdUSDFed total assets (WALCL), as known on that day.
tga_usdUSDTreasury General Account (WTREGEN), as known on that day.
rrp_usdUSDOvernight reverse repo (RRPONTSYD) of that day.
walcl_datecalendar date (YYYY-MM-DD)Observation day of the WALCL value used (weekly series).
tga_datecalendar date (YYYY-MM-DD)Observation day of the TGA value used (weekly series).
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.

La liquidez neta: el balance de la Fed, menos la cuenta general del Tesoro, menos los repos inversos a un día. La respuesta incluye la fórmula y sus componentes, y la unidad es explícita, ya que las tres series de origen no usan la misma.

GET/v1/macro/momentumdata_type · macro_momentumReferencia completa
Los 9 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)Point-in-time value: the date of the most recent input. See `oldest_input_date` for the stalest one.
oldest_input_datecalendar date (YYYY-MM-DD)Date of the OLDEST input the value uses (a monthly series lags a daily one): the value cannot be fresher than this input. `time` is the most recent input; each component carries its own date.
scaleReading scale of the score.
30dMomentum score over the last 30d, from -100 to +100.
30d.scorescore from -100 to +100Macro momentum for crypto: positive = macro tailwind (weaker dollar, growing liquidity).
30d.componentsThe inputs of the score and their contributions.
90dMomentum score over the last 90d, from -100 to +100.
90d.scorescore from -100 to +100Macro momentum for crypto: positive = macro tailwind (weaker dollar, growing liquidity).
90d.componentsThe inputs of the score and their contributions.

Una puntuación de −100 a +100, construida sobre la dinámica de M2, del balance de la Fed y del dólar, a treinta y noventa días. Una masa monetaria al alza y un dólar a la baja empujan la puntuación hacia arriba. Cada componente lleva su tasa de variación en porcentaje, change_pct.

GET/v1/macro/riskdata_type · macro_riskReferencia completa
Los 22 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)Point-in-time value: the date of the most recent signal. See `oldest_input_date` for the stalest one.
oldest_input_datecalendar date (YYYY-MM-DD)Date of the OLDEST input the value uses (a monthly series lags a daily one): the value cannot be fresher than this input. `time` is the most recent input; each component carries its own date.
scorescore from 0 to 100Share of risk-on signals × 100.
label`risk_on` (score above 50), `risk_off` (below 50) or `neutral` (exactly 50).
risk_on_signal_countcountSignals currently risk-on.
available_signal_countcountSignals that could be evaluated (data available).
signal_countcountSignals in the model.
signalsEach signal: its `condition` and whether it is risk-on now (`is_risk_on`).
signals.vixThe `vix` signal: its reading, and whether it counts as risk-on.
signals.dxyThe `dxy` signal: its reading, and whether it counts as risk-on.
signals.yield_curveThe `yield_curve` signal: its reading, and whether it counts as risk-on.
signals.sp500The `sp500` signal: its reading, and whether it counts as risk-on.
signals.goldThe `gold` signal: its reading, and whether it counts as risk-on.
contextThe raw inputs used by the signals.
context.vixindex pointsCBOE Volatility Index.
context.dxyindex pointsUS Dollar Index.
context.dxy_7d_agoindex pointsUS Dollar Index seven days earlier.
context.yield_curve_10y2y_pppercentage points10-year minus 2-year US Treasury yield.
context.sp500index pointsS&P 500.
context.sp500_sma_50dindex points50-day simple moving average of the S&P 500.
context.gold_usdUSD per troy ounceGold price.
context.gold_7d_ago_usdUSD per troy ounceGold price seven days earlier.

Una puntuación de 0 a 100 sobre cinco señales: VIX bajo, dólar en retroceso, pendiente de la curva de tipos positiva, S&P por encima de su media de cincuenta días, oro en retroceso. Una señal sin datos se excluye del cálculo en lugar de contarse como desfavorable.

#Macro intradía

GET/v1/macro/intraday/seriesdata_type · macro_intraday_seriesReferencia completa
Los 16 campos de esta ruta (según el contrato)
seriesSeries identifier (the value of the `series` parameter).
sourceUpstream source.
instrument_codeCode of the instrument at the source (informative; use `series` in requests).
categorySeries category.
nameHuman-readable name of the series.
unitsUnit of `value` as published by the source.
volume_kindWhat `volume` measures for this instrument (`broker` = the source's own flow, not the whole market).
timeframesTimeframes natively collected for the series.
history_start_datecalendar date (YYYY-MM-DD)First day of available history.
last_candle_atLast candle available, per timeframe.
last_candle_at.1mStart of the latest 1m candle served for this series (ISO 8601 UTC).
last_candle_at.5mStart of the latest 5m candle served for this series (ISO 8601 UTC).
last_candle_at.15mStart of the latest 15m candle served for this series (ISO 8601 UTC).
last_candle_at.1hStart of the latest 1h candle served for this series (ISO 8601 UTC).
last_candle_at.4hStart of the latest 4h candle served for this series (ISO 8601 UTC).
last_candle_at.1dStart of the latest 1d candle served for this series (ISO 8601 UTC).
GET/v1/macro/intraday/historydata_type · macro_intraday_historyReferencia completa
Los 7 campos de esta ruta (según el contrato)
timeISO 8601 UTC, milliseconds (2026-09-28T14:00:00.000Z)Start of the bucket the row covers: a 1h bucket at 14:00 covers 14:00:00 to 14:59:59.999.
openseries unitOpen.
highseries unitHigh.
lowseries unitLow.
closeseries unitClose.
volumesee `volume_kind`Volume reported by the source for this instrument (not the whole market).
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.

Cinco instrumentos macro en velas OHLC, para comparar las cripto por horas en lugar de por días: EUR/USD, USD/JPY, petróleo WTI, el índice del dólar ICE y el oro tokenizado, cada uno en seis temporalidades (1m a 1d, sin 30m). Los tipos a 10 y 30 años, el VIX, el S&P 500 y el Nasdaq son series diarias de FRED, servidas por /v1/macro.

ParámetroTipoPor defectoDescripción
seriesstringobligatorioEl series que devuelve /v1/macro/intraday/series (p. ej., PAXGUSDT). La columna instrument_code del catálogo NO se acepta.
timeframestringobligatorio1m, 5m, 15m, 1h, 4h, 1d — obligatorio. Cada serie sirve las temporalidades indicadas en su entrada del catálogo; otra devuelve un 422 timeframe_not_served. La temporalidad 30m no existe en esta familia.
limitinteger100Número de velas, de 1 a 1000.
curl
curl -H "X-API-KEY: $BYTNODE_API_KEY" \
  "https://api.bytnode.com/v1/macro/intraday/history?series=PAXGUSDT&timeframe=1h&limit=200"

Pedir una temporalidad que una serie no sirve devuelve 422 timeframe_not_served con la lista de las que sí sirve, en lugar de una lista vacía, que haría pensar en un hueco en los datos. data es la lista de velas, de la más reciente a la más antigua; series y timeframe se repiten en el sobre.