GET
/api/v1/etf/{asset}/{ticker}Hobbyist tier+ · 30 req/minSingle-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.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| asset | enum | required | — | Parent asset. Canonicalised to BTC or ETH. bitcoinethereumbtceth |
| ticker | string | required | — | 3-8 char uppercase alphanumeric ticker. Case-insensitive on input. |
Query parameters
All query parameters are optional unless marked required.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | number | optional | 365 | 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.