REST API

概览

一次请求,一个已聚合好的响应。所有接口共享相同的结构、相同的响应包装和相同的通用参数:适用于一个数据族的规则,同样适用于其他数据族。

#请求的结构

结构
GET https://api.bytnode.com/v1/<family>/<metric>
  ?symbol=BTCUSDT       # required on per-asset routes
  &timeframe=1h         # on bucketed routes
  &limit=100            # on /history routes
  &fields=timestamp,rate

X-API-KEY: your_key

路径表明数据族和指标。参数表明资产、周期和深度。请求头携带密钥。调用任何接口只需要知道这些。

只有一个端点不遵循这种结构:POST /v1/indicators,它接收 JSON 正文,因为它描述的是一次计算,而不是一次读取。

#最新值还是历史

大多数指标有两个版本。不带后缀的接口返回最新值:一个对象,或 null。/history 后缀返回一个列表,按时间从新到旧排列。

curl
# The latest value
GET /v1/basis?symbol=BTCUSDT

# The last 200, from newest to oldest
GET /v1/basis/history?symbol=BTCUSDT&limit=200

# A dated window, in milliseconds
GET /v1/basis/history?symbol=BTCUSDT&since_ms=1756425600000&until_ms=1756512000000

#通用参数

参数类型默认值说明
symbolstring必填资产,使用目录格式(BTCUSDT)。缺失:422。未知:400,并附列表。全市场接口不接受此参数。
timeframestring必填用于按区间的接口:1m、5m、15m、30m、1h、4h、1d。不在列表中:422。
limitinteger100用于 /history 接口。一般上限为 1000,多空比和交易所间价差为 500。
since_ms / until_msinteger—以 Unix 毫秒表示的时间窗口,仅限支持该参数的接口。过滤先于 limit 生效。
livebooleanfalse用于按区间的最新值接口:返回进行中的周期,标记为 is_closed: false。
fieldsstring—data 的 CSV 投影,嵌套字段用点号表示。未知字段:422,并给出建议。

不存在的东西

任何接口都没有 exchange 参数:响应是聚合的,不标明交易所,唯一的例外是交易所间价差。传入该参数会返回 422。

#数据族

所有接口都汇集在一页的端点目录中。