Données de marché

API de données macro pour agents IA

Le contexte macro du marché crypto dans une seule API : taux, dollar, liquidité, indices actions, or et pétrole, en quotidien et en intraday, avec des indicateurs qui les lisent face au Bitcoin. Pas de source macro à brancher à côté de votre flux crypto : même clé, même format.

Le contexte dans lequel évolue le marché crypto : taux, dollar, liquidité, indices, or et pétrole, au jour et en intrajournalier. Toutes ces routes portent sur tout le marché.

#Données macro pour agents IA et LLM

« Le taux américain à 10 ans monte-t-il ? », « Comment la liquidité nette a-t-elle bougé face à Bitcoin ? », « Quelles séries macro bougent avec BTC en ce moment ? » : un agent IA lit le contexte macro par l’outil MCP get_macro_data, une série du catalogue à la fois ou en indicateurs dérivés.

MCP tools/call
Le dernier taux du Trésor américain à 10 ans (DGS10) en un appel MCP.
{
  "name": "get_macro_data",
  "arguments": {
    "series": "DGS10",
    "fields": ["macro"]
  }
}
  • Pour le LLM : une série se nomme par son identifiant de catalogue (DGS10 est le taux américain à 10 ans), jamais devinée : get_system_info liste le catalogue.
  • Pour les développeurs : /v1/macro?series= et /v1/macro/series donnent à votre propre agent IA un outil et son catalogue pour le tool calling, le même couple que celui du serveur MCP.
  • 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.

#Séries macro quotidiennes

GET/v1/macrodata_type · macroRéférence complète
Les 6 champs de cette route (d’après le contrat)
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_seriesRéférence complète
Les 7 champs de cette route (d’après le contrat)
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_historyRéférence complète
Les 3 champs de cette route (d’après le contrat)
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.

Une vingtaine de séries officielles américaines, plus l’or, réparties en huit catégories. /v1/macro renvoie la dernière valeur d’UNE série, désignée par ?series= (obligatoire) ; /v1/macro/series est le catalogue, avec la dernière valeur de chaque série ; /v1/macro/history l’historique d’une série, désignée par ?series=.

CatégorieSéries
ChangeDollar large, dollar des pays émergents, EUR/USD, USD/JPY
TauxFed funds, 2 ans, 10 ans, 30 ans, et les pentes 10 ans − 2 ans et 10 ans − 3 mois
InflationCPI, PCE, points morts d’inflation à 5 et 10 ans
LiquiditéM2, base monétaire, bilan de la Fed, compte général du Trésor, reverse repos au jour le jour
VolatilitéVIX
ActionsS&P 500, Nasdaq composite
EmploiTaux de chômage, emplois non agricoles
Matières premièresOr, pétrole 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"
ChampTypeDescription
seriesstringL’identifiant à passer dans ?series=.
categorystringL’une des huit catégories.
namestringLe libellé lisible de la série.
unitsstringL’unité de la valeur. Elle diffère d’une série à l’autre : n’additionnez jamais deux séries sans la lire.
timestringLe jour de l’observation, à minuit UTC.
valuefloatLa valeur observée.

#Indicateurs dérivés

Quatre lectures composites, calculées à la demande à partir des séries brutes et du prix de Bitcoin.

GET/v1/macro/correlationsdata_type · macro_correlationsRéférence complète
Les 8 champs de cette route (d’après le contrat)
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 corrélation glissante de Bitcoin avec le dollar, le S&P 500, l’or et le VIX, sur trente et quatre-vingt-dix jours, calculée sur les rendements quotidiens aux dates communes. Une corrélation reste null tant que l’historique aligné est insuffisant.

GET/v1/macro/net-liquiditydata_type · macro_net_liquidityRéférence complète
Les 7 champs de cette route (d’après le contrat)
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_historyRéférence complète
Les 8 champs de cette route (d’après le contrat)
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 liquidité nette : le bilan de la Fed, moins le compte général du Trésor, moins les reverse repos au jour le jour. La réponse porte la formule et ses composantes, et l’unité est explicite, les trois séries sources n’étant pas dans la même.

GET/v1/macro/momentumdata_type · macro_momentumRéférence complète
Les 9 champs de cette route (d’après le contrat)
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.

Un score de −100 à +100, construit sur la dynamique de M2, du bilan de la Fed et du dollar, sur trente et quatre-vingt-dix jours. Une masse monétaire en hausse et un dollar en baisse tirent le score vers le haut. Chaque composante porte son taux de variation en pourcentage, change_pct.

GET/v1/macro/riskdata_type · macro_riskRéférence complète
Les 22 champs de cette route (d’après le contrat)
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.

Un score de 0 à 100 sur cinq signaux : VIX bas, dollar en repli, pente de la courbe des taux positive, S&P au-dessus de sa moyenne à cinquante jours, or en repli. Un signal sans donnée est exclu du calcul plutôt que compté comme défavorable.

#Macro intrajournalière

GET/v1/macro/intraday/seriesdata_type · macro_intraday_seriesRéférence complète
Les 16 champs de cette route (d’après le contrat)
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_historyRéférence complète
Les 7 champs de cette route (d’après le contrat)
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.

Cinq instruments macro en bougies OHLC, pour comparer la crypto à l’heure plutôt qu’au jour : EUR/USD, USD/JPY, pétrole WTI, l’indice dollar ICE et l’or tokenisé, chacun sur six unités de temps (1m à 1d, sans 30m). Les taux à 10 et 30 ans, le VIX, le S&P 500 et le Nasdaq sont des séries FRED quotidiennes, servies par /v1/macro.

ParamètreTypeDéfautDescription
seriesstringobligatoireLe series renvoyé par /v1/macro/intraday/series (par ex. PAXGUSDT). La colonne instrument_code du catalogue n’est PAS acceptée.
timeframestringobligatoire1m, 5m, 15m, 1h, 4h, 1d — obligatoire. Chaque série sert les unités de temps listées dans son entrée du catalogue ; une autre renvoie un 422 timeframe_not_served. L’unité 30m n’existe pas dans cette famille.
limitinteger100Nombre de bougies, de 1 à 1000.
curl
curl -H "X-API-KEY: $BYTNODE_API_KEY" \
  "https://api.bytnode.com/v1/macro/intraday/history?series=PAXGUSDT&timeframe=1h&limit=200"

Demander une unité de temps qu’une série ne sert pas renvoie 422 timeframe_not_served avec la liste de celles qu’elle sert, plutôt qu’une liste vide, qui laisserait croire à un trou dans les données. data est la liste des bougies, de la plus récente à la plus ancienne ; series et timeframe sont rappelés dans l’enveloppe.