/api/sd/etf/history
GET部分可用PARTIAL

现货 ETF 历史

某资产(已覆盖基金加总)或单只基金的持有量、净资产或净流入日线序列。每个数据点都注明所含基金数量。

GET/api/sd/etf/history
部分覆盖. 部分覆盖:若干大型发行商没有提供可由服务器采集的公开机器可读披露。其基金被列为不可用,合计仅涵盖其余基金。在与其他数据源比较合计之前,请先对比 `funds_covered` / `funds_total`。

请求

查询参数

名称类型必填默认值可选值说明
assetstring必填—BTC, ETH, SOL, HYPE标的资产,不区分大小写。`coin` 可作为别名使用。 示例: BTC
metricstring必填—holdings, aum, flow要返回的序列:持有量(币)、净资产(USD)或净流入(USD)。 示例: flow
rangestring可选30d30d, 90d, all回溯范围。
tickerstring可选——该资产已登记的基金代码(例如 `ARKB`)。默认:全部已覆盖基金之和。未登记的代码返回 404;已登记但无法采集的基金返回 200,且 `series: null`。

请求示例

curl -s "https://www.coinboss.com/api/sd/etf/history?asset=BTC&metric=flow"

响应字段

字段表根据真实响应生成,因此所列内容与端点实际返回的完全一致。路径中 a[] 表示数组元素,{*} 表示以动态名称(如币种或交易所)为键的对象。

字段类型单位说明
successboolean—请求成功时为 true。失败时响应体为 `{ success: false, code, error, request_id }`。
schemastring—本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。
nownumberms响应生成时的服务器时间。
assetstring—标的资产。
metricstring—由 `metric` 参数选定的序列。
rangestring—实际采用的回溯范围。
tickerstring|null—基金代码。
unitstring—序列数值的单位:`coin` 或 `USD`。
funds_totalnumber—该资产已登记的基金数。
funds_in_seriesarray—参与该序列的基金。
funds_in_series[]string—参与该序列的基金。
first_date_by_fundobject—每只基金最早可用的日期(键为基金代码)。 动态键: ARKB,EZBC
first_date_by_fund.{*}string—每只基金最早可用的日期(键为基金代码)。
pointsnumber—序列数据点,按时间从早到晚排列。
seriesarray—日度数据点,按时间从早到晚排列;基金无法采集时为 `null`。
series[]object—日度数据点,按时间从早到晚排列;基金无法采集时为 `null`。
series[].datestring—该数据点的发行商截至日期。
series[].valuenumber—所选指标的数值,为当日有数据的基金之和。
series[].fundsnumber—每只已登记基金一行,包括无法采集的基金。 可能缺失
coverageobject—这些数值包含什么、不包含什么。在与其他数据源比较合计之前,请先比对这一点。
coverage.included_exchangesarray—新鲜数据已计入的数据源。
coverage.included_exchanges[]string—新鲜数据已计入的数据源。
coverage.unavailablearray—无法计入的数据源,每项均附原因。它们绝不会按 0 计。
coverage.unavailable[]object—无法计入的数据源,每项均附原因。它们绝不会按 0 计。
coverage.unavailable[].exchangestring—交易所 ID(小写)。
coverage.unavailable[].issuerstring—基金发行商 ID。
coverage.unavailable[].reasonstring—机器可读的原因代码。
coverage.unavailable[].detailstring—供人阅读的原因说明。
coverage.stale_excludedarray—因最近一次更新超出新鲜窗口而被排除的行。 在生成此表所用的样本中为空
methodobject—以纯文本说明本响应所用的公式,每个字段一条。
method.valuestring—`value` 的公式说明,纯文本。
method.fundsstring—`funds` 的公式说明,纯文本。
method.multi_daystring—`multi_day` 的公式说明,纯文本。
method.history_startstring—`history_start` 的公式说明,纯文本。
metaobject—本响应的数据来源与新鲜度。
meta.schemastring—本响应的结构 ID。仅当已有字段的含义或类型发生变化时才会改变。
meta.sourcearray—采集数据所用的上游公开端点。
meta.source[]object—采集数据所用的上游公开端点。
meta.source[].exchangestring—交易所 ID(小写)。
meta.source[].endpointstring—采集器读取的数据源公开端点(仅用于说明数据来源;客户端不会调用它)。
meta.observed_atnumberms数据源为该数据给出的时间戳。
meta.received_atnumbermsCoinBoss 采集器收到该数据的时间。
meta.fetched_atnumberms本响应的组装时间。
meta.windowstring—这些数值覆盖的时间窗口。
meta.qualitystring—FRESH、PARTIAL、STALE、BROKEN 或 UNAVAILABLE,根据数据时间戳和覆盖范围判定。
meta.is_staleboolean—数据早于其新鲜窗口时为 true。
meta.cache_ttl_snumbers本响应的缓存有效期。
meta.fallbackstring—采集器或数据源出现故障时端点返回的内容。

