API: Market data
Market bundle
Price, open interest and funding for one symbol and window in a single request, on one aligned time axis.
GET
Price, open interest and funding in one call
Candles, open interest and funding for one symbol over one window, in a single
request.
Six series in one request: candles, open interest, funding, CVD on both the
perpetual and spot aggregates, and liquidations.
Use this instead of calling the individual endpoints. It is one round trip
rather than six, and measured about 3x faster than making those calls
separately.
Pick a subset with
series= when you do not need all six.
One shared time axis
Every series shares the response’s singletimestamps array. Index i of
any series corresponds to timestamps[i], so you can zip them positionally
without joining on time.
This matters more than it sounds. The series come from different tables and do
not all carry every bucket. Measured over a year at 1d: candles 372, funding
364, liquidations 367, across the same first and last timestamp. Returned
unaligned, a positional zip would pair one day’s open interest with another
day’s price and every number would still look plausible.
A bucket a series does not have is null at that position, never carried
forward from the previous one. Filling it would invent a print that did not
happen and bias any average computed over the column.
meta.extra.coverage reports how many buckets each series actually filled, so
sparsity is visible without counting nulls:
The individual endpoints still return their own
timestamps. Only the bundle
reindexes onto a shared axis, because doing that join is the reason it exists.Quota is charged per series, not per request. Three series cost three
units, exactly as three separate calls would, and the count is reported in
meta.extra.quota_units_charged.The bundle saves you round trips and alignment work, never allowance. Ask only
for the series you need.Partial results
A series that cannot be served comes back asnull, with its reason under
meta.extra.errors. The rest of the bundle is unaffected.
This is deliberate: one cold or unavailable series should not cost you the two
that were ready.
Windows and cost
Long windows are read from continuous aggregates rather than raw one-minute rows, so a year at1d is no more expensive than a day at 1m. The source
actually used is reported in meta.extra.sources.
Windows are capped at one year, matching retention. Your plan’s historical
window applies on top of that: see history_depth and your_plan in
/v2/meta.
See also
Candles
Rate limits
Authorizations
Your BackQuant API key (same key as v1)
Headers
Query Parameters
Trading symbol: BTCUSDT, ETHUSDT, SOLUSDT, or HYPEUSDT.
Available options:
BTCUSDT, ETHUSDT, SOLUSDT, HYPEUSDT Interval for the gridded series.
Available options:
1m, 5m, 15m, 30m, 1h, 4h, 1d Lookback window in hours, applied to every series.
Required range:
1 <= x <= 8760Comma-separated subset of candles, open_interest, funding, cvd_perp, cvd_spot, liquidations. Defaults to all six. Ask only for what you need - each one costs a quota unit.
Response
Successful Response
