Developer docs

响应头与额度

调用次数、速率、并发、流量四种额度怎么计算,以及从响应头读出用量。

X-Cache 显示 HIT/MISS(期权逐笔不缓存,显示 BYPASS);X-Plan、X-Plan-Tier、X-Plan-Expires 显示当前套餐 ID、档位(starter/advanced)与到期时间(ISO 8601,体验套餐按小时计,到期精确到分钟)。

X-Quota-Used / X-Quota-Limit 是每日调用额度:

  • 每次 HTTP 请求计 1 次,缓存命中(X-Cache: HIT)也计入,与返回了多少条记录无关。
  • 按 UTC 0 点重置(北京时间每天 08:00),重置时间见 X-Quota-Reset。
  • 超出当日额度后,当天剩余请求全部返回 429,不会降速放行,需等重置或升级套餐。

速率上限(QPS):每秒请求数按套餐限制——Starter 体验 5、月付/季付 10、半年付 15、年付 20;Advanced 体验 10、月付/季付 20、半年付 30、年付 40;期权月付/季付 20、半年付 30、年付 40(期权和股票的 QPS、并发分开计算,互不占用)。只有未命中缓存的请求受此限制,超出返回 429,按响应头 Retry-After(秒)等待后重试。未命中缓存的响应带 X-RateLimit-Limit / X-RateLimit-Remaining,以及处理耗时 X-Response-Time。

并发上限:同一个 Key 同时向数据源发起的请求数有上限(Starter 3 个,Advanced 5 个),缓存命中的请求不受限。超出的请求会自动排队,前面的完成后依次处理,不需要改代码;排队过长(超过上限的 4 倍)或等待超过 15 秒会返回 429(带 Retry-After 和 X-Concurrency-Limit),稍后重试即可。批量下载时把并发控制在上限以内,整体速度反而最快。

流量额度:REST 接口另有每月流量上限(Starter 每月 60GB,Advanced 每月 120GB),每天用多少不限,可以集中下载。用量见 X-Traffic-Used-Month / X-Traffic-Limit-Month(单位字节):

  • 按返回的数据量(解压后)计算,缓存命中也计入。
  • 按 UTC 自然月重置(每月 1 日北京时间 08:00)。
  • 超出后当月剩余请求返回 429,重置时间见 X-Traffic-Reset。
  • 加量包:月额度不够用时可购买加量包(入门版 60GB、高级版 120GB),在兑换页面输入兑换码即可到账。套餐月额度用完后才开始使用加量包,可叠加多个,先到期的先用;每个加量包激活后 90 天内有效,用完为止,跨月也可继续使用。剩余量见响应头 X-Traffic-Pack-Remaining(单位字节)。Flat Files 和 WebSocket 有各自的额度,不计入这里的流量。
  • 需要批量拉取大量历史数据时,日K/分钟K 建议使用 Flat Files,一个文件就是一整天的全市场数据,比逐个 ticker 调 REST 省得多。

WebSocket 走的是独立的并发连接数 / 订阅标的数配额,跟上面这套 REST 的每日调用额度是两回事,不共用也不互相影响,具体数字见 WebSocket 实时推送。