API REST

Prix et volume

De la bougie au tick : ce que le marché a imprimé, avant toute interprétation. Les bougies OHLCV viennent d’une référence de prix unique ; tout le reste est agrégé sur l’ensemble des places.

#Bougies OHLCV

GET/v1/raw/klinesdata_type · raw_klines
GET/v1/raw/klines/{interval}data_type · raw_klines_<interval>

Bougies à la minute pour la première route, multi-timeframe pour la seconde — 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w. Un intervalle hors liste rend 422.

ParamètreTypeDéfautDescription
symbolstringrequisL’actif.
limitinteger60 · 100Nombre de bougies, de 1 à 1000. Le défaut est 60 sur la route à la minute, 100 sur la route multi-timeframe.
curl
curl -H "X-API-KEY: $BYTNODE_KEY" \
  "https://api.bytnode.com/v1/raw/klines/1h?symbol=BTCUSDT&limit=100"
ChampTypeDescription
timestampstringDébut de la bougie, ISO 8601.
open, high, low, closefloatLes quatre prix.
volumefloatVolume total, en unités de l’actif de base.
taker_buyfloatVolume exécuté à l’achat au marché.
taker_sellfloatVolume exécuté à la vente au marché.

#Variation de prix

GET/v1/price-changedata_type · price_change

La variation en pourcentage sur les huit pas de temps, calculée à la demande contre le prix d’il y a une minute, cinq minutes, une heure, une semaine. Un pas dont l’historique manque vaut null, jamais une erreur.

Réponse
{
  "status": "ok",
  "data_type": "price_change",
  "data": {
    "symbol": "BTCUSDT",
    "price": 71420.83,
    "timestamp": "2026-08-29T11:38:00+00:00",
    "changes": {
      "1m": 0.02, "5m": -0.11, "15m": -0.31, "30m": -0.44,
      "1h": 0.15, "4h": 1.02, "1d": -2.31, "1w": 5.60
    }
  }
}

C’est l’une des rares routes servies pour les stablecoins : elle bascule alors sur les ticks spot.

#Trades agrégés

GET/v1/raw/tradesdata_type · raw_trades

Une ligne par seconde, sommée sur toutes les places. Le paramètre limit compte donc des secondes, pas des trades.

ChampTypeDescription
timestampstringLa seconde concernée.
total_volumefloatVolume total, somme des places.
trade_countintegerNombre de trades, somme des places.
taker_buy_volfloatVolume acheteur au marché.
taker_sell_volfloatVolume vendeur au marché.
GET/v1/raw/taker-combineddata_type · raw_taker_combined

Le même partage acheteur/vendeur, mais par minute : c’est la mesure de pression directionnelle à l’échelle macro. limit compte des minutes, de 1 à 1000.

#Ticks et gros ordres

GET/v1/raw/spot-ticksdata_type · raw_spot_ticks
GET/v1/raw/futures-ticksdata_type · raw_futures_ticks

Les trades individuels, un par ligne, toutes places confondues et sans étiquette de source. limit va de 1 à 10 000.

ChampTypeDescription
timestampstringHorodatage du trade.
sidestringbuy ou sell — le côté du preneur de liquidité.
pricefloatPrix d’exécution.
quantityfloatTaille, en unités de l’actif de base.
usd_valuefloatValeur en dollars.
GET/v1/raw/trades/largedata_type · raw_trades_large

Le même flux à terme, filtré par montant : la lecture de bande, pour repérer les ordres qui comptent.

ParamètreTypeDéfautDescription
symbolstringrequisL’actif.
min_usdfloat100000Montant minimum en dollars. Plancher à 1000.
limitinteger50Nombre d’événements, de 1 à 1000.
curl
# Les cinquante derniers ordres de plus de 250 000 $
curl -H "X-API-KEY: $BYTNODE_KEY" \
  "https://api.bytnode.com/v1/raw/trades/large?symbol=BTCUSDT&min_usd=250000&limit=50"

#Bougies de trades

GET/v1/tradesdata_type · trades_candle_<tf>
GET/v1/trades/spotdata_type · trades_candle_spot_<tf>
GET/v1/trades/futuredata_type · trades_candle_future_<tf>

Des bougies construites sur les trades plutôt que sur le prix : elles disent combien d’ordres sont passés, dans quel sens et pour quel montant. Toujours agrégées sur l’ensemble des places — le champ exchange vaut donc toujours combined.

Chaque route a son historique : /v1/trades/history, /v1/trades/spot/history, /v1/trades/future/history.

ParamètreTypeDéfautDescription
symbolstringrequisL’actif.
timeframestringrequis1m, 5m, 15m, 30m, 1h, 4h, 1d. Absent ou invalide : 422.
livebooleanfalseSur les routes de dernière valeur uniquement : expose la bougie en formation.
limitinteger100Sur les routes /history, de 1 à 1000. Ces historiques n’acceptent pas de fenêtre datée.
curl
# La bougie de trades 5 minutes en cours
curl -H "X-API-KEY: $BYTNODE_KEY" \
  "https://api.bytnode.com/v1/trades?symbol=BTCUSDT&timeframe=5m&live=1"
ChampTypeDescription
bucketstringDébut de la bougie, ISO 8601.
exchangestringToujours combined.
trades_countintegerNombre de trades sur la fenêtre.
trades_count_buy / trades_count_sellintegerDécomposition directionnelle du nombre de trades.
trade_count_domintegerAchats moins ventes, en nombre de trades.
trades_avgfloat | nullMontant moyen en dollars par trade.
trade_avg_buy / trade_avg_sellfloat | nullMontant moyen à l’achat et à la vente.
trade_volumefloatVolume total en dollars.
trade_volume_buy / trade_volume_sellfloatVolume acheteur et vendeur en dollars.
volume_deltafloatVolume acheteur moins vendeur, en dollars.
trade_ratefloatTrades par seconde : le nombre divisé par la durée du pas de temps — y compris sur une bougie en formation, pour que la définition reste la même.
is_closedbooleanFaux uniquement sur une bougie en formation.

Sur un stablecoin

/v1/trades et /v1/trades/spot restent alimentées, puisqu’un stablecoin a un marché au comptant. /v1/trades/future rend une liste vide.