Skip to main content
Loading market data…
GET/api/v1/futures/taker-volumeStartup tier+ · 80 req/min

Taker buy vs sell volume per coin over a trailing window.

Which side is crossing the spread? Positive `bias` means aggressive buyers ate the offer more than aggressive sellers ate the bid — a real-time aggression gauge that often front-runs spot and OI moves by seconds.

Query parameters

All query parameters are optional unless marked required.

NameTypeRequiredDefaultDescription
hoursnumberoptional24
Trailing window, hours. Max 720.

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; ... }
// }

{
  rows: Array<{
    base: string;
    buyVolume: number;
    sellVolume: number;
    totalVolume: number;
    buyShare: number;
    sellShare: number;
    bias: number;     // in [-1, +1]
    venueCount: number;
    lastTs: number;
  }>;
  windowHours: number;
  totals: { buyVolume: number; sellVolume: number; bias: number };
  lastTs: number | null;
}

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/taker-volume?hours=24" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "rows": [
      { "base": "BTC", "buyVolume": 12400000000, "sellVolume": 11800000000, "totalVolume": 24200000000, "buyShare": 0.5124, "sellShare": 0.4876, "bias": 0.0248, "venueCount": 5, "lastTs": 1744834800000 }
    ],
    "windowHours": 24,
    "totals": { "buyVolume": 12400000000, "sellVolume": 11800000000, "bias": 0.0248 },
    "lastTs": 1744834800000
  },
  "meta": { "total": 1, "windowHours": 24 }
}

Next

Check the error code reference, or get an API key to try the request against your own account.