API REFERENCE

历史行情数据接口

面向股票基础信息、股票/指数/ETF 日线、复权因子、分钟 K 线、期货期权与实时行情查询。使用个人中心生成的 API Key 鉴权。

快速开始

在个人中心创建 API Key。请求时优先将 Key 放入 X-Api-Key 请求头,不要把 Key 写进浏览器前端、公开仓库或截图。

基础地址:https://jinniu.lingxideai.com。日期使用 YYYYMMDD,例如 20260805
所有 API 的响应压缩:客户端请求头带 Accept-Encoding: gzip 时,服务端使用 gzip 压缩传输;未携带时按默认 JSON 返回。该请求头不是业务参数,不需要写入各接口的请求示例。

MCP 接入

支持无状态 Streamable HTTP MCP。将服务地址设为 https://jinniu.lingxideai.com/mcp,并在请求头中使用 Authorization: Bearer YOUR_API_KEY;也兼容 X-Api-Key

MCP按账号每分钟最多调用60次,并复用当前账号的数据权限。
复制给AI,一键添加MCP
复制后将 YOUR_API_KEY 替换为个人中心生成的Key。
请帮我添加并连接这个MCP服务:
名称:金牛行情数据
类型:Streamable HTTP
地址:https://jinniu.lingxideai.com/mcp
鉴权:Authorization: Bearer YOUR_API_KEY

安装后请读取tools/list验证连接;如果不能自动添加,请告诉我配置入口。

连接验证

curl -X POST 'https://jinniu.lingxideai.com/mcp' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"example","version":"1.0"}}}'

连接后通过 tools/list 获取31个工具及其输入参数说明;通过 tools/call 查询数据。返回数据仍使用正式的 data.fields + data.items 结构。

基础信息与分类

股票列表

POSThttps://jinniu.lingxideai.com/api/stock_basic
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/stock_basic' \\
  -H 'Content-Type: application/json' \\
  -H 'X-Api-Key: YOUR_API_KEY' \\
  -d '{
    "name": "平安银行",
    "list_status": "L"
  }'

请求字段

参数必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code股票代码,支持逗号分隔,例如 000001.SZ,600519.SH
name证券名称,例如 平安银行
market市场类型:主板创业板科创板CDR北交所
list_status上市状态:L(上市)、D(退市)、P(暂停上市);默认 L
exchange交易所代码:SSESZSEBSE
is_hs沪深港通标的:NHS
fields逗号分隔的返回字段;不填写返回全部标准字段。

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "symbol", "name", "area", "industry", "fullname", "enname", "cnspell", "market", "exchange", "curr_type", "list_status", "list_date", "delist_date", "is_hs", "act_name", "act_ent_type"],
    "items": [["000001.SZ", "000001", "平安银行", "深圳", "银行", "平安银行股份有限公司", "Ping An Bank Co., Ltd.", "PAYH", "主板", "SZSE", "CNY", "L", "19910403", "", "N", null, null]]
  }
}

返回参数

字段类型说明
ts_codestring证券代码,带交易所后缀。
symbolstring六位证券代码。
namestring证券简称。
area / industry / fullname / enname / cnspellstring/null地域、行业、股票全称、英文全称、拼音缩写;暂无可用值时返回 null
market / exchange / curr_typestring市场类型、交易所代码(SSE/SZSE/BSE)、交易货币(CNY)。
list_status / list_date / delist_datestring上市状态、上市日期、退市日期;日期格式为 YYYYMMDD,无退市日期时为空字符串。
is_hs / act_name / act_ent_typestring/null沪深港通标的、实控人名称、实控人企业性质;暂无可用值时返回 null

本分类还包括交易日历、ST 与风险警示历史、名称变更、上市公司主体和北交所新旧代码映射。

以下接口统一使用日线数据权限和 API Key 鉴权。返回数据中,data.fields 为字段顺序,data.items 为按该顺序排列的数据行;单次最多返回 5,000 条。

交易日历

POSThttps://jinniu.lingxideai.com/api/trade_cal
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/trade_cal' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"exchange":"BSE","start_date":"20260810","end_date":"20260907","limit":64}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
exchange交易所:SSESZSEBSE。北交所日历覆盖自 20211115 起,按A股共同交易日规则返回。
cal_date精确日期,格式 YYYYMMDD;填写后只返回该日。
start_date / end_date日期区间,格式 YYYYMMDD;可单独使用或组合使用。
limit最大返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填则返回全部字段。

返回字段

字段说明
exchange交易所代码。
cal_date日历日期,格式 YYYYMMDD
is_open是否开市:1 为开市,0 为休市;枚举值,无计量单位。
pretrade_date上一交易日,格式 YYYYMMDD;无上一交易日时为空。

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["exchange", "cal_date", "is_open", "pretrade_date"],
    "items": [["BSE", "20260810", 1, "20260807"]]
  }
}

ST 与风险警示历史

POSThttps://jinniu.lingxideai.com/api/stock_st
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/stock_st' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"trade_date":"20260820","limit":1}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code条件必填证券代码,可用逗号分隔多个代码,例如 000001.SZ,600519.SH
trade_date条件必填精确交易日期,格式 YYYYMMDD
start_date / end_date条件必填交易日期区间,格式 YYYYMMDDts_codetrade_date 或日期区间至少填写一项。
limit最大返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填则返回全部字段。

返回字段

字段说明
ts_code证券代码,带交易所后缀。
name证券简称。
trade_date风险警示状态对应交易日,格式 YYYYMMDD
type风险警示类型代码。
type_name风险警示类型名称。

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "name", "trade_date", "type", "type_name"],
    "items": [["000003.SZ", "ST金田A", "20010102", "ST", "风险警示板"]]
  }
}

名称变更历史

POSThttps://jinniu.lingxideai.com/api/namechange
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/namechange' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"000001.SZ","limit":1}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code证券代码,可用逗号分隔多个代码。
start_date / end_date名称有效区间筛选,格式 YYYYMMDD
limit最大返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填则返回全部字段。

返回字段

字段说明
ts_code证券代码,带交易所后缀。
name该期间使用的证券简称。
start_date名称开始使用日期,格式 YYYYMMDD
end_date名称结束使用日期,格式 YYYYMMDD;仍在使用时可能为空。
ann_date公告日期,格式 YYYYMMDD;无记录时为空。
change_reason名称变更原因;无记录时为空。

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "name", "start_date", "end_date", "ann_date", "change_reason"],
    "items": [["000001.SZ", "深发展A", "19910403", "20061008", "19910403", "其他"]]
  }
}

上市公司主体信息

POSThttps://jinniu.lingxideai.com/api/stock_company
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/stock_company' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"000001.SZ","limit":1}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code证券代码,可用逗号分隔多个代码。
exchange交易所:SSESZSEBSE
limit最大返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填则返回全部字段。

返回字段

字段说明
ts_code证券代码,带交易所后缀。
com_name上市公司全称。
com_id公司主体标识。
exchange所属交易所代码。

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "com_name", "com_id", "exchange"],
    "items": [["688322.SH", "奥比中光科技集团股份有限公司", "91440300061436270G", "SSE"]]
  }
}

