跳到主要内容

K 线数据

K 线数据查询服务,提供历史 K 线查询。

K 线返回格式说明

所有 K 线接口返回格式为二维数组,每条 K 线为 12 个元素的数组:

索引字段类型说明
[0]openTimeinteger开盘时间戳(毫秒)
[1]closeTimeinteger收盘时间戳(毫秒)
[2]openstring开盘价
[3]highstring最高价
[4]lowstring最低价
[5]closestring收盘价
[6]volumestring成交量
[7]quoteVolumestring成交额
[8]tradesinteger成交笔数
[9]takerBuyBaseVolumestring主动买入量
[10]takerBuyQuoteVolumestring主动买入额
[11]isClosedboolean是否已收盘

返回数据按时间降序排列(最新的在前),包含未收盘的当前 K 线。

支持的时间周期(interval)

1s · 1m · 3m · 5m · 15m · 30m · 1h · 2h · 4h · 6h · 8h · 12h · 1d · 3d · 1w · 1M


查询 K 线数据

查询单个交易对的历史 K 线数据,支持两种互斥模式:

  1. 按数量查询:只传 symbol + interval + limit,返回最新的 limit 条 K 线
  2. 按时间范围查询:传 symbol + interval + start_time + end_time,返回该时间段内的所有 K 线

⚠️ limit 参数与 start_time/end_time 互斥,不能同时使用。

接口信息

  • 方法: GET
  • 路径: /api/v1/klines

请求参数

参数位置类型必填说明
symbolquerystring交易对
intervalquerystring时间周期(见上表)
start_timequeryinteger开始时间戳(毫秒),需与 end_time 同时使用,与 limit 互斥
end_timequeryinteger结束时间戳(毫秒),需与 start_time 同时使用,与 limit 互斥
limitqueryinteger返回最新 N 条数据,默认 500,最大 1500,与 start_time/end_time 互斥

请求示例

# 按数量
GET /api/v1/klines?symbol=BTC_USDT&interval=1m&limit=100

# 按时间范围
GET /api/v1/klines?symbol=BTC_USDT&interval=1h&start_time=1704067200000&end_time=1704153600000

成功响应

返回二维数组,每条 K 线 12 个元素,参见"K 线返回格式说明"。

错误响应

HTTP 状态码始终为 200,通过 code 字段区分错误:

  • 6000-6999:客户端错误
  • 7000-7999:服务端错误
{
"code": 6001,
"message": "invalid interval"
}

响应示例

[
[
1704153600000,
1704153659999,
"42150.50",
"42180.00",
"42140.00",
"42165.30",
"125.45",
"5289456.75",
2580,
"68.20",
"2876543.21",
false
]
]

批量查询 K 线数据

一次性查询多个交易对的最新 K 线数据,所有交易对使用相同的时间周期和 limit 参数。

接口信息

  • 方法: GET
  • 路径: /api/v1/klines/batch

请求参数

参数位置类型必填说明
symbolsquerystring交易对列表,逗号分隔,最多 20 个
intervalquerystring时间周期(见上表)
limitqueryinteger每个交易对返回最新 N 条数据,默认 500,最大 1500

请求示例

GET /api/v1/klines/batch?symbols=BTC_USDT,ETH_USDT&interval=1m&limit=100

响应字段

返回 JSON 对象:

  • key:交易对名称
  • value:该交易对的 K 线二维数组(格式同单交易对接口)

每个交易对的 K 线按时间降序排列(最新的在前),包含未收盘的当前 K 线。

响应示例

{
"BTC_USDT": [
[1704153600000, 1704153659999, "42150.50", "42180.00", "42140.00", "42165.30", "125.45", "5289456.75", 2580, "68.20", "2876543.21", false]
],
"ETH_USDT": [
[1704153600000, 1704153659999, "2250.10", "2255.80", "2248.00", "2252.30", "980.50", "2208756.10", 1850, "520.10", "1172345.60", false]
]
}