/api/etf/overview
GETAvailable

ETF overview

ETF overview (AUM and net-flow totals per asset)

GET/api/etf/overview
Flow figures come from published daily flow tables; fund-level fields can lag (see `/api/etf/funds`). Totals computed only from issuer disclosures, with explicit fund coverage, are in `/api/sd/etf/overview`.

Request

This endpoint takes no parameters.

Example request

curl -s "https://www.coinboss.com/api/etf/overview"

Response fields

The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.

FieldTypeUnitDescription
successboolean—true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`.
unitstring—Unit of the values in this object.
assetsarray—Assets.
assets[]string—Assets.
summaryobject—Summary block.
summary.today_net_flownumbermillion USDSum over all assets of each asset's most recent daily total net flow; the underlying dates can differ between assets (see `by_asset`).
summary.total_aumnumbermillion USDSum of AUM over the assets whose most recent row carries an AUM value; null when none does.
summary.total_aum_latestnumbermillion USDSum of each asset's last known AUM, whatever its date; `aum_asof` gives the oldest date included.
summary.aum_asofstring—Oldest of the dates (YYYY-MM-DD) of the per-asset AUM values summed in `total_aum_latest`.
summary.active_etf_countnumbercountNumber of funds with a flow row on the most recent trading day of their asset, over all assets.
summary.active_issuer_countnumbercountNumber of distinct issuers of the funds counted in `active_etf_count`.
by_assetobject—Latest totals per underlying asset; keys are asset symbols (`BTC`, `ETH`, `SOL`, `HYPE`). dynamic keys: BTC,ETH,SOL,HYPE
by_asset.{*}object—Latest totals of that asset's spot ETFs (amounts in million USD); null when the asset has no data.
by_asset.{*}.datestring—Calendar date (UTC).
by_asset.{*}.flownumber—Net creation / redemption flow of the day.
by_asset.{*}.aumnumber|null—Assets under management.
by_asset.{*}.aum_latestnumber|nullmillion USDLast known combined AUM of the asset's spot ETFs, valid as of `aum_date`; null when no AUM was ever recorded.
by_asset.{*}.aum_datestring|null—Trading day (YYYY-MM-DD) that `aum_latest` refers to; may be older than `date`.
by_asset.{*}.cum_totalnumber—Cumulative total.
by_asset.{*}.sum_7dnumber—7-day sum.

Generated 2026-11-11 23:00 UTC from 1 real responses.

Example response

/api/etf/overview · Real response captured 2026-11-13 03:52:54 UTC. Long arrays and maps are shortened for display: by_asset had 4 items.

  • {
    • "success": true,
    • "unit": "million_usd",
    • "assets": [
      • "BTC",
      • "ETH",
      • "SOL",
      • "HYPE"
      ],
    • "summary": {
      • "today_net_flow": -55.7,
      • "total_aum": 100231.442,
      • "total_aum_latest": 115867.086,
      • "aum_asof": "2026-10-08",
      • "active_etf_count": 27,
      • "active_issuer_count": 9
      },
    • "by_asset": {
      • "BTC": { … 7 },
      • "ETH": { … 7 }
      }
    }

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
5m
Edge micro-cache
10s
Update frequency
hourly (minute 15); source publishes once per US trading day
Window
latest trading day per asset, plus 7-day and since-listing sums
Data sources
Cross-asset summary of US spot crypto ETF flows and AUM, from a public ETF flow tracker and a public market-data site.
Exchange coverage
BTC, ETH, SOL, HYPE. total_aum is null when no asset has a same-day total AUM; total_aum_latest/aum_asof give the last known values.
Units
million USD
Method
Per asset: latest daily total flow, 7-trading-day sum, cumulative sum; summary adds the assets together and counts funds/issuers present on the latest day.
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable

Live status

AvailableChecked 2026-11-13 03:52:54 UTCHTTP 2001 msSchema matchesNewest data point 27.9h old

Availability, last 30 days

100% of 409 checks passed

Errors

Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →

CodeHTTPMeaningWhat to do
INVALID_PARAM400A required parameter is missing or a value is not accepted. `param` names the parameter when it is known.Do not retry unchanged; fix the request.
UNAUTHORIZED401The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key.Do not retry unchanged.
FORBIDDEN403The route is not part of the public API (internal or account-only).Do not retry.
NOT_FOUND404Unknown route, or the requested coin / exchange / fund does not exist.Do not retry; check the path and identifiers against the catalog.
RATE_LIMITED429More requests than the per-minute limit. `Retry-After` gives the seconds to wait.Wait for `Retry-After`, then retry with backoff.
INTERNAL500Unexpected server error. The message is generic by design; quote `request_id` when reporting it.Retry once after a few seconds; report it with the request id if it persists.
UPSTREAM_FAILED503The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place.Retry with backoff; check the status page.
UNAVAILABLE501 / 503The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet.Retry later; the catalog marks endpoints that are unavailable by design.
REQUEST_FAILED200Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status.Depends on the message; treat as a failed request.

Try it

GET/api/etf/overviewAvailable
Parameters

No parameters.

Request URLhttps://www.coinboss.com/api/etf/overview
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.