GET /v1/candles
#GET /v1/candlesgetCandles
OHLCV bars of one market (the chart's own bars); venue mcap = the TOTAL indexes
Bars { t, o, h, l, c, v [, qv, bv, qbv] }, t = bar open (unix s). Pages go backward in time: next_cursor asks for the page before the oldest bar.
| Scope | market:read |
|---|---|
| Lowest tier | sandbox |
| Weight (units) | 1 for a window whose oldest bar is within 30 days and at most 1,000 bars; 10 for older history |
| History each tier may read | Sandbox: 30 days; Starter: 365 days; Elite (included): 365 days; Developer: 1825 days; Business: all recorded |
| Paginated | yes: follow meta.next_cursor |
| SDK | Python client.market.candles ยท JavaScript cd.market.candles |
Parameters
| Parameter | In | Type | Description |
|---|---|---|---|
venue required | query | string | Venue id (see /v1/venues), lower case. |
symbol required | query | string | The venue's symbol (BTCUSDT; see /v1/markets). |
res required | query | string | Resolution: minutes (1 ... 720), 1D, 1W, 1M; seconds (1S ... 45S) and ticks (10T ...) from Developer. |
from | query | string | Start, inclusive: unix seconds or RFC 3339. |
to | query | string | End, exclusive: unix seconds or RFC 3339. Default now. |
limit | query | integer | Rows per page, at most 5,000 (default 500). |
cursor | query | string | meta.next_cursor of the previous page (opaque; bound to the route). |
Answer
data: a list of bars { t, o, h, l, c, v, qv?, bv?, qbv? }
Errors
400invalid_param, invalid_cursor401unauthorized: missing, unknown, revoked or expired key403insufficient_scope, tier_required404not_found, not_available, not_in_sandbox422window_too_large429rate_limited (per minute) or quota_exhausted (month; X-Quota-* headers, Retry-After = seconds to the next month); see Retry-After503api_disabled, overloaded
Example
curl "https://api.chartdeck.trade/v1/candles?venue=binance&symbol=BTCUSDT&res=60" \
-H "Authorization: Bearer $CHARTDECK_API_KEY"from chartdeck import Client
client = Client() # reads CHARTDECK_API_KEY
r = client.market.candles(venue="binance", symbol="BTCUSDT", res="60")
print(r.data, r.meta["attribution"])import { ChartDeck } from '@chartdeck/api';
const cd = new ChartDeck(); // reads CHARTDECK_API_KEY
const r = await cd.market.candles({ venue: "binance", symbol: "BTCUSDT", res: "60" });
console.log(r.data, r.meta.attribution);