北交所新旧代码映射

POSThttps://jinniu.lingxideai.com/api/bse_mapping
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/bse_mapping' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"limit":1}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code北交所新代码或旧代码,例如 920729.BJ
limit最大返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填则返回全部字段。

返回字段

字段说明
name证券简称。
o_code旧证券代码。
n_code新证券代码。
list_date新代码上市日期,格式 YYYYMMDD

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["name", "o_code", "n_code", "list_date"],
    "items": [["永顺生物", "839729.BJ", "920729.BJ", "20200727"]]
  }
}

申万指数基本信息

POSThttps://jinniu.lingxideai.com/api/sw_index_basic
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 2,000 条。超限返回 HTTP 429

查询申万指数代码、名称、类别、发布方、基期、基点和发布日期,需要开通“申万指数基础数据”权限。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/sw_index_basic' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"801780.SI","limit":1}'

请求与返回字段

字段必填说明
ts_code申万指数代码,带 .SI 后缀。
name指数名称,支持名称包含查询。
category / publisher指数类别、发布方筛选。
limit1 至 2,000,默认 2,000。
fields可选返回字段。
base_date / list_date返回基期、发布日期,格式 YYYYMMDD
base_point返回指数基点,单位:点。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","name","market","publisher","category","base_date","base_point","list_date"],"items":[["801780.SI","银行","SW","上海申银万国证券研究所有限公司","一级行业指数","19991230",1000.0,"20140221"]],"meta":{"returned_count":1,"truncated":false}}}

申万行业分类

POSThttps://jinniu.lingxideai.com/api/sw_index_classify
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 2,000 条。超限返回 HTTP 429

查询申万一级、二级和三级行业目录及上下级关系,需要开通“申万指数基础数据”权限。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/sw_index_classify' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"level":"L1","src":"SW2021","limit":2}'

请求与返回字段

字段必填说明
index_code申万行业指数代码,带 .SI 后缀。
levelL1L2L3
src分类版本:SW2021SW2014,默认 SW2021
limit1 至 2,000,默认 2,000。
industry_name / industry_code返回行业名称、行业分类代码。
is_pub / parent_code返回是否发布行情、上级行业代码。

返回示例

{"success":true,"message":"","data":{"fields":["index_code","industry_name","level","industry_code","is_pub","parent_code","src"],"items":[["801010.SI","农林牧渔","L1","110000","1","0","SW2021"]],"meta":{"returned_count":1,"truncated":false}}}

申万行业成分

POSThttps://jinniu.lingxideai.com/api/sw_index_member
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 2,000 条。超限返回 HTTP 429

可按申万一、二、三级行业查询成分股,也可按股票代码反查所属申万行业,需要开通“申万指数基础数据”权限。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/sw_index_member' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"l1_code":"801780.SI","is_new":"Y","limit":2}'

请求与返回字段

字段必填说明
l1_code / l2_code / l3_code条件必填申万行业代码,至少与 ts_code 提供一项。
ts_code条件必填股票代码,例如 000001.SZ,用于反查所属行业。
is_newY 查询当前成分,N 查询已调出记录,默认 Y
limit1 至 2,000,默认 2,000。
in_date / out_date返回纳入、调出日期,格式 YYYYMMDD;当前成分的调出日期可为 null

返回示例

{"success":true,"message":"","data":{"fields":["l1_code","l1_name","l2_code","l2_name","l3_code","l3_name","ts_code","name","in_date","out_date","is_new"],"items":[["801780.SI","银行","801783.SI","股份制银行Ⅱ","857831.SI","股份制银行Ⅲ","000001.SZ","平安银行","19910403",null,"Y"]],"meta":{"returned_count":1,"truncated":false}}}

申万历史成员

POSThttps://jinniu.lingxideai.com/api/index_member
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 2,000 条。超限返回 HTTP 429

用于查询旧版申万指数成员历史。填写 as_of_date 时,接口会按纳入、调出日期筛出该日有效记录;可结合“申万行业分类”接口转换为 SW2021 分级口径。需要开通“申万指数基础数据”权限。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/index_member' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"002310.SZ","as_of_date":"20200102","limit":20}'

请求与返回字段

字段必填说明
index_code条件必填申万指数代码,带 .SI 后缀;与 ts_code 至少填写一项。
ts_code条件必填股票代码,例如 002310.SZ,用于反查历史成员关系。
as_of_date历史查询日期,格式 YYYYMMDD。填写后返回该日期有效的成员记录,并在 meta.as_of_date 回显查询日期。
is_new未填写 as_of_date 时使用:Y 查询当前成员,N 查询历史成员,默认 Y
limit1 至 2,000,默认 2,000。
in_date / out_date返回纳入、调出日期,格式 YYYYMMDD

返回示例

{"success":true,"message":"","data":{"fields":["index_code","index_name","con_code","con_name","in_date","out_date","is_new"],"items":[["801720.SI","建筑装饰(申万)","002310.SZ","东方新能","20140221","20241227","N"]],"meta":{"returned_count":1,"truncated":false,"as_of_date":"20200102"}}}

查询股票历史日线

POSThttps://jinniu.lingxideai.com/api/daily
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429
数据覆盖范围:日线从各证券的首个可用交易日开始,新上市证券的起始日期会更晚;请以实际返回的最早 trade_date 为准。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/daily' \\
  -H 'Content-Type: application/json' \\
  -H 'X-Api-Key: YOUR_API_KEY' \\
  -d '{
    "ts_code": "000001.SZ",
    "start_date": "20260820",
    "end_date": "20260820",
    "limit": 1
  }'

股票日线请求参数

参数必填说明
ts_code证券代码,带交易所后缀;支持逗号分隔的多个代码,例如 000001.SZ,600519.SH。与 trade_date 至少填写一个。
trade_date交易日期,支持 YYYYMMDDYYYY-MM-DD;用于查询该交易日的全市场数据,或限定指定代码。
start_date起始交易日,格式同 trade_date;未填写时按返回条数向前读取。
end_date结束交易日,格式同 trade_date;未填写时读取当前数据版本的最新交易日。
limit返回条数,范围 1 至 5000;不填写时最多返回 5000 条。
fields逗号分隔的返回字段;不填写返回标准日线字段。可额外指定 ah_volah_amount
日线接口每次调用最多返回 5000 条记录;数据量较大时请按日期区间分批查询。
本接口固定返回原始不复权行情,不返回复权因子;如需自行计算前复权或后复权,请调用下方的复权因子接口。

股票日线返回说明

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "trade_date", "open", "high", "low", "close", "pre_close", "change", "pct_chg", "vol", "amount"],
    "items": [["000001.SZ", "20260804", 12.31, 12.48, 12.20, 12.42, 12.28, 0.14, 1.14, 1234567, 1523400000]]
  }
}

返回字段

