Price and volume
From the candle to the tick: what the market printed, before any interpretation. OHLCV candles come from a single price reference; everything else is aggregated across all venues.
#OHLCV candles
Minute candles for the first route, multi-timeframe for the second: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w. An interval off the list returns 422.
| Parameter | Type | Default | Description |
|---|---|---|---|
symbol | string | required | The asset. |
limit | integer | 60 · 100 | Number of candles, from 1 to 1000. The default is 60 on the minute route, 100 on the multi-timeframe route. |
curl -H "X-API-KEY: $BYTNODE_KEY" \
"https://api.bytnode.com/v1/raw/klines/1h?symbol=BTCUSDT&limit=100"| Field | Type | Description |
|---|---|---|
timestamp | string | Start of the candle, ISO 8601. |
open, high, low, close | float | The four prices. |
volume | float | Total volume, in units of the base asset. |
taker_buy | float | Volume executed as a market buy. |
taker_sell | float | Volume executed as a market sell. |
#Price change
The percentage change over the eight timeframes, computed on demand against the price one minute, five minutes, one hour, one week ago. A timeframe whose history is missing is null, never an error.
{
"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
}
}
}This is one of the few routes served for stablecoins: it then falls back on the spot ticks.
#Aggregated trades
One row per second, summed across all venues. The limit parameter therefore counts seconds, not trades.
| Field | Type | Description |
|---|---|---|
timestamp | string | The second concerned. |
total_volume | float | Total volume, summed across venues. |
trade_count | integer | Number of trades, summed across venues. |
taker_buy_vol | float | Market buy volume. |
taker_sell_vol | float | Market sell volume. |
The same buy/sell split, but per minute: this is the directional-pressure measure at macro scale. limit counts minutes, from 1 to 1000.
#Ticks and large orders
Individual trades, one per row, all venues combined and with no source label. limit ranges from 1 to 10,000.
| Field | Type | Description |
|---|---|---|
timestamp | string | Timestamp of the trade. |
side | string | buy or sell: the side of the liquidity taker. |
price | float | Execution price. |
quantity | float | Size, in units of the base asset. |
usd_value | float | Value in dollars. |
The same futures stream, filtered by size: tape reading, to spot the orders that matter.
| Parameter | Type | Default | Description |
|---|---|---|---|
symbol | string | required | The asset. |
min_usd | float | 100000 | Minimum amount in dollars. Floor at 1000. |
limit | integer | 50 | Number of events, from 1 to 1000. |
# The last fifty orders above $250,000
curl -H "X-API-KEY: $BYTNODE_KEY" \
"https://api.bytnode.com/v1/raw/trades/large?symbol=BTCUSDT&min_usd=250000&limit=50"#Trade candles
Candles built on trades rather than on price: they say how many orders went through, in which direction and for what amount. Always aggregated across all venues, so the exchange field is always combined.
Each route has its history: /v1/trades/history, /v1/trades/spot/history, /v1/trades/future/history.
| Parameter | Type | Default | Description |
|---|---|---|---|
symbol | string | required | The asset. |
timeframe | string | required | 1m, 5m, 15m, 30m, 1h, 4h, 1d. Missing or invalid: 422. |
live | boolean | false | On latest-value routes only: exposes the candle in formation. |
limit | integer | 100 | On /history routes, from 1 to 1000. These histories do not accept a dated window. |
# The 5-minute trade candle in progress
curl -H "X-API-KEY: $BYTNODE_KEY" \
"https://api.bytnode.com/v1/trades?symbol=BTCUSDT&timeframe=5m&live=1"| Field | Type | Description |
|---|---|---|
bucket | string | Start of the candle, ISO 8601. |
exchange | string | Always combined. |
trades_count | integer | Number of trades over the window. |
trades_count_buy / trades_count_sell | integer | Directional breakdown of the trade count. |
trade_count_dom | integer | Buys minus sells, in number of trades. |
trades_avg | float | null | Average amount in dollars per trade. |
trade_avg_buy / trade_avg_sell | float | null | Average amount on the buy side and on the sell side. |
trade_volume | float | Total volume in dollars. |
trade_volume_buy / trade_volume_sell | float | Buy and sell volume in dollars. |
volume_delta | float | Buy volume minus sell volume, in dollars. |
trade_rate | float | Trades per second: the count divided by the duration of the timeframe, including on a candle in formation, so that the definition stays the same. |
is_closed | boolean | False only on a candle in formation. |
On a stablecoin
/v1/trades and /v1/trades/spot stay fed, since a stablecoin has a spot market. /v1/trades/future returns an empty list.