生成于 2026-11-11 23:00 UTC,基于 3 个真实响应。

响应示例

/api/sd/etf/history?asset=BTC&metric=flow · 真实响应,采集于 2026-11-13 03:58:17 UTC。 为便于展示,较长的数组和映射已被截短:series 原有 21 项; meta.source 原有 5 项; first_date_by_fund 原有 5 项; coverage.unavailable 原有 7 项。

  • {
    • "success": true,
    • "schema": "coinboss.sd.etf/1",
    • "now": 1794542297946,
    • "asset": "BTC",
    • "metric": "flow",
    • "range": "30d",
    • "ticker": null,
    • "unit": "USD",
    • "funds_total": 12,
    • "funds_in_series": [
      • "ARKB",
      • "BITB",
      • "BTCO",
      • "EZBC",
      • "HODL"
      ],
    • "first_date_by_fund": {
      • "ARKB": "2026-10-14",
      • "BITB": "2026-11-11"
      },
    • "points": 21,
    • "series": [
      • { … 3 },
      • { … 3 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 5 ],
      • "unavailable": [ … 2 ],
      • "stale_excluded": []
      },
    • "method": {
      • "value": "own method, per fund between two consecutive issuer as-of rows: shares_x_nav = (shares_out[t] - shares_out[t-1]) x NAV[t], dated t; aum_nav_ratio_t1 (issuer pub…",
      • "funds": "number of funds contributing to that date; the aggregate is only comparable across dates with the same contributing funds (history starts on different dates per…",
      • "multi_day": "true when a contributing flow spans more than one trading day because the issuer history has no row for the day(s) in between",
      • "history_start": "issuer-provided official history is back-filled where it exists (21Shares valuation history, Franklin price history); other issuers start on the first collectio…"
      },
    • "meta": {
      • "schema": "coinboss.sd.etf/1",
      • "source": [ … 2 ],
      • "observed_at": 1794441600000,
      • "received_at": 1794537318126,
      • "fetched_at": 1794542297946,
      • "window": "30d",
      • "quality": "PARTIAL",
      • "is_stale": false,
      • "cache_ttl_s": 300,
      • "fallback": "collector failure keeps the last issuer row with its real as_of_date; a fund whose as_of_date is more than 1 trading day behind the expected as-of is flagged is…"
      }
    }

已验证的样本

除上面的示例外,探针还会使用以下参数调用该端点,并在每次调用时校验结构。

参数HTTP延迟结果
asset=ETH&range=90d&metric=aum2005 ms通过 PARTIAL
asset=BTC&metric=holdings&ticker=ARKB2004 ms通过 FRESH
asset=BTC4001 ms通过 返回预期的错误

检查于 2026-11-13 03:58:17 UTC

详细信息

身份验证
无。公开端点。
速率限制
每个 IP 每分钟 1200 次请求
服务端缓存
5m
边缘微缓存
10s
更新频率
采集器每天运行三轮(02:35、10:35、16:35 UTC)。发行商在每个美国交易日发布一次,通常在交易日当晚。
时间窗口
30d / 90d / all,每个发行商截至日期一个点。
数据来源
基金发行商自行发布的每日披露(持有量、净资产、流通份额、NAV),由 CoinBoss 采集并存储(sd_etf_fund_daily)。净流入由 CoinBoss 根据这些披露计算。
交易所覆盖范围
仅覆盖发行商发布机器可读日度数据的基金。`funds_total` 和 `funds_covered` 说明了具体数量;每只未覆盖的基金都列在 `coverage.unavailable` 下,并附原因。合计仅为已覆盖基金之和(`totals_scope = "covered_funds_only"`),而非整个市场。
分页
不分页;`range` 决定数据点数量的上限。
排序
按日期升序。
单位
Amounts in USD; holdings in units of the underlying coin; NAV and market price in USD per share; `premium_pct` and `fee_pct` in percent.
计算方法
A point sums the funds that have a row on that date; `funds` is that count. Points with different `funds` are not directly comparable. Flow is bucketed by its booking date.
时间戳
除非字段说明另有注明,均为 Unix 纪元毫秒(UTC)
响应格式
json
稳定性
稳定
上线时间
2026-11-11

实时状态

部分可用检查于 2026-11-13 03:58:17 UTCHTTP 2005 ms结构一致最新数据点距今 83m

该端点上报的数据质量为 PARTIAL — 部分覆盖:若干大型发行商没有提供可由服务器采集的公开机器可读披露。其基金被列为不可用,合计仅涵盖其余基金。在与其他数据源比较合计之前,请先对比 `funds_covered` / `funds_total`。

近 30 天可用性

407 次检查中 100% 通过

错误

所有端点的失败响应格式一致。完整列表见错误页面。 错误与速率限制 →

错误码HTTP含义处理方式
INVALID_PARAM400缺少必填参数,或某个取值不被接受。已知是哪个参数时,`param` 会给出其名称。请勿原样重试;请修正请求。
UNAUTHORIZED401已发送 `CB-API-KEY` 请求头,但该密钥未知或已被吊销。公开数据无需密钥,请去掉该请求头或使用有效密钥。请勿原样重试。
FORBIDDEN403该路由不属于公开 API(内部或仅限账户使用)。请勿重试。
NOT_FOUND404未知路由,或所请求的币种 / 交易所 / 基金不存在。请勿重试;请对照目录检查路径和标识符。
RATE_LIMITED429请求数超过每分钟限额。`Retry-After` 给出需要等待的秒数。等待 `Retry-After` 指定的时间后,再以退避方式重试。
INTERNAL500意外的服务器错误。错误信息有意保持通用;报告问题时请附上 `request_id`。几秒后重试一次;若问题持续,请附上请求 ID 报告。
UPSTREAM_FAILED503该端点背后的数据源未及时响应。不会返回过期数据或替代数值来顶替。以退避方式重试;并查看状态页。
UNAVAILABLE501 / 503数据集暂时未就绪(缓存预热中),或该端点尚无合法的公开数据源。请稍后重试;目录会标出因设计原因而不可用的端点。
REQUEST_FAILED200部分较旧的端点会以 HTTP 200 返回 `success: false`。请务必检查 `success`,而不只是 HTTP 状态码。取决于具体信息;按请求失败处理。

试一试

GET/api/sd/etf/history部分可用
参数

string — Underlying asset, case-insensitive. `coin` is accepted as an alias.

string — Series to return: holdings (coin), net assets (USD) or net flow (USD).

string · 默认 30d — Look-back range.

string — Fund ticker registered for the asset (for example `ARKB`). Default: all covered funds summed. An unregistered ticker returns 404; a registered fund that cannot be collected returns 200 with `series: null`.

请求 URLhttps://www.coinboss.com/api/sd/etf/history?asset=BTC&metric=flow
选择一个端点,然后点击“发送请求”。响应、响应头和耗时将显示在这里。