字段含义
fields本次返回列名,items 每行按此顺序排列。
items日线数据二维数组。
ts_code / trade_date证券代码、交易日期;文本字段,无计量单位。
open / high / low / close开盘、最高、最低、收盘价格,单位:元/股,均为原始不复权口径。
pre_close昨收价(除权价),单位:元/股。
change涨跌额,单位:元/股。
pct_chg涨跌幅,单位:%。
vol成交量,单位:手。
amount成交额,单位:千元人民币。
ah_vol可选的盘后固定成交量,单位:手。
ah_amount可选的盘后固定成交额,单位:千元人民币。

查询指数历史日线

POSThttps://jinniu.lingxideai.com/api/index_daily
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/index_daily' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{
    "ts_code": "000300.SH",
    "start_date": "20260820",
    "end_date": "20260820",
    "limit": 1
  }'

仅支持单个指数代码;可使用 trade_datestart_dateend_datelimitfields 筛选。返回原始不复权指数行情,标准字段为股票日线标准字段,不支持盘后固定成交量和成交额字段;返回结构同样为 fieldsitems。单次最多返回 5000 条。

数据覆盖范围:指数日线从对应指数的首个可用交易日开始,不同指数的起始日期不同;请以实际返回的最早 trade_date 为准。

请求参数

参数必填说明
ts_code单个指数代码,带交易所或指数后缀,例如 000300.SH
trade_date交易日期,支持 YYYYMMDDYYYY-MM-DD
start_date / end_date起止交易日,格式同 trade_date
limit返回条数,范围 1 至 5000;不填写时最多返回 5000 条。
fields逗号分隔的标准日线字段;不支持 ah_volah_amount

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "trade_date", "open", "high", "low", "close", "pre_close", "change", "pct_chg", "vol", "amount"],
    "items": [["000300.SH", "20260814", 4653.7182, 4685.6612, 4637.1282, 4665.8812, 4657.9752, 7.906, 0.17, 1234567, 1523400000]]
  }
}

返回字段

字段类型说明
data.fields / data.itemsarray / array返回列名及指数日线二维数组;每行按 fields 顺序排列。
ts_code / trade_datestring指数代码、交易日期;文本字段,无计量单位。
open / high / low / close / pre_closenumber开盘、最高、最低、收盘、昨收点位,单位:点。
changenumber涨跌点位,单位:点。
pct_chgnumber涨跌幅,单位:%。
volnumber成交量,单位:手。
amountnumber成交额,单位:千元人民币。
不同指数的公开字段覆盖范围可能不同。若某指数未提供开高低、成交量或成交额,对应值会返回 null;这表示该字段暂无可用值,不代表零值。

查询申万指数历史日线

POSThttps://jinniu.lingxideai.com/api/sw_daily
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 4,000 条。超限返回 HTTP 429

查询申万行业指数日线行情及估值、市值指标,需要开通“申万指数日线”权限。指数代码使用 .SI 后缀。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/sw_daily' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"801780.SI","start_date":"20260921","end_date":"20260922","limit":2}'

请求参数

参数必填说明
ts_code条件必填申万指数代码,例如 801780.SI
trade_date条件必填指定交易日,格式 YYYYMMDDYYYY-MM-DD
start_date / end_date条件必填起止交易日;与 ts_code/trade_date 至少提供一组条件。
limit1 至 4,000,默认 4,000。
fields逗号分隔的返回字段;不填返回全部标准字段。

返回字段与单位

字段说明
ts_code / trade_date / name申万指数代码、交易日期、指数名称。
open / low / high / close开盘、最低、最高、收盘点位,单位:点。
change涨跌点位,单位:点。
pct_change涨跌幅,单位:%。
vol成交量,单位:万股。
amount成交额,单位:万元人民币。
pe / pb市盈率、市净率,单位:倍。
float_mv / total_mv流通市值、总市值,单位:万元人民币。
data.meta.returned_count / truncated实际返回条数、是否因 limit 截断。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","trade_date","name","open","low","high","close","change","pct_change","vol","amount","pe","pb","float_mv","total_mv"],"items":[["801780.SI","20260922","银行",4139.17,4118.99,4153.04,4146.78,-4.31,-0.1,289687.0,2242988.0,6.32,0.52,258046089.0,1123792502.0]],"meta":{"returned_count":1,"truncated":false}}}

查询 ETF 历史日线

POSThttps://jinniu.lingxideai.com/api/etf_daily
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

仅支持单个 ETF 代码,返回原始不复权日线。字段、日期参数和返回结构与指数日线一致。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/etf_daily' \\
  -H 'Content-Type: application/json' \\
  -H 'X-Api-Key: YOUR_API_KEY' \\
  -d '{
    "ts_code": "159995.SZ",
    "start_date": "20260820",
    "end_date": "20260820",
    "limit": 1
  }'

请求参数

参数必填说明
ts_code单个 ETF 代码,带交易所后缀,例如 159995.SZ510300.SH
trade_date交易日期,支持 YYYYMMDDYYYY-MM-DD
start_date / end_date起止交易日,格式同 trade_date
limit返回条数,范围 1 至 5000;不填写时最多返回 5000 条。
fields逗号分隔的标准日线字段;不填写返回全部字段。

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "trade_date", "open", "high", "low", "close", "pre_close", "change", "pct_chg", "vol", "amount"],
    "items": [["159995.SZ", "20260805", 1.245, 1.268, 1.238, 1.262, 1.241, 0.021, 1.69, 1256345, 158726.48]]
  }
}

返回字段

层级字段类型说明
datafieldsarray本次返回列名,items 中每行按此顺序排列。
dataitemsarrayETF 日线二维数组,按交易日期从近到远排列。
items[]ts_codestringETF 代码,带交易所后缀。
items[]trade_datestring交易日期,格式 YYYYMMDD
items[]open / high / low / closenumber开盘、最高、最低、收盘价格,单位:元/份。
items[]pre_closenumber昨收价格,单位:元/份。
items[]changenumber涨跌额,单位:元/份。
items[]pct_chgnumber涨跌幅,单位:%。
items[]volnumber成交量,单位:手。
items[]amountnumber成交额,单位:千元人民币。
数据覆盖范围:不同 ETF 的可用起始日期不同。请以实际返回的最早 trade_date 为准。

查询股票复权因子

POSThttps://jinniu.lingxideai.com/api/adj_factor
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/adj_factor' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{
    "ts_code": "000001.SZ",
    "start_date": "20260820",
    "end_date": "20260820",
    "limit": 1
  }'

仅支持单个 A 股股票代码。支持 trade_datestart_dateend_datelimitfields;返回结构为 fieldsitems,单次最多返回 5000 条。

数据覆盖范围:复权因子从各证券的首个可用交易日开始,新上市证券的起始日期会更晚;请以实际返回的最早 trade_date 为准。

请求参数

