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

Single-ticker daily flow history for one spot ETF.

Drill into a single ETF product (IBIT, FBTC, ETHA …) and pull its daily flow series. Useful for issuer-vs-issuer charts or for tracking whether a specific fund is driving the headline number. Empty `points` is a valid 200, not a 404 — ingest lag for a new listing shouldn't break clients.

Path parameters

Segments of the URL path, validated server-side.

NameTypeRequiredDefaultDescription
assetenumrequired
Parent asset. Canonicalised to BTC or ETH.
bitcoinethereumbtceth
tickerstringrequired
3-8 char uppercase alphanumeric ticker. Case-insensitive on input.

Query parameters

All query parameters are optional unless marked required.

NameTypeRequiredDefaultDescription
daysnumberoptional365
Trailing window. Max 1095 (3 years).

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

{
  asset: "BTC" | "ETH";
  ticker: string;
  days: number;
  points: Array<{ date: string; flowUsdM: number }>;   // oldest → newest
  cumulativeUsdM: 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/etf/btc/IBIT?days=90" \
  -H "Authorization: Bearer cg_live_YOUR_KEY"
Responsejson
{
  "data": {
    "asset": "BTC",
    "ticker": "IBIT",
    "days": 90,
    "points": [
      { "date": "2026-01-18", "flowUsdM": 112.4 },
      { "date": "2026-01-19", "flowUsdM": 88.1 }
    ],
    "cumulativeUsdM": 24100.0
  },
  "meta": { "total": 2, "days": 90, "asset": "BTC", "ticker": "IBIT" }
}

Notes

  • Malformed ticker (non-alnum, wrong length) is a 400 `BAD_PARAM`.
  • Time series is returned oldest → newest so it drops straight into chart libraries.

Next

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