GET /v1/oi
#GET /v1/oigetOpenInterest
Open interest per bar (base coin)
| 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: 7 days; Starter: 30 days; Elite (included): 30 days; Developer: 180 days; Business: 365 days |
| Paginated | yes: follow meta.next_cursor |
| SDK | Python client.market.open_interest ยท JavaScript cd.market.openInterest |
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 | query | string | Resolution of the series (5, 15, 30, 60, 240, 1D). |
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). |
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/oi?venue=binance&symbol=BTCUSDT" \
-H "Authorization: Bearer $CHARTDECK_API_KEY"from chartdeck import Client
client = Client() # reads CHARTDECK_API_KEY
r = client.market.open_interest(venue="binance", symbol="BTCUSDT")
print(r.data, r.meta["attribution"])import { ChartDeck } from '@chartdeck/api';
const cd = new ChartDeck(); // reads CHARTDECK_API_KEY
const r = await cd.market.openInterest({ venue: "binance", symbol: "BTCUSDT" });
console.log(r.data, r.meta.attribution);