参数必填说明
ts_code单个 A 股股票代码,带交易所后缀,例如 000001.SZ
trade_date交易日期,支持 YYYYMMDDYYYY-MM-DD
start_date / end_date起止交易日,格式同 trade_date
limit返回条数,范围 1 至 5000;不填写时最多返回 5000 条。
fields逗号分隔的返回字段,仅支持 ts_codetrade_dateadj_factor

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "trade_date", "adj_factor"],
    "items": [["000001.SZ", "20260814", 181.284]]
  }
}

返回字段

字段类型说明
ts_codestring证券代码,带交易所后缀。
trade_datestring交易日期,格式 YYYYMMDD
adj_factornumber复权因子,无量纲(无单位)。可与同日原始价格相结合,由客户端自行计算前复权或后复权价格。

查询 ETF 复权因子

POSThttps://jinniu.lingxideai.com/api/etf_adj_factor
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 2,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/etf_adj_factor' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{
    "ts_code": "510300.SH",
    "start_date": "20260820",
    "end_date": "20260820",
    "limit": 1
  }'

请求参数

参数必填说明
ts_code单个 ETF 代码,带交易所后缀,例如 510300.SH
trade_date交易日期,支持 YYYYMMDDYYYY-MM-DD
start_date / end_date起止交易日,格式同 trade_date
limit返回条数,范围 1 至 2000;不填写时最多返回 2000 条。
fields逗号分隔字段,仅支持 ts_codetrade_dateadj_factor

返回示例

{
  "success": true,
  "message": "",
  "data": {
    "fields": ["ts_code", "trade_date", "adj_factor"],
    "items": [["510300.SH", "20260805", 1.025]]
  }
}

返回字段

字段类型说明
ts_codestringETF 代码,带交易所后缀。
trade_datestring交易日期,格式 YYYYMMDD
adj_factornumberETF 复权因子,无量纲(无单位)。

查询历史分钟 K 线

分钟线按标的类别拆分为股票、ETF、交易所指数与申万指数四类独立接口。每个接口均支持 1min5min15min30min60min

时间规范:推荐使用北京时间 YYYY-MM-DD HH:MM:SS。日期格式 YYYYMMDD 也可使用:起始日期默认从 09:30:00 开始,结束日期默认至 15:00:00。返回数据按 trade_time 从早到晚排列。

股票分钟 K 线

POSThttps://jinniu.lingxideai.com/api/stk_mins
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/stk_mins' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"000001.SZ","freq":"1min","start_date":"2026-08-20 09:30:00","end_date":"2026-08-20 09:31:00","limit":2}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code单只股票代码,带交易所后缀,例如 000001.SZ
freq周期:1min5min15min30min60min
start_date / end_date起止时间,推荐格式 YYYY-MM-DD HH:MM:SS,按北京时间解释。
limit返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填返回全部标准字段。

返回字段

字段说明
data.fields本次返回的字段顺序。
data.items分钟 K 线二维数组,每一行按 fields 的顺序排列。
data.meta.matched_count请求时间范围内匹配的总行数,单位:条。
data.meta.returned_count实际返回行数,单位:条。
data.meta.truncated是否因 limit 截断;布尔值,无计量单位。
ts_code / trade_time股票代码、K 线时间;时间格式为 YYYY-MM-DD HH:MM:SS,北京时间。
open / close / high / low开盘、收盘、最高、最低价,单位:元/股。
vol成交量,单位:股。
amount成交额,单位:元人民币。

返回示例

{
  "success": true,
  "message": "",
  "data": {"fields": ["ts_code", "trade_time", "open", "close", "high", "low", "vol", "amount"], "items": [["000001.SZ", "2026-08-05 09:35:00", 12.31, 12.34, 12.36, 12.28, 1234500, 15234000.0]], "meta": {"matched_count": 240, "returned_count": 1, "truncated": true}}
}

ETF 分钟 K 线

POSThttps://jinniu.lingxideai.com/api/etf_mins
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/etf_mins' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"159995.SZ","freq":"1min","start_date":"2026-08-20 09:30:00","end_date":"2026-08-20 09:31:00","limit":2}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code单只 ETF 代码,带交易所后缀,例如 159995.SZ
freq周期:1min5min15min30min60min
start_date / end_date起止时间,推荐格式 YYYY-MM-DD HH:MM:SS,按北京时间解释。
limit返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填返回全部标准字段。

返回字段

字段说明
data.fields本次返回的字段顺序。
data.items分钟 K 线二维数组,每一行按 fields 的顺序排列。
data.meta.matched_count请求时间范围内匹配的总行数,单位:条。
data.meta.returned_count实际返回行数,单位:条。
data.meta.truncated是否因 limit 截断;布尔值,无计量单位。
ts_code / trade_timeETF 代码、K 线时间;时间格式为 YYYY-MM-DD HH:MM:SS,北京时间。
open / close / high / low开盘、收盘、最高、最低价,单位:元/份。
vol成交量,单位:份。
amount成交额,单位:元人民币。

返回示例

{
  "success": true,
  "message": "",
  "data": {"fields": ["ts_code", "trade_time", "open", "close", "high", "low", "vol", "amount"], "items": [["159995.SZ", "2026-08-05 09:35:00", 1.245, 1.247, 1.249, 1.242, 853000, 1064350.0]], "meta": {"matched_count": 240, "returned_count": 1, "truncated": false}}
}

指数分钟 K 线

POSThttps://jinniu.lingxideai.com/api/idx_mins
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/idx_mins' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"000300.SH","freq":"1min","start_date":"2026-08-20 09:30:00","end_date":"2026-08-20 09:31:00","limit":2}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code单个指数代码,带后缀,例如 000300.SH
freq周期:1min5min15min30min60min
start_date / end_date起止时间,推荐格式 YYYY-MM-DD HH:MM:SS,按北京时间解释。
limit返回行数,1 至 5,000,默认 5,000。
fields逗号分隔的返回字段;不填返回全部标准字段。

返回字段

字段说明
data.fields本次返回的字段顺序。
data.items分钟 K 线二维数组,每一行按 fields 的顺序排列。
data.meta.matched_count请求时间范围内匹配的总行数,单位:条。
data.meta.returned_count实际返回行数,单位:条。
data.meta.truncated是否因 limit 截断;布尔值,无计量单位。
ts_code / trade_time指数代码、K 线时间;时间格式为 YYYY-MM-DD HH:MM:SS,北京时间。
open / close / high / low开盘、收盘、最高、最低点位,单位:点。
vol成交量,单位:股;个别指数缺少该字段时返回 null
amount成交额,单位:元人民币;个别指数缺少该字段时返回 null

返回示例

{
  "success": true,
  "message": "",
  "data": {"fields": ["ts_code", "trade_time", "open", "close", "high", "low", "vol", "amount"], "items": [["000300.SH", "2026-08-05 09:35:00", 3985.20, 3988.65, 3990.18, 3982.76, 2864100, 3589240000.0]], "meta": {"matched_count": 240, "returned_count": 1, "truncated": false}}
}

申万指数分钟 K 线

POSThttps://jinniu.lingxideai.com/api/sw_mins
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

