二、HTTP 行情与 K 线
2.5 单个产品实时 / 历史 K 线
GET
/api/mini_list一个产品某个周期的 K 线,可以按页往前翻,也可以按起止时间取。
请求
请求头 Authorization:你的密钥(必填)。
| 参数 | 是否必填 | 说明 |
|---|---|---|
| market | 必填 | 市场代码,如 NASDAQ;全部取值见「国家与市场参数」。不分大小写 |
| symbol | 必填 | 产品代码,只能传一个;代码里有 & 时要写成 %26 |
| interval | 必填 | K 线周期:1min、5min、10min、15min、30min、1h、1day、1week、1month |
| page | 可选 | 页码,从 1 开始,默认 1;第 1 页是最新的,页码越大越早 |
| from | 可选 | 开始时间,Unix 秒 |
| to | 可选 | 结束时间,Unix 秒 |
返回
外壳里的 data 是一个字符串。多根 K 线用英文分号 ; 隔开,一根里面用英文逗号 , 隔开,最新的在前。一根里面的 7 项顺序固定:
| 位置 | 内容 | 说明 |
|---|---|---|
| 1 | 时间 | Unix 秒,这根 K 线的开始时间;日线、周线、月线是那一天的 UTC 零点 |
| 2 | 收盘价 | 还没走完的那一根是最新价 |
| 3 | 开盘价 | |
| 4 | 最高价 | |
| 5 | 最低价 | |
| 6 | 备用 | |
| 7 | 成交量 |
| interval | 周期 |
|---|---|
| 1min | 1 分钟 |
| 5min | 5 分钟 |
| 10min | 10 分钟 |
| 15min | 15 分钟 |
| 30min | 30 分钟 |
| 1h | 1 小时 |
| 1day | 1 日 |
| 1week | 1 周 |
| 1month | 1 月 |
按页取
- 每页 500 根;第 1 页除了这 500 根还带上最近的几根到几十根(实测 AAPL 日线第 1 页是 505 根),第 2 页起正好 500 根,紧接在上一页之前。
- 从
page=1开始一页一页往前取,直到data是空字符串。 - 第 1 页的第一根是正在走的那一根,收盘价就是最新价,周期走完之前会一直变。
- 产品不存在时
status仍是 0,data是空字符串。
按时间范围取
from、to是 Unix 秒(传 13 位毫秒也认)。可以只传一个:只传from取到最新,只传to取to之前的。- 一次最多 500 根;范围里超过 500 根时返回其中最新的 500 根。
- 传了
from或to时page不起作用。 - 响应头
X-Has-More是 true 表示范围里还有更早的没返回,这时X-Next-To给出下一次该传的to(这一批最早那根的时间减 1 秒)。
错误
| HTTP | 返回 | 情况 |
|---|---|---|
| 200 | status=500 The parameter 'market' is required | 缺少 market(symbol、interval 同理) |
| 200 | status=500 The parameter 'interval' must be one of 1min,5min,10min,15min,30min,1h,1day,1week,1month | interval 不在支持的周期里 |
| 200 | status=500 The parameter 'symbol' is invalid | symbol 里有逗号等分隔符(只能传一个产品) |
| 200 | status=500 The parameter 'page' must be a positive integer | page 不是正整数 |
| 200 | status=500 The parameter 'from' must be a Unix timestamp in seconds | from 或 to 不是数字 |
| 200 | status=500 The parameter 'from' must be less than or equal to 'to' | from 比 to 大 |
示例:按页取
GET
/mini_list?market=NASDAQ&symbol=AAPL&interval=1day请求头 Authorization: 你的密钥 · HTTP 200
{
"status": 0, // 0 成功,500 失败
"interval": "1day", // K 线周期
"market": "NASDAQ", // 市场代码
"code": "AAPL", // 产品代码
"message": "SUCCESS", // 成功为 SUCCESS,失败时是原因
// K 线,每根是 时间,收盘价,开盘价,最高价,最低价,备用,成交量;最新的在前
"data": "1790899200,333.69,333.26,334.54,330.61,0,31474957.285404;1790812800,332.86,330,332.4816,325.81,0,34897053.582827;1790726400,329.59,330.8,339.5,330.1401,0,47874522;…"
}data 共 505 根 K 线,示例只列出前 3 根。
示例:按时间范围取
GET
/mini_list?market=NASDAQ&symbol=AAPL&interval=1day&from=1790121600&to=1790899200请求头 Authorization: 你的密钥 · HTTP 200 · 响应头 X-Has-More: false
{
"status": 0, // 0 成功,500 失败
"interval": "1day", // K 线周期
"market": "NASDAQ", // 市场代码
"code": "AAPL", // 产品代码
"message": "SUCCESS", // 成功为 SUCCESS,失败时是原因
// K 线,每根是 时间,收盘价,开盘价,最高价,最低价,备用,成交量;最新的在前
"data": "1790899200,333.69,333.26,334.54,330.61,0,31474957.285404;1790812800,332.86,330,332.4816,325.81,0,34897053.582827;1790726400,329.59,330.8,339.5,330.1401,0,47874522;…"
}data 共 8 根 K 线,示例只列出前 3 根。
示例:范围里超过 500 根
GET
/mini_list?market=NASDAQ&symbol=AAPL&interval=1day&from=1618099200&to=1790899200请求头 Authorization: 你的密钥 · HTTP 200 · 响应头 X-Next-To: 1727999999,X-Has-More: true
{
"status": 0, // 0 成功,500 失败
"interval": "1day", // K 线周期
"market": "NASDAQ", // 市场代码
"code": "AAPL", // 产品代码
"message": "SUCCESS", // 成功为 SUCCESS,失败时是原因
// K 线,每根是 时间,收盘价,开盘价,最高价,最低价,备用,成交量;最新的在前
"data": "1790899200,333.69,333.26,334.54,330.61,0,31474957.285404;1790812800,332.86,330,332.4816,325.81,0,34897053.582827;1790726400,329.59,330.8,339.5,330.1401,0,47874522;…"
}data 共 500 根 K 线,示例只列出前 3 根。