Get candles
A DEX market's price candles, oldest first. No key needed.
A market's price over time, as open, high, low and close candles, oldest first. Intervals start on the UTC clock. An interval with no trade has no candle, and the newest candle can still change until its interval ends.
volume is dollars of credit, and quoteVolume the USDT paid for it.
The answer is cached for 1 second. It counts 2 weight.
Path parameters
idstringRequiredThe market's id, such as
binference-2026-10-24: bInference credit that ends on that day at 00:00 UTC. GET /dex/markets lists the open ones.
Query parameters
interval"1m" | "5m" | "15m" | "1h" | "4h" | "1d"The candle length:
1m,5m,15m,1h,4hor1d. 1h when left out.limitintegerHow many intervals back to cover, the current one included, 1 to 1,000. 200 when left out.
Response
marketstringThe market's id.
intervalstringThe candle length asked for.
candlesobject[]One candle for each interval with trades, oldest first. An interval with no trade has none.
timeintegerThe interval's start, in milliseconds. Intervals start on the UTC clock: a 4h candle at 00:00, 04:00 and so on.
openstringThe first trade's price.
highstringThe highest price.
lowstringThe lowest price.
closestringThe last trade's price. The newest candle can still change.
volumestringDollars of credit traded.
quoteVolumestringUSDT paid.
tradesintegerHow many trades.
Errors
Each comes as JSON, { "error": { "code", "message" } }, with a stable code to branch on.
invalid_interval400intervalis not one of1m,5m,15m,1h,4hand1d.invalid_limit400limitis not a whole number in its range.unknown_parameter400A query parameter this endpoint does not take, or one sent twice. Send only the parameters listed here, each once and written as shown: anything else is refused before it counts toward your weight.
not_found404The DEX is not open yet.
unknown_market404No open market has this id. A market that has closed answers this too. Take the ids from GET /dex/markets.
rate_limited429This IP address used more than 1,200 weight in a minute. Wait the seconds in
Retry-After, then ask again.
curl "https://binference.io/api/v1/dex/markets/binference-2026-10-24/candles?interval=1h&limit=3"{ "market": "binference-2026-10-24", "interval": "1h", "candles": [ { "time": 1792162800000, "open": "0.958", "high": "0.962", "low": "0.952", "close": "0.955", "volume": "140.00", "quoteVolume": "133.82", "trades": 4 }, { "time": 1792166400000, "open": "0.955", "high": "0.957", "low": "0.950", "close": "0.951", "volume": "86.50", "quoteVolume": "82.40", "trades": 3 }, { "time": 1792170000000, "open": "1.000", "high": "1.000", "low": "0.960", "close": "0.960", "volume": "65.00", "quoteVolume": "64.00", "trades": 2 } ]}