查询申万行业指数历史分钟 K 线,需要开通“申万指数分钟线”权限。指数代码使用 .SI 后缀,例如申万 A 指为 801003.SI

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/sw_mins' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"801003.SI","freq":"1min","start_date":"2026-09-21 09:30:00","end_date":"2026-09-21 15:00:00","limit":241}'

请求字段

字段必填说明
api_key个人中心生成的 API Key,也可使用请求头 X-Api-Key
ts_code单个申万指数代码,必须带 .SI 后缀,例如 801003.SI
freq周期:1min5min15min30min60min
start_date / end_date起止时间,推荐格式 YYYY-MM-DD HH:MM:SS,按北京时间解释。
limit返回行数,1 至 5,000,默认 5,000;超过时请按时间范围分批查询。
fields逗号分隔的返回字段;不填返回全部标准字段。

返回字段

字段说明
data.fields / data.items返回字段顺序及分钟 K 线二维数组。
data.meta.matched_count / returned_count匹配行数、实际返回行数,单位:条。
data.meta.truncated是否因 limit 截断;布尔值,无计量单位。
ts_code / trade_time申万指数代码、K 线时间;时间格式为 YYYY-MM-DD HH:MM:SS,北京时间。
open / close / high / low开盘、收盘、最高、最低点位,单位:点。
vol成交量,单位:股。
amount成交额,单位:元人民币。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","trade_time","open","close","high","low","vol","amount"],"items":[["801003.SI","2026-09-21 09:30:00",4644.318,4644.154,4644.318,4644.154,1438409200,22328654000]],"meta":{"matched_count":241,"returned_count":1,"truncated":true}}}

调用建议

  • 单次最多返回 5,000 条,不限制固定自然日跨度;超出时按时间区间分批查询。
  • 申万指数分钟线单次最多返回 5,000 条。
  • 增量同步时记录本地最后一条 trade_time,下次从该时间之后开始请求。
  • 同一时间范围与参数的重复请求不会产生新信息,应优先复用已保存结果。
  • 如需多个周期,可按业务需要直接请求对应周期;不要将不同标的类型的代码混用到同一接口。

期货与期权

期货、期权均使用独立权限与独立接口;返回统一采用 data.fields + data.items,每行按字段顺序排列。

期货分钟线

POSThttps://jinniu.lingxideai.com/api/fut_mins
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code单个期货合约代码,带交易所后缀,例如 CU2310.SHF
freq1min5min15min30min60min
start_date / end_date起止时间,推荐 YYYY-MM-DD HH:MM:SS,也支持 YYYYMMDD
limit1 至 5000,默认 5000。
fields可选字段:ts_code,trade_time,open,close,high,low,vol,amount,oi

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/fut_mins' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"C1305.DCE","freq":"1min","start_date":"2013-01-04 09:30:00","end_date":"2013-01-04 09:31:00","limit":2}'

返回参数

字段类型说明
ts_code / trade_timestring合约代码、交易时间(北京时间);文本字段,无计量单位。
open / close / high / lownumber开盘、收盘、最高、最低价;单位为合约报价单位,例如元/吨、元/克或指数点,以交易所合约规则为准。
volnumber成交量,单位:手。
amountnumber成交金额,单位:元人民币。
oinumber持仓量,单位:手。
data.meta.matched_count / returned_countnumber匹配行数、实际返回行数,单位:条。
data.meta.truncatedboolean是否因 limit 截断;布尔值,无计量单位。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","trade_time","open","close","high","low","vol","amount","oi"],"items":[["CU2310.SHF","2023-08-25 15:00:00",68920,68930,68940,68910,373,128543250,146733]],"meta":{"matched_count":100,"returned_count":100,"truncated":false}}}

期权合约信息

POSThttps://jinniu.lingxideai.com/api/opt_basic
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code期权合约代码,例如 10007976.SH
exchangeSSESZSECFFEXDCESHFECZCEINEGFEX
list_date上市日期,格式 YYYYMMDD
opt_code标准期权代码。
call_putC 认购,P 认沽。
limit1 至 5000,默认 5000。
fields逗号分隔的返回字段。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/opt_basic' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"90001246.SZ","limit":1,"fields":"ts_code,name,exchange,call_put,exercise_price,maturity_date"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及数据行;每行按 fields 顺序排列。
ts_code / symbol / namestring合约代码、交易代码、合约名称;文本字段,无计量单位。
exchangestring交易所代码;文本字段,无计量单位。
per_unitstring合约单位描述,单位信息包含在返回文本中。
opt_multipliernumber每张合约对应的标的数量;计量单位由合约品种决定。
opt_code / opt_type / call_putstring标准期权代码、期权类别、认购认沽方向;文本或枚举字段,无计量单位。
exercise_typestring行权方式;枚举字段,无计量单位。
exercise_pricenumber行权价格,单位与该合约的 quote_unit 一致。
s_month / maturity_datestring到期月份、到期日期;日期字段,无计量单位。
list_pricenumber挂牌基准价,单位与该合约的 quote_unit 一致。
list_date / delist_datestring上市日期、退市日期;日期字段,无计量单位。
last_edate / last_ddatestring最后行权日、最后交割日;日期字段,无计量单位。
quote_unitstring该合约价格字段采用的报价单位。
min_price_chgnumber最小价格变动,单位与 quote_unit 一致。
data.meta.returned_countnumber实际返回行数,单位:条。
data.meta.truncatedboolean是否因 limit 截断;布尔值,无计量单位。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","name","exchange","call_put","exercise_price","maturity_date"],"items":[["10007976.SH","期权合约","SSE","C",3.5,"20260923"]],"meta":{"returned_count":1,"truncated":false}}}

期权日线

POSThttps://jinniu.lingxideai.com/api/opt_daily
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code条件必填期权合约代码;与日期条件至少提供一项。
trade_date条件必填指定交易日,格式 YYYYMMDD
start_date / end_date条件必填起止交易日;与 ts_code/trade_date 至少提供一组条件。
exchange交易所代码。
limit1 至 5000,默认 5000。
fields逗号分隔的返回字段。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/opt_daily' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"90001246.SZ","trade_date":"20221101","limit":1}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及数据行;每行按 fields 顺序排列。
ts_code / trade_date / exchangestring合约代码、交易日期、交易所;文本字段,无计量单位。
pre_settle / pre_closenumber昨结算价、昨收盘价,单位为合约报价单位。
open / high / low / close / settlenumber开盘、最高、最低、收盘、结算价,单位为合约报价单位。
volnumber成交量,单位:手。
amountnumber成交金额,单位:万元人民币。
oinumber持仓量,单位:手。
data.meta.returned_countnumber实际返回行数,单位:条。
data.meta.truncatedboolean是否因 limit 截断;布尔值,无计量单位。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","trade_date","exchange","pre_settle","pre_close","open","high","low","close","settle","vol","amount","oi"],"items":[["10007976.SH","20260904","SSE",0.1267,0.1267,0.127,0.138,0.125,0.137,0.1368,8200,108.6,6499]],"meta":{"returned_count":1,"truncated":false}}}

