Skip to main content
Loading market data…
GET/api/v1/exchanges/{source}Hobbyist tier+ · 30 req/min

Single-exchange identity + rollup row.

Same shape as one row from `/api/v1/exchanges`, scoped to a single venue. 404 when the source has never reported data.

Path parameters

Segments of the URL path, validated server-side.

NameTypeRequiredDefaultDescription
sourcestringrequired
Exchange slug.

Query parameters

This endpoint takes no query parameters.

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

{
  source: string;
  displayName: string;
  type: string;
  oiUsd: number;
  oiSharePct: number;
  volume24hUsd: number;
  volumeSharePct: number;
  coinCount: number;
  lastHeartbeatTs: number | null;
  status: string;
}

Example

Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.

Requestbash
curl -sS "http://localhost:3000/api/v1/exchanges/binance_futures" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "source": "binance_futures",
    "displayName": "Binance Futures",
    "type": "CEX",
    "oiUsd": 12410200000,
    "oiSharePct": 42.1,
    "volume24hUsd": 85200000000,
    "volumeSharePct": 38.2,
    "coinCount": 210,
    "lastHeartbeatTs": 1744835110000,
    "status": "live"
  }
}

Next

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