Skip to main content
本页是 Data API 的数据行为契约:新鲜度如何表达、四种数据状态(正常返回 / 准备中 / 旧值兜底 / 不可用)分别长什么样、你的程序该怎么处理。探测数据状态不消耗配额(见配额),可以放心试。

1. 正常返回:看内容时间,不看响应时间

响应的新鲜度以 _meta 里的内容时间表达(如 as_of 或各数据集自己的时间字段):它是数据本身的时间戳,而不是服务器处理请求的时刻。判断「数据新不新」永远以内容时间为准。 不同数据集的更新节奏天然不同:行情类是秒到分钟级,披露类(国会交易、财报)是小时到天级。各数据集的节奏见对应的目录导读

2. 202:数据正在准备

按标的查询的端点(目录里标注 on-demand 的),首次请求某个此前无人查询过的标的时可能返回:
这不是错误:该标的的数据正在准备,通常几秒内就绪。按 retry_after_seconds 重试即可(202 与重试均不消耗配额)。同一标的就绪后,后续请求直接返回数据。

3. 旧值兜底:stale 与 notice

数据更新暂时中断时,API 的选择是返回最近一次的有效数据并如实标注,而不是报错。此时 _meta 会带上 stale 标注与说明。你的程序应当:
  • 需要严格新鲜度的场景(如实时信号):检查内容时间,超出你的容忍窗口就跳过本轮;
  • 容忍旧值的场景(如日报、回顾):直接使用,无需特殊处理。
按季/按月披露的数据(机构 13F、财报、做空回补数据等)不会被标注 stale——数据是「几个月前的」本来就是这类披露的正常状态,内容时间如实给出,由你按披露节奏理解。

4. 404503:一个别重试,一个请重试

这两个状态码的语义被刻意分开,请按语义处理: 同为 404NOT_FOUNDRANGE_TOO_DEEP 的处理方向相反——程序分支请按 error.code 判断,不要只看 HTTP 状态码 503 的错误体携带 recoverable: trueretry_after_seconds,适合程序自动处理。
一个已知的边界情况:对确定不可能存在的数据组合(例如查询一个已过期日期的快照、对不适用的标的类型查基本面),当前也可能返回带重试提示的 503。如果同一请求重试两三轮仍无进展,应当放弃并检查请求本身是否有意义,而不是无限重试。

程序模式小抄