期权分钟线

POSThttps://jinniu.lingxideai.com/api/opt_mins
调用限制:每个账户每分钟最多 60 次,最多 3 个并发;单次最多返回 5,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code单个期权合约代码,例如 10007976.SH
freq1min5min15min30min60min
start_date / end_date起止时间,推荐 YYYY-MM-DD HH:MM:SS
limit1 至 5000,默认 5000。
fields可选字段与期货分钟线相同。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/opt_mins' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"90001246.SZ","freq":"1min","start_date":"2022-11-01 09:30:00","end_date":"2022-11-01 09:31:00","limit":2}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及数据行;每行按 fields 顺序排列。
ts_code / trade_timestring期权合约代码、K 线时间;文本字段,无计量单位。
open / close / high / lownumber开盘、收盘、最高、最低价,单位为合约报价单位。
volnumber成交量,单位:手。
amountnumber成交金额,单位:元人民币。
oinumber持仓量,单位:手。
data.meta.matched_count / returned_countnumber匹配行数、实际返回行数,单位:条。
data.meta.truncatedboolean是否因 limit 截断;布尔值,无计量单位。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","trade_time","open","close","high","low","vol","amount","oi"],"items":[["10007976.SH","2024-09-27 15:00:00",0.1267,0.137,0.137,0.1267,44,60280,6499]],"meta":{"matched_count":100,"returned_count":100,"truncated":false}}}

实时行情

实时接口每分钟最多请求 100 次;股票、ETF、交易所指数、申万指数与期货分开请求。返回统一采用 data.fields + data.items,并在 data.meta 中给出数据时间与缓存状态。

股票实时分钟线

POSThttps://jinniu.lingxideai.com/api/rt_min
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次最多查询 100 个代码、最多返回 1,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code一个或多个股票代码,逗号分隔,单次最多 100 个,例如 000001.SZ,600519.SH
freq1min5min15min30min60min
fields可选字段:ts_code,freq,trade_time,open,close,high,low,vol,amount

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_min' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"000001.SZ","freq":"1min"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及数据行;每行按 fields 顺序排列。
ts_code / freq / trade_timestring证券代码、K 线周期、K 线时间;文本字段,无计量单位。
open / close / high / lownumber开盘、最新或收盘、最高、最低价,单位:元/股。
volnumber成交量,单位:股。
amountnumber成交额,单位:元人民币。
data.metaobject缓存状态和数据时间,字段说明见本节末尾。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount"],"items":[["000001.SZ","1min","2026-09-07 10:30:00",12.31,12.34,12.36,12.28,1234500,15234000]],"meta":{"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-07 10:30:02","max_age_seconds":2}}}

A股日内分钟线

POSThttps://jinniu.lingxideai.com/api/rt_min_daily
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次仅支持 1 个代码、最多返回 1,000 条。超限返回 HTTP 429

获取单只A股当日开盘以来的全部分钟K线,返回时间从早到晚排列。该接口跟随“股票实时分钟”权限和实时接口频率限制。

请求参数

参数必填说明
ts_code单只股票代码,带交易所后缀,例如 600000.SH;单次仅支持一个代码。
freq1min5min15min30min60min
fields可选字段:ts_code,freq,trade_time,open,close,high,low,vol,amount

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_min_daily' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"600000.SH","freq":"1min"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及当日分钟数据;每行按 fields 顺序排列。
ts_code / freq / trade_timestring股票代码、分钟周期和交易时间;文本字段,无计量单位。
open / close / high / lownumber开盘、收盘、最高、最低价,单位:元/股。
volnumber成交量,单位:股。
amountnumber成交额,单位:元人民币。
data.meta.matched_count / returned_countnumber当日匹配行数和实际返回行数,单位:条。
data.meta.cached / staleboolean是否命中短时缓存、是否使用短时容错数据;布尔值,无计量单位。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount"],"items":[["600000.SH","1min","2026-09-07 09:30:00",9.43,9.43,9.43,9.43,270300,2548929],["600000.SH","1min","2026-09-07 09:31:00",9.43,9.44,9.44,9.43,306500,2891342]],"meta":{"matched_count":2,"returned_count":2,"truncated":false,"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-07 09:31:02"}}}

交易所指数实时分钟线

POSThttps://jinniu.lingxideai.com/api/rt_idx_min
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次最多查询 100 个代码、最多返回 1,000 条。超限返回 HTTP 429

查询上交所、深交所和北交所指数的最新分钟 K 线,需要单独开通“指数实时”权限。申万 .SI 代码不适用于本接口。

请求参数

参数必填说明
ts_code一个或多个交易所指数代码,逗号分隔,例如 000001.SH,399300.SZ
freq1min5min15min30min60min
fields可选字段:ts_code,freq,trade_time,open,close,high,low,vol,amount

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_idx_min' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"000001.SH,399300.SZ","freq":"1min"}'

返回参数

字段类型说明
ts_code / freq / trade_timestring指数代码、K 线周期和北京时间。
open / close / high / lownumber开盘、收盘、最高、最低点位,单位:点。
volnumber成交量,单位:股。
amountnumber成交额,单位:元人民币。
data.metaobject缓存状态和数据时间,字段说明见本节末尾。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount"],"items":[["000001.SH","1min","2026-09-22 15:00:00",3952.128,3952.128,3952.128,3952.128,5888482,9424701045.4]],"meta":{"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-22 15:00:02","max_age_seconds":2}}}

交易所指数盘中分钟线

POSThttps://jinniu.lingxideai.com/api/rt_idx_min_daily
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次仅支持 1 个代码、最多返回 1,000 条。超限返回 HTTP 429

查询单个交易所指数当日开盘以来的全部分钟 K 线,返回时间从早到晚排列,并沿用“指数实时”权限。

请求参数

参数必填说明
ts_code单个交易所指数代码,例如 399300.SZ
freq1min5min15min30min60min
fields可选返回字段,与指数实时分钟线一致。

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_idx_min_daily' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"399300.SZ","freq":"5min"}'

返回参数

字段类型说明
data.fields / data.itemsarray / array字段列表和当日分钟 K 线,按时间正序返回。
data.meta.matched_count / returned_countnumber匹配行数和实际返回行数,单位:条。
data.meta.cached / staleboolean是否命中短时缓存、是否使用短时容错数据。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount"],"items":[["399300.SZ","5min","2026-09-22 09:35:00",4621.2,4628.4,4630.1,4618.6,128335000,2839740000]],"meta":{"matched_count":48,"returned_count":48,"truncated":false,"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-22 15:00:02"}}}

申万指数实时行情

POSThttps://jinniu.lingxideai.com/api/rt_sw_k
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次最多查询 100 个代码、最多返回 1,000 条。超限返回 HTTP 429

查询申万指数的最新实时截面,需要单独开通“申万指数实时”权限。该接口返回当日开盘、最高、最低和最新点位,不是逐分钟 K 线;申万历史分钟请使用 /api/sw_mins

请求参数

