GET
/api/v1/futures/oi/historyStartup tier+ · 80 req/minPer-coin OI history — aggregate + per-exchange split in 5-minute buckets.
Same shape as `/api/v1/open-interest` in per-coin mode, exposed under the futures namespace. Supply a `source` to narrow the per-source breakdown.
Query parameters
All query parameters are optional unless marked required.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| coin | string | required | — | Base asset. |
| source | string | optional | — | Exchange filter — only applies to per-source breakdown. |
| window | enum | optional | 24h | Trailing window. 1h24h7d30d |
Response shape
Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.
data payloadtypescript
// Wrapped in the standard envelope:
// {
// data: /* shape below */,
// meta?: { total?: number; limit?: number; offset?: number; ... }
// }
{
base: string;
window: { label: string; hours: number };
history: Array<{ ts: number; oiUsd: number }>;
perSource: Record<string, Array<{ ts: number; oiUsd: number }>>;
}Example
Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.
Requestbash
curl -sS "http://localhost:3000/api/v1/futures/oi/history?coin=BTC&window=24h" \
-H "Authorization: Bearer cg_live_YOUR_KEY"Responsejson
{
"data": {
"base": "BTC",
"window": { "label": "24h", "hours": 24 },
"history": [{ "ts": 1744820400000, "oiUsd": 28453120000 }],
"perSource": { "binance_futures": [{ "ts": 1744820400000, "oiUsd": 12410200000 }] }
},
"meta": { "total": 1, "window": "24h" }
}Next
Check the error code reference, or get an API key to try the request against your own account.