GET可用FRESH
数据质量矩阵
交易所 × 数据族矩阵,包含 FRESH / PARTIAL / STALE / BROKEN / UNAVAILABLE 评级、数据源时间戳与拉取时间戳、滞后、覆盖范围以及每个缺口的原因。
GET
/api/meta/quality请求
查询参数
| 名称 | 类型 | 必填 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|---|
| exchange | string | 可选 | — | — | 仅返回该交易所(小写 ID,例如 `binance`)。 |
| family | string | 可选 | — | — | 仅返回该数据族(例如 `oi`、`funding`、`liquidation`)。 |
请求示例
curl -s "https://www.coinboss.com/api/meta/quality"响应字段
字段表根据真实响应生成,因此所列内容与端点实际返回的完全一致。路径中 a[] 表示数组元素,{*} 表示以动态名称(如币种或交易所)为键的对象。
| 字段 | 类型 | 单位 | 说明 |
|---|---|---|---|
| success | boolean | — | 请求成功时为 true。失败时响应体为 `{ success: false, code, error, request_id }`。 |
| schema | string | — | 本响应的结构 ID(`coinboss.meta.quality/1`)。 |
| now | number | ms | 响应生成时的服务器时间。 |
| families | array | — | 按交易所评定的数据族(行情、持仓量、资金费率、爆仓、订单簿、期权等)。 |
| families[] | object | — | 一个数据族:`id`、`scope`、`title`、`what`、`table`、`cadence` 和 `fresh_within_s`。 |
| families[].id | string | — | 标识符。 |
| families[].scope | string | — | 对于在 `matrix` 中按交易所评定的数据族,取值为 `exchange`。 |
| families[].title | string | — | 数据族的显示标题。 |
| families[].what | string | — | 该数据族所涵盖数据的简短说明。 |
| families[].table | string | — | 评定该数据族所依据的内部数据集的名称;仅供参考。 |
| families[].cadence | string | — | 该数据族采集计划的纯文本说明;未说明时为 null。 |
| families[].fresh_within_s | number | s | 新鲜窗口:比该时长更新的数据视为新鲜。 |
| exchanges | array | — | 交易所。 |
| exchanges[] | string | — | 交易所。 |
| matrix | object | — | 以行和列为键的矩阵。 动态键: aster,backpack,binance,bingx,bitfinex,bitget |
| matrix.{*} | object | — | 以行和列为键的矩阵。 动态键: ticker,oi,funding,funding_settle,liquidation,ls |
| matrix.{*}.{*} | object | — | 以行和列为键的矩阵。 |
| matrix.{*}.{*}.status | string | — | 状态。 |
| matrix.{*}.{*}.lag_s | number|null | s | 当前时间减去该交易所(第一层键)和数据族(第二层键)最新入库数据的时间戳;该数据族在该交易所不可用时为 null。 |
| matrix.{*}.{*}.source_at | number|null | ms | 时间戳。 |
| matrix.{*}.{*}.fetched_at | number|null | ms | CoinBoss 从数据源获取该数据的时间。 |
| matrix.{*}.{*}.fresh_within_s | number|null | s | 新鲜窗口:比该时长更新的数据视为新鲜。 |
| matrix.{*}.{*}.coverage | object|null | — | 包含了什么、缺少了什么。 |
| matrix.{*}.{*}.coverage.rows | number | — | 结果行。 可能缺失 |
| matrix.{*}.{*}.coverage.rows_fresh | number | — | 在新鲜窗口内更新过的行。 可能缺失 |
| matrix.{*}.{*}.coverage.rows_usable | number | — | 在可用窗口内的行。 可能缺失 |
| matrix.{*}.{*}.coverage.rows_orphan | number | — | 合约已下架的行。 可能缺失 |
| matrix.{*}.{*}.coverage.rows_invalid | number | — | 未通过校验的行。 可能缺失 |
| matrix.{*}.{*}.reason | string|null | — | 原因代码。 |
| matrix.{*}.{*}.coverage.rows_no_liveness | number | count | 所属合约没有活跃交易迹象(已下架或没有成交量)的资金费行;不计入新鲜度统计。 可能缺失 |
| matrix.{*}.{*}.coverage.rows_unknown_interval | number | count | 近期有更新但结算周期未知、因而无法归一化到 8 小时的资金费行。 可能缺失 |
| matrix.{*}.{*}.coverage.symbols | number | — | 交易对。 可能缺失 |
| matrix.{*}.{*}.coverage.events_1h | number | count | 最近 1 小时内从该交易所存储的爆仓单数量;各交易所的最小订单规模不同。 可能缺失 |
| matrix.{*}.{*}.coverage.events_24h | number | count | 最近 24 小时内从该交易所存储的爆仓单数量;各交易所的最小订单规模不同。 可能缺失 |
| matrix.{*}.{*}.via | string | — | 采集路径。 可能缺失 |
| matrix.{*}.{*}.coverage.books | number | count | 受跟踪的订单簿数量。 可能缺失 |
| matrix.{*}.{*}.coverage.books_fresh | number | count | 在新鲜窗口内更新过的订单簿数量。 可能缺失 |
| matrix.{*}.{*}.coverage.books_reaching_2pct | number | count | 深度足以覆盖中间价 ±2 % 范围的订单簿数量。 可能缺失 |
| matrix.{*}.{*}.coverage.contracts | number | — | 各合约的数据行。 可能缺失 |
| matrix.{*}.{*}.coverage.contracts_fresh | number | count | 在新鲜窗口内更新过的合约数量。 可能缺失 |
| matrix.{*}.{*}.coverage.with_mark_and_index | number | count | 同时具有标记价格和指数价格的合约数量。 可能缺失 |
| matrix.{*}.{*}.coverage.delivery_contracts | number | count | 交割(有到期日)合约的数量。 可能缺失 |
| matrix.{*}.{*}.note | string | — | 备注。 可能缺失 |
| matrix.{*}.{*}.coverage.coins | number | — | 币种。 可能缺失 |
| matrix.{*}.{*}.coverage.rows_without_oi | number | count | 没有 USD 持仓量数值的币本位、USDC 本位或交割合约行。 可能缺失 |
| matrix.{*}.{*}.coverage.with_mark_iv | number | count | 具有标记隐含波动率的期权合约数量。 可能缺失 |
| matrix.{*}.{*}.coverage.with_greeks | number | count | 具有希腊值的期权合约数量。 可能缺失 |
| datasets | array | — | 不按交易所划分的数据集(例如现货 ETF 和 CME 日度数据)的质量检查,每项附带状态、滞后、覆盖范围和原因。 |
| datasets[] | object | — | 一个不与单一交易所绑定的全市场数据集(期权、现货 ETF、CME、订单簿、基差)。 |
| datasets[].family | string | — | 数据集 ID,例如 `etf` 或 `cme`。 |
| datasets[].id | string | — | 标识符。 |
| datasets[].title | string | — | 数据集的显示名称。 |
| datasets[].source | string | — | 数值的来源。 |
| datasets[].endpoint | string | — | 提供该数据集的公开端点。 |
| datasets[].status | string | — | 状态。 |
| datasets[].lag_s | number | s | 响应生成时最新数据点的时效。 |
| datasets[].source_at | number | ms | 时间戳。 |
| datasets[].fetched_at | number | ms | CoinBoss 从数据源获取该数据的时间。 |
| datasets[].fresh_within_s | number | s | 新鲜窗口:比该时长更新的数据视为新鲜。 |
| datasets[].coverage | object | — | 包含了什么、缺少了什么。 |
| datasets[].coverage.funds_total | number | count | 受跟踪的基金数量。 可能缺失 |
| datasets[].coverage.funds_covered | number | count | 有可用披露数据的基金数量。 可能缺失 |
| datasets[].coverage.funds_unavailable | number | count | 发行商未发布机器可读披露数据的基金数量。 可能缺失 |
| datasets[].coverage.funds_failing | number | count | 最近一轮采集中披露数据无法读取的基金数量。 可能缺失 |
| datasets[].coverage.as_of | string | — | 已覆盖基金中最新的披露日期(YYYY-MM-DD)。 可能缺失 |
| datasets[].coverage.as_of_min | string | — | 已覆盖基金中最早的披露日期(YYYY-MM-DD)。 可能缺失 |
| datasets[].reason | string|null | — | 原因代码。 |
| datasets[].coverage.contracts | number | — | 各合约的数据行。 可能缺失 |
| datasets[].coverage.report_date | string | — | 最新一期 CFTC 交易者持仓报告(Commitments of Traders)的日期(YYYY-MM-DD)。 可能缺失 |
| datasets[].coverage.products | number | count | 已覆盖的 CME 产品数量。 可能缺失 |
| datasets[].coverage.trade_date | string | — | 最新一份 CME 日度报告的交易日期(YYYY-MM-DD)。 可能缺失 |
| summary | object | — | 汇总数据块。 动态键: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE |
| summary.{*} | number | — | 汇总数据块。 |
| by_family | object | — | 各数据族中处于每种状态的交易所数量。外层键为数据族 ID。 动态键: ticker,oi,funding,funding_settle,liquidation,ls |
| by_family.{*} | object | — | 一个数据族的状态计数,以状态为键(`FRESH`、`PARTIAL`、`STALE`、`BROKEN`、`UNAVAILABLE`)。 动态键: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE |
| by_family.{*}.{*} | number | count | 该数据族中处于该状态的交易所数量。 |
| alerts | array | — | 数据质量巡检中未解决或在最近 7 天内已解决的告警,未解决的排在最前;按请求参数筛选。 |
| alerts[] | object | — | 一条告警:`level`、`exchange`、`family`、`code`、`detail`、触发 / 最近一次出现 / 解决的时间、`hits` 和 `open`。 |
| alerts[].level | string | — | 等级。 |
| alerts[].exchange | string | — | 交易所 ID,小写(例如 `binance`)。 |
| alerts[].family | string | — | 该告警所涉及的数据族。 |
| alerts[].code | string | — | 代码。 |
| alerts[].detail | string | — | 详情。 |
| alerts[].opened_at | number | ms | 时间戳。 |
| alerts[].last_seen_at | number | ms | 时间戳。 |
| alerts[].resolved_at | number|null | ms | 时间戳。 |
| alerts[].hits | number | count | 自告警触发以来观察到该状况的巡检次数(每 5 分钟巡检一次)。 |
| alerts[].open | boolean | — | 周期开盘价。 |
| monitor | object | — | 监控自身的健康状况:最近一次巡检的时间和距今时长、`patrol_ok` 以及采集器心跳距今的时长。 |
| monitor.patrol_last_run_at | number | ms | 时间戳。 |
| monitor.patrol_age_s | number | s | 距该事件的秒数。 |
| monitor.patrol_ok | boolean | — | 巡检在最近 15 分钟内运行过时为 true;为 false 时 `alerts` 列表可能不是最新的,但矩阵仍为实时数据。 |
| monitor.collector_heartbeat_age_s | number | s | 距该事件的秒数。 |
| errors | null | — | 数据族 ID 到错误码的映射,仅包含质量检查本身失败的数据族;所有检查均已运行时为 null。 |
| legend | object | — | 各单元格状态的纯文本定义。 动态键: FRESH,PARTIAL,STALE,BROKEN,UNAVAILABLE |
| legend.{*} | string | — | 键所指状态(`FRESH`、`PARTIAL`、`STALE`、`BROKEN`、`UNAVAILABLE`)的定义。 |
| method | object | — | 公式 / 计算方法说明。 |
| method.status | string | — | 状态。 |
| method.lag_s | string | — | 关于 `lag_s` 如何计算的纯文本说明。 |
| method.source_at | string | — | 日期时间字符串。 |
| method.fetched_at | string | — | 日期时间字符串。 |
| meta | object | — | 本响应的封装:结构 ID、数据生成系统、时间戳、缓存有效期和新鲜度。 |
| meta.schema | string | — | 本响应的结构 ID;与顶层 `schema` 的值相同。 |
| meta.source | array | — | 数值的来源。 |
| meta.source[] | object | — | 数值的来源。 |
| meta.source[].system | string | — | 生成该数据的系统;开发者中心端点始终为 `coinboss`。 |
| meta.source[].component | string | — | 数据背后的组件:端点探针和数据质量巡检。 |
| meta.observed_at | null | — | 时间戳。 |
| meta.received_at | number | ms | 时间戳。 |
| meta.fetched_at | number | ms | CoinBoss 从数据源获取该数据的时间。 |
| meta.window | string | — | 时间窗口。 |
| meta.cache_ttl_s | number | s | 本响应的服务端缓存有效期。 |
| meta.quality | string | — | 正常情况下为 `FRESH`;质量巡检超过 15 分钟未运行时为 `PARTIAL`(仅告警列表受影响)。 |
| meta.is_stale | boolean | — | 该行超出新鲜窗口时为 true;过期的行不计入合计。 |
| meta.fallback | string | — | 纯文本说明:该端点的输入数据过期或缺失时会返回什么。 |
生成于 2026-11-11 23:01 UTC,基于 3 个真实响应。
响应示例
/api/meta/quality · 真实响应,采集于 2026-11-13 03:53:46 UTC。 为便于展示,较长的数组和映射已被截短:alerts 原有 11 项; legend 原有 5 项; matrix 原有 30 项; summary 原有 5 项; datasets 原有 12 项; families 原有 12 项。
- "success"true
- "schema""coinboss.meta.quality/1"
- "now"1794542026126
- "families"
- "exchanges"
- "aster"
- "backpack"
- "binance"
- "bingx"
- "bitfinex"
- "bitget"
- "bitstamp"
- "bitunix"
- "matrix"
- "aster"
- "backpack"
- "datasets"
- "summary"
- "FRESH"161
- "PARTIAL"7
- "by_family"
- "ticker"
- "oi"
- "alerts"
- "monitor"
- "patrol_last_run_at"1794541745827
- "patrol_age_s"281
- "patrol_ok"true
- "collector_heartbeat_age_s"36
- "errors"null
- "legend"
- "FRESH""newest stored data point is inside the fresh window for this family"
- "PARTIAL""some contracts / rows are outside the fresh window or miss a required field"
- "method"
- "status""judged from data timestamps in CoinBoss storage every request (30 s in-process cache); a running collector process is not treated as evidence"
- "lag_s""now − newest stored data timestamp for the exchange / family"
- "source_at""newest stored data timestamp (exchange timestamp when the exchange provides one, otherwise collector receive time)"
- "fetched_at""last successful upstream call recorded by the collector health log; null for WebSocket feeds and collectors that do not log per-call health"
- "meta"
- "schema""coinboss.meta.quality/1"
- "source"
- "observed_at"null
- "received_at"1794542026978
- "fetched_at"1794542026126
- "window""latest"
- "cache_ttl_s"20
- "quality""FRESH"
- "is_stale"false
- "fallback""matrix is always computed from storage; when the 5-minute patrol itself stops (monitor.patrol_ok=false) only the alerts list may be outdated"
已验证的样本
除上面的示例外,探针还会使用以下参数调用该端点,并在每次调用时校验结构。
| 参数 | HTTP | 延迟 | 结果 |
|---|---|---|---|
| exchange=binance | 200 | 1 ms | 通过 FRESH |
| family=funding | 200 | 1 ms | 通过 FRESH |
检查于 2026-11-13 03:29:27 UTC
详细信息
- 身份验证
- 无。公开端点。
- 速率限制
- 每个 IP 每分钟 1200 次请求
- 服务端缓存
- 20s
- 边缘微缓存
- 10s
- 更新频率
- 请求时根据每个交易所 × 数据族组合的最新数据时间戳评估。
- 数据来源
- CoinBoss 原始数据表(最新行的时间戳)、采集器健康日志。进程在运行绝不等同于数据健康。
- 时间戳
- 除非字段说明另有注明,均为 Unix 纪元毫秒(UTC)
- 响应格式
- json
- 稳定性
- 稳定
- 上线时间
- 2026-11-11
实时状态
可用检查于 2026-11-13 03:53:46 UTCHTTP 200887 ms结构一致最新数据点距今 0s
近 30 天可用性
407 次检查中 100% 通过
错误
所有端点的失败响应格式一致。完整列表见错误页面。 错误与速率限制 →
| 错误码 | HTTP | 含义 | 处理方式 |
|---|---|---|---|
| INVALID_PARAM | 400 | 缺少必填参数,或某个取值不被接受。已知是哪个参数时,`param` 会给出其名称。 | 请勿原样重试;请修正请求。 |
| UNAUTHORIZED | 401 | 已发送 `CB-API-KEY` 请求头,但该密钥未知或已被吊销。公开数据无需密钥,请去掉该请求头或使用有效密钥。 | 请勿原样重试。 |
| FORBIDDEN | 403 | 该路由不属于公开 API(内部或仅限账户使用)。 | 请勿重试。 |
| NOT_FOUND | 404 | 未知路由,或所请求的币种 / 交易所 / 基金不存在。 | 请勿重试;请对照目录检查路径和标识符。 |
| RATE_LIMITED | 429 | 请求数超过每分钟限额。`Retry-After` 给出需要等待的秒数。 | 等待 `Retry-After` 指定的时间后,再以退避方式重试。 |
| INTERNAL | 500 | 意外的服务器错误。错误信息有意保持通用;报告问题时请附上 `request_id`。 | 几秒后重试一次;若问题持续,请附上请求 ID 报告。 |
| UPSTREAM_FAILED | 503 | 该端点背后的数据源未及时响应。不会返回过期数据或替代数值来顶替。 | 以退避方式重试;并查看状态页。 |
| UNAVAILABLE | 501 / 503 | 数据集暂时未就绪(缓存预热中),或该端点尚无合法的公开数据源。 | 请稍后重试;目录会标出因设计原因而不可用的端点。 |
| REQUEST_FAILED | 200 | 部分较旧的端点会以 HTTP 200 返回 `success: false`。请务必检查 `success`,而不只是 HTTP 状态码。 | 取决于具体信息;按请求失败处理。 |
试一试
GET
/api/meta/quality可用参数
string — Return only this exchange (lower-case id, for example `binance`).
string — Return only this data family (for example `oi`, `funding`, `liquidation`).
请求 URL
https://www.coinboss.com/api/meta/quality选择一个端点,然后点击“发送请求”。响应、响应头和耗时将显示在这里。
同分类的其他端点
- 数据质量矩阵(采集器视角) /api/sd/quality
- API 目录 /api/meta/catalog
- 更新日志与版本管理策略 /api/meta/changelog
- 端点文档 /api/meta/endpoint
- OpenAPI 文档 /api/meta/openapi
- 数据质量矩阵 /api/meta/quality
- 服务状态 /api/meta/status
- 检查平台是否收录某个币种代码 /api/coin-exists
- 币种代码到本地托管图标路径的映射 /api/coin-icons
- 币种页聚合摘要 /api/content/coin
- 全站栏目摘要 /api/content/summary
- 法币汇率表 /api/currency/fx
- 交易所 ID 到本地托管图标路径的映射 /api/exchange-icons
- 存活检查 /api/health
- 研究页统计数据 /api/research/stats