参数必填说明
ts_code一个或多个申万指数代码,逗号分隔,例如 801003.SI,801010.SI
fields可选字段:ts_code,name,trade_time,pre_close,open,high,low,close,vol,amount

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_sw_k' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"801003.SI"}'

返回参数

字段类型说明
ts_code / name / trade_timestring申万指数代码、名称和行情时间。
pre_close / open / high / low / closenumber昨收、当日开盘、最高、最低和最新点位,单位:点。
volnumber当日累计成交量,单位:股。
amountnumber当日累计成交额,单位:元人民币。
data.metaobject缓存状态和数据时间,字段说明见本节末尾。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","name","trade_time","pre_close","open","high","low","close","vol","amount"],"items":[["801003.SI","申万A指","2026-09-22 15:07:00",4644.15,4675.841,4686.74,4634.995,4646.64,115006220219,2126911542039]],"meta":{"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-22 15:07:02","max_age_seconds":2}}}

ETF 实时分钟线

POSThttps://jinniu.lingxideai.com/api/rt_etf_min
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次最多查询 100 个代码、最多返回 1,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code一个或多个 ETF 代码,逗号分隔,单次最多 100 个,例如 510300.SH,159995.SZ
freq1min5min15min30min60min
fields可选字段:ts_code,freq,trade_time,open,close,high,low,vol,amount

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_etf_min' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"159995.SZ","freq":"1min"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及数据行;每行按 fields 顺序排列。
ts_code / freq / trade_timestringETF 代码、K 线周期、K 线时间;文本字段,无计量单位。
open / close / high / lownumber开盘、最新或收盘、最高、最低价,单位:元/份。
volnumber成交量,单位:份。
amountnumber成交额,单位:元人民币。
data.metaobject缓存状态和数据时间,字段说明见本节末尾。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount"],"items":[["510300.SH","5min","2026-09-07 10:30:00",3.86,3.87,3.88,3.85,853000,3297110]],"meta":{"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-07 10:30:02","max_age_seconds":2}}}

ETF 盘中分钟线

POSThttps://jinniu.lingxideai.com/api/rt_etf_min_daily
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次仅支持 1 个代码、最多返回 1,000 条。超限返回 HTTP 429

获取单只 ETF 当日开盘以来的全部分钟 K 线,返回时间从早到晚排列。该接口沿用“ETF 实时分钟”权限,并计入实时接口频率限制。

请求参数

参数必填说明
ts_code单只 ETF 代码,带交易所后缀,例如 159995.SZ;单次仅支持一个代码。
freq1min5min15min30min60min
fields可选字段:ts_code,freq,trade_time,open,close,high,low,vol,amount

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_etf_min_daily' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"159995.SZ","freq":"1min"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及盘中分钟数据;每行按 fields 顺序排列。
ts_code / freq / trade_timestringETF 代码、分钟周期和交易时间;文本字段,无计量单位。
open / close / high / lownumber开盘、收盘、最高、最低价,单位:元/份。
volnumber成交量,单位:份。
amountnumber成交额,单位:元人民币。
data.meta.matched_count / returned_countnumber当日匹配行数和实际返回行数,单位:条。
data.meta.cached / staleboolean是否命中短时缓存、是否使用短时容错数据;布尔值,无计量单位。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount"],"items":[["159995.SZ","1min","2026-09-09 09:30:00",1.114,1.117,1.119,1.114,3669100,4093438.8],["159995.SZ","1min","2026-09-09 09:31:00",1.117,1.116,1.118,1.115,1714300,1913644.2]],"meta":{"matched_count":241,"returned_count":241,"truncated":false,"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-09 15:00:02","max_age_seconds":19802}}}

期货实时分钟线

POSThttps://jinniu.lingxideai.com/api/rt_fut_min
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次最多查询 100 个合约、最多返回 1,000 条。超限返回 HTTP 429

获取一个或多个期货合约的最新分钟 K 线,支持日盘和夜盘。需要开通“期货实时分钟”权限,并计入实时接口频率限制。

请求参数

参数必填说明
ts_code一个或多个期货合约代码,逗号分隔,单次最多 100 个,例如 RB2610.SHF,CU2610.SHF
freq1min5min15min30min60min
fields可选字段:ts_code,freq,trade_time,open,close,high,low,vol,amount,oi

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_fut_min' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"RB2610.SHF","freq":"1min"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及最新分钟数据;每行按 fields 顺序排列。
ts_code / freq / trade_timestring期货合约代码、K 线周期和交易时间;文本字段,无计量单位。
open / close / high / lownumber开盘、收盘、最高、最低价;单位为该期货合约的报价单位。
volnumber成交量,单位:手。
amountnumber成交金额,单位:元人民币。
oinumber持仓量,单位:手。
data.metaobject缓存状态和数据时间,字段说明见本节末尾。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount","oi"],"items":[["RB2610.SHF","1min","2026-09-09 15:00:00",3098,3097,3099,3097,627,19427810,482137]],"meta":{"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-09 15:00:02","max_age_seconds":2}}}

期货盘中分钟线

POSThttps://jinniu.lingxideai.com/api/rt_fut_min_daily
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次仅支持 1 个合约、最多返回 1,000 条。超限返回 HTTP 429

获取单个期货合约当前交易日开市以来的全部分钟 K 线,覆盖日盘和夜盘并按时间从早到晚排列。需要开通“期货实时分钟”权限;可选回放日期仅支持当前交易日或前一交易日。

请求参数

参数必填说明
ts_code单个期货合约代码,例如 RB2610.SHF;单次仅支持一个合约。
freq1min5min15min30min60min
date_str回放日期,格式 YYYY-MM-DD;默认当前交易日,仅支持回溯前一交易日。
fields可选字段:ts_code,freq,trade_time,open,close,high,low,vol,amount,oi

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_fut_min_daily' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"RB2610.SHF","freq":"1min"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及盘中分钟数据;每行按 fields 顺序排列。
ts_code / freq / trade_timestring期货合约代码、K 线周期和交易时间;文本字段,无计量单位。
open / close / high / lownumber开盘、收盘、最高、最低价;单位为该期货合约的报价单位。
volnumber成交量,单位:手。
amountnumber成交金额,单位:元人民币。
oinumber持仓量,单位:手。
data.meta.matched_count / returned_countnumber匹配行数和实际返回行数,单位:条。
data.meta.cached / staleboolean是否命中短时缓存、是否使用短时容错数据;布尔值,无计量单位。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","freq","trade_time","open","close","high","low","vol","amount","oi"],"items":[["RB2610.SHF","1min","2026-09-09 09:01:00",3102,3103,3104,3100,418,12967940,510912],["RB2610.SHF","1min","2026-09-09 09:02:00",3103,3101,3104,3101,365,11322050,510706]],"meta":{"matched_count":225,"returned_count":225,"truncated":false,"cached":false,"stale":false,"cache_ttl_seconds":2,"cache_age_seconds":0,"server_received_at":"2026-09-09 15:00:02","max_age_seconds":21542}}}

股票实时日线

POSThttps://jinniu.lingxideai.com/api/rt_k
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次最多查询 100 个代码、最多返回 1,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code一个或多个股票代码,逗号分隔,单次最多 100 个。
fields可选字段:ts_code,name,pre_close,high,open,low,close,vol,amount,num

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_k' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"000001.SZ"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及数据行;每行按 fields 顺序排列。
ts_code / namestring股票代码、证券名称;文本字段,无计量单位。
pre_closenumber上一交易日收盘价,单位:元/股。
open / high / low / closenumber当日开盘、最高、最低与最新价,单位:元/股。
volnumber成交量,单位:股。
amountnumber成交额,单位:元人民币。
numnumber成交笔数,单位:笔。
data.metaobject缓存状态和数据时间,字段说明见本节末尾。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","name","pre_close","high","open","low","close","vol","amount","num"],"items":[["000001.SZ","平安银行",12.28,12.48,12.31,12.2,12.42,1234567,152340000,8654]],"meta":{"cached":false,"stale":false,"cache_ttl_seconds":0,"cache_age_seconds":0,"server_received_at":"2026-09-07 10:30:02","max_age_seconds":null}}}

ETF 实时日线

POSThttps://jinniu.lingxideai.com/api/rt_etf_k
调用限制:每个账户每分钟最多 100 次,最多 3 个并发;单次最多查询 100 个代码、最多返回 1,000 条。超限返回 HTTP 429

请求参数

参数必填说明
ts_code一个或多个 ETF 代码,逗号分隔,单次最多 100 个。
fields可选字段:ts_code,name,pre_close,high,open,low,close,vol,amount,num

请求示例

curl -X POST 'https://jinniu.lingxideai.com/api/rt_etf_k' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -d '{"ts_code":"159995.SZ"}'

返回参数

字段类型说明
success / messageboolean / string请求是否成功、响应消息;无计量单位。
data.fields / data.itemsarray / array返回列名及数据行;每行按 fields 顺序排列。
ts_code / namestringETF 代码、基金名称;文本字段,无计量单位。
pre_closenumber上一交易日收盘价,单位:元/份。
open / high / low / closenumber当日开盘、最高、最低与最新价,单位:元/份。
volnumber成交量,单位:份。
amountnumber成交额,单位:元人民币。
numnumber成交笔数,单位:笔。
data.metaobject缓存状态和数据时间,字段说明见本节末尾。

返回示例

{"success":true,"message":"","data":{"fields":["ts_code","name","pre_close","high","open","low","close","vol","amount","num"],"items":[["510300.SH","沪深300ETF",3.85,3.88,3.86,3.84,3.87,853000,3297110,1260]],"meta":{"cached":false,"stale":false,"cache_ttl_seconds":0,"cache_age_seconds":0,"server_received_at":"2026-09-07 10:30:02","max_age_seconds":null}}}

实时返回元数据

字段说明
cached是否命中服务器缓存;实时分钟线可能为 true,实时日线固定为 false
stale是否在行情服务临时失败时返回短时缓存;实时日线不使用缓存,固定为 false
cache_ttl_seconds缓存有效期,单位:秒;实时分钟线为 2 秒,实时日线为 0 秒。
cache_age_seconds当前缓存已存在的时长,单位:秒;实时日线固定为 0。
server_received_at服务器接收到行情数据的北京时间;时间字段,无计量单位。
max_age_seconds返回 K 线中最旧数据距服务器当前时间的最大时长,单位:秒;无法计算时为 null

调用限制与错误码

  • 历史数据接口每个账户每分钟最多 60 次;实时数据接口每个账户每分钟最多 100 次。账户到期、权限关闭或超限时,接口会拒绝请求。
  • 历史数据接口单次最多返回5000条;申万指数日线、申万基础信息和ETF复权因子等原上限低于5000条的接口继续执行各自较低上限。删除或重新生成 API Key 不会重置账户调用次数。
  • 分钟线不限制固定自然日跨度;超过单次返回量时请按时间范围分批查询。
  • 所有 API 支持可选 gzip 响应压缩:带 Accept-Encoding: gzip 时返回压缩内容;不带时按默认 JSON 返回。常见浏览器和 HTTP 客户端会自动协商并解压。
  • 请妥善保管 API Key。发现泄露时,在个人中心轮换 Key,旧 Key 会立即失效。
  • 数据仅限研究、学习和个人使用,使用者应自行核验并遵守适用的法律、平台与数据使用规则。

规范调用建议

  • 同一 API Key 最多同时发起 3 个并发请求;达到上限时服务端会返回 429Retry-After: 2,请等待已有请求完成后再继续下一批。
  • 按代码和时间范围分批查询,并通过 fields 仅请求所需字段;已成功获取的数据请保存在本地,避免重复拉取。
  • 收到 429 时必须按照 Retry-After 等待后再重试,不要立即连续重发;网络异常建议间隔 2、5、10 秒逐步重试,最多 3 次。
  • 大批量历史数据建议安排在非交易时段执行;实时接口仅查询当前业务需要的代码,不要循环请求全市场。
Python 标准调用示例
代码可在窗口内滚动,也可直接复制完整内容。
import json
import time
import requests

API_KEY = "YOUR_API_KEY"
URL = "https://jinniu.lingxideai.com/api/stk_mins"

session = requests.Session()
session.headers.update({
    "X-Api-Key": API_KEY,
    "Content-Type": "application/json",
    "Accept-Encoding": "gzip",
})

def query_minutes(ts_code, start_date, end_date):
    payload = {
        "ts_code": ts_code,
        "freq": "1min",
        "start_date": start_date,
        "end_date": end_date,
        "fields": "ts_code,trade_time,open,close,high,low,vol,amount",
        "limit": 4000,
    }
    retry_delays = [2, 5, 10]

    for attempt in range(4):
        try:
            response = session.post(URL, json=payload, timeout=60)
            if response.status_code == 429:
                time.sleep(int(response.headers.get("Retry-After", 5)))
                continue
            response.raise_for_status()
            return response.json()
        except requests.RequestException:
            if attempt == 3:
                raise
            time.sleep(retry_delays[attempt])

# 按日期串行查询;同一 API Key 最多同时运行 3 个并发请求。
dates = ["2026-09-08", "2026-09-09", "2026-09-10"]
for trade_date in dates:
    result = query_minutes(
        ts_code="000001.SZ",
        start_date=f"{trade_date} 09:30:00",
        end_date=f"{trade_date} 15:00:00",
    )
    with open(f"000001.SZ_{trade_date}.json", "w", encoding="utf-8") as file:
        json.dump(result, file, ensure_ascii=False)
    time.sleep(1)

错误码

400 参数错误,401 API Key 无效或已删除,403 账户期限或数据权限不满足,429 请求超过限额,503 行情数据暂不可用。错误响应包含 codemessagedata 字段。

请求频率超限时,HTTP 429 响应头会返回 Retry-After;响应体的 data 会提供 limit_typeretry_after_secondsreset_at,客户端应等待后再重试。