实时行情 {#realtime}

GET /v1/realtime?symbol=603778.SS
GET /v1/realtime?symbol=600519.SS&symbol=603778.SS
GET /v1/realtime?symbol=600519.SS,603778.SS
GET /v1/realtime?symbol=603778.SS&include_valuation=true
GET /v1/realtime?symbol=603778.SS&include_depth=true
参数必填说明
symbol沪深 A 股个股代码;可重复传参,或用逗号/分号分隔;单次上限见 GET /v1/mecatalog.tiers
include_valuation1 / true / yes / on 时额外返回估值字段(需 realtime_valuation
include_depth1 / true / yes / on 时额外返回买卖五档(需 realtime_depth

单只时 data 为对象;多只时 data 为数组。部分未命中时 HTTP 200,meta.missing 列出未找到的代码。

字段说明
symbol标准代码,如 603778.SS
timestamp行情时间戳(毫秒)
date交易日期 YYYYMMDD
price / close最新价
open / high / low开高低
volume / turnover成交量、成交额
name证券简称
change_percent涨跌幅(小数,0.1 表示 10%)
change涨跌额
trade_status交易状态,如 TRADE

include_valuation=true 时额外返回:

字段说明
valuationPE/PB/市值等:pe_ttmpe_dynamicpbbpstotal_market_cap(亿元)、circulation_market_cap(亿元)、total_shares / circulation_shares(万股)
quote顶层未包含的扩展行情:pre_closeturnover_ratioamplitudevolume_ratiotime

realtime_valuation

include_depth=true 时额外返回 depth(需 realtime_depth):

字段说明
depth.bids买盘五档,每项 price / volume / orders
depth.asks卖盘五档,每项 price / volume / orders
depth.inner_volume内盘成交量(主动卖)
depth.outer_volume外盘成交量(主动买)

realtime 权限(基础版及以上)。当前 Key 单次上限见 GET /v1/memax_realtime_symbols

ETF 不可走本接口(返回 400),须改用 /v1/etf/realtime 等专用路径。

指数不可走本接口(返回 400),须改用 /v1/index/realtime 等专用路径。

北交所不可走本接口(返回 400),须改用 /v1/bj/kline/v1/bj/trend

实时行情 v2(compact) {#realtime-v2}

紧凑格式:字段名只出现一次,data 为字符串数组(一条一行),行内用 |fields 顺序分割。适合全市场 / 大批量拉取。

GET /v2/realtime?symbol=600519.SS,000001.SZ
GET /v2/realtime?all=1
GET /v2/realtime?all=1&market=SS
GET /v2/realtime?all=1&market=US
GET /v2/realtime?symbol=AAPL.US,TSLA.US
GET /v2/realtime?symbol=600519.SS&include_depth=1&include_valuation=1
参数必填说明
symbol与 all 二选一批量代码;A 股如 600519.SS,美股如 AAPL.US;单次上限默认 500不受套餐 max_realtime_symbols 限制)
all与 symbol 二选一1 拉全市场(套餐只数 / 每分钟品种配额限制)
marketSS/SZ/BJ/CN(A 股)或 US(美股,不可混用);常与 all=1 联用
include_valuation默认关;truerealtime_valuation,否则 403
include_depth默认关;truerealtime_depth,否则 403

响应示例:

{
  "success": true,
  "format": "compact",
  "fields": ["symbol","name","price","open","high","low","pre_close","change","change_percent","volume","turnover","timestamp","time"],
  "sep": "|",
  "data": [
    "600519.SS|贵州茅台|1294.88|1308|..."
  ],
  "meta": {
    "count": 1,
    "mode": "batch",
    "trade_date": "20260727",
    "updated_at": "2026-07-27 14:02:56"
  }
}

解析:row.split(sep) 后与 fields[i] 对齐。含五档时 fields 追加 bp1,bv1,...,ap5,av5;含估值时追加 pe_ttm,pe_dynamic,pb,...

压缩: 请求头带 Accept-Encoding: gzip 时,服务端对较大响应做 gzip(Content-Encoding: gzip)。curl 示例:

curl -s --compressed -H "X-API-Key: YOUR_KEY" -H "Accept-Encoding: gzip" \
  "http://market-api.cn/v2/realtime?all=1&market=SS"

盘中全市场实时行情。需独立权限 realtime_v2(不在套餐默认 scopes 内,需单独开通;与 /v1/realtimerealtime 无关)。

沪深京个股 Tick WS {#realtime-ws}

沪深京个股 Tick 推送(与期货推送无关)。需独立权限 realtime_stream(不在套餐默认 scopes 内,需单独开通;与 HTTP /v1/realtimerealtime 无关)。

WS /v1/realtime/ws?api_key=YOUR_KEY&symbol=600519.SS
WS /v1/realtime/ws?api_key=YOUR_KEY&symbol=600519.SS,000001.SZ,920000.BJ
参数必填说明
api_key是*浏览器无法自定义 Header 时用 query;非浏览器亦可用 Header X-API-Key
symbol握手时预订阅;逗号分隔或重复 symbol=;单次及连接内只数见 GET /v1/memax_realtime_stream_symbols

握手后也可发 JSON 控制帧:

{"op":"sub","symbols":["600519.SS","000001.SZ"],"snapshot":true}
{"op":"unsub","symbols":["000001.SZ"]}
{"op":"ping"}

不支持全市场订阅。同一账号并发连接数见 GET /v1/memax_realtime_stream_subscriptions(超出顶掉最早连接)。握手或 JSON sub 单次及同一连接内合计不得超过 max_realtime_stream_symbols

服务端帧:

type说明
ready连接就绪;可能含当前订阅 symbols;若顶掉旧连接则含 evicted
tick单票行情变化
pong心跳应答
error参数/权限等错误
evicted本连接因超出并发路数被顶替

tick 主要字段:

字段说明
symbol标准码,如 600519.SS / 000001.SZ / 920000.BJ
name名称(若有)
t行情时间
o / h / l / c开高低最新
pc昨收
ul / ll涨停 / 跌停
v / to成交量 / 成交额
ba买卖盘相关(若有)
s状态(若有)

示例(Node / 浏览器):

const ws = new WebSocket(
  'wss://YOUR_HOST/v1/realtime/ws?api_key=YOUR_KEY&symbol=600519.SS'
);
ws.onmessage = (ev) => console.log(JSON.parse(ev.data));

集合竞价分时(沪深京) {#auction}

单票集合竞价过程曲线(约 09:15–09:25,1 秒一点)。compact 响应,与 /v2/auction 全市场接口 不同权限

GET /v1/auction?symbol=600519.SS
参数必填说明
symbol标准代码,如 600519.SS / 000001.SZ / 920000.BJ;亦支持 ETF

响应形态:

{
  "success": true,
  "format": "compact",
  "fields": ["time", "price", "matched_volume", "unmatched_volume"],
  "sep": ",",
  "row_sep": ";",
  "data": "09:15:00,1355.29,0,0;09:15:01,1355.3,400,400;…",
  "meta": { "symbol": "600519.SS", "tick_count": 601, "interval": "1s", "session": "call_auction" }
}

解析:data.split(row_sep) → 每行再 split(sep),与 fields[i] 对齐。

字段说明
timeHH:MM:SS
price虚拟匹配价
matched_volume匹配量
unmatched_volume未匹配量(可负,表示方向)

最近一交易日;不支持按日查询历史。指数暂无此接口。权限 auction(基础版起)。建议请求带 Accept-Encoding: gzip

集合竞价 v2(compact) {#auction-v2}

集合竞价时段(交易日 09:15–09:30)行情,接口形态对齐 /v2/realtime

GET /v2/auction?symbol=600519.SS&include_minutes=1
GET /v2/auction?all=1
GET /v2/auction?all=1&market=SS
GET /v2/auction?trade_date=20260724&all=1
参数必填说明
symbol与 all 二选一批量代码;单次上限默认 500
all与 symbol 二选一1 拉全市场
marketSS/SZ/BJ/CN;常与 all=1 联用
trade_dateYYYYMMDD;指定历史交易日;未指定则为当日
include_minutes默认 ;显式 1/true 才带分钟。minutes 为 09:15–09:26 连续序列的紧凑串(见下),volume 为竞价撮合量(股),09:26 为开盘量

响应 fields 默认含:symbol,name,trade_date,pre_close,match_price,change,change_percent,auction_volume,open_price,open_volume,open_amount,open_avg,minutes_ninclude_minutes=1 时追加 minutes,并返回:

  • minutes_fields: ["time","price","volume","amount"]
  • minutes_sep: ,
  • minutes_row_sep: ;

minutes 示例(一行内,无 JSON)::

09:15,1297.41,0,0;09:20,1293.66,3400,0;09:25,1308,136600,0;09:26,1308,136600,178672800

解析:先按 minutes_row_sep 拆根,再按 minutes_sepminutes_fields 对齐。 需独立权限 auction_v2(不在套餐默认 scopes 内)。

北交所行情(历史) {#bj-quote}

北交所与沪深接口分离:无实时行情,仅提供历史分时与 K 线。

GET /v1/bj/kline?symbol=920000.BJ&period=86400&adjust_type=forward&count=256
GET /v1/bj/trend?symbol=920000.BJ&date=20250620
接口scope说明
/v1/bj/klinekline参数同 /v1/kline;支持全部周期及前/后/不复权
/v1/bj/trendtrend须传 date=YYYYMMDD

代码格式:920000.BJbj920000

主要指数 {#indices}

指数与个股强制拆分:实时、分时、K 线须走 /v1/index/*,权限为独立 scope index_realtime / index_trend / index_kline。个股接口对指数代码返回 400。

GET /v1/index/realtime?symbol=000001.SS
GET /v1/index/trend?symbol=000001.SS
GET /v2/index/kline?symbol=000001.SS,399001.SZ&period=86400&count=120
接口scope说明
/v1/index/realtimeindex_realtime实时行情;可选 include_valuation(需 index_realtime_valuation);不支持 include_depth
/v1/index/trendindex_trend分时;可选 date=YYYYMMDD
/v2/index/klineindex_klineK 线(最多 5);无复权;响应 symbols + 可选 fields
/v1/index/klineindex_kline过时,请用 /v2/index/kline

仅接受 quote_ready=true 的指数(见公开指数目录)。

精选清单(listed=true):

GET /public/v1/indices

全量/搜索(limit 默认 200、最大 2000;加 keyword / listed / quote_ready 任一即浏览目录):

GET /public/v1/indices?quote_ready=1
GET /public/v1/indices?listed=all&limit=2000
GET /public/v1/indices?keyword=军工&limit=20
GET /public/v1/indices?keyword=399967
GET /public/v1/indices?keyword=红利
参数必填默认说明
keyword-名称、代码或拼音首字母
listed浏览时 all1 精选;0 非精选;all 全部
limit200最多 2000
quote_ready11 进入目录浏览(与无参精选相对)

无参数时返回精选约 48 条。目录中的指数均可用于 /v1/index/*

搜索响应 data[]symbolnamecodemarketgroupquote_readylisted

精选列表响应 data[]symbolnamegroupquote_ready;股指期货类另含 futures(IF/IH/IC/IM)。

裸写 000001 会解析为个股平安银行(000001.SZ),查询上证请用 000001.SS

指数 K 线无复权,请求时 adjust_type 固定为 none

分时图 {#trend}

GET /v1/trend?symbol=300042.SZ
GET /v1/trend?symbol=600519.SS&date=20250620

trend 权限(基础版及以上)。每次仅 1 只 symbol;可选 date=YYYYMMDD 查询历史交易日分时。指数请用 /v1/index/trend

响应 data 结构:

字段说明
data分时 tick 列表
pre_close昨收价
totaltick 总数

data[] 每项含 timestamp(毫秒)、priceavg_pricevolumeturnoveropenhighlowchangechange_percentmetasymbolinstrument_typetick_count;历史分时另含 date

K 线 {#kline}

推荐 K 线 v2 GET /v2/kline(旧接口 GET /v1/kline 已过时)。

GET /v2/kline?symbol=600519.SS,000001.SZ&period=86400&count=120
GET /v2/kline?symbol=603778.SS&period=86400&adjust_type=forward&count=256
GET /v2/kline?symbol=600519.SS&count=120&indicators=ma:5,10,20&indicators=rsi:14&indicators=macd:12,26,9&indicators=boll:20,2
  • symbol:逗号分隔,最多 5 只(也可只传 1 只)
  • 响应:symbols: { "600519.SS": [[...], ...], ... };顶层 fields 为列名(传 fields=0 可省略)
  • 指数用 /v2/index/kline,ETF 用 /v2/etf/kline

复权方式见响应 meta.adjust_mode

  • direct:按请求的 adjust_type 返回
  • factor:用不复权价 + 复权因子换算(因子见 /v1/adjust-factors
参数必填默认说明
symbol-沪深 A 股个股代码;可多码(最多 5)
period86400周期(秒)
adjust_typeforwardforward / backward / none;受套餐限制
count256返回条数,受套餐上限裁切
timestamp-结束时间戳(秒),向前翻页
date-交易日 YYYYMMDD(日线及以下)。未传 count 时:日线 1 根,分钟线为该日全日;与 timestamp / start / end 互斥
indicators-技术指标,可重复传参或分号分隔

indicators 时,每行附带 indicators 对象;前段可能为 null(见 meta.warmup_bars,不计入 count)。

data[].indicators 结构示例:

{
  "date": "20250620",
  "close": 105.2,
  "indicators": {
    "ma:5,10,20": { "5": 104.2, "10": 103.1, "20": 102.0 },
    "rsi:14": { "14": 55.3 },
    "macd:12,26,9": { "dif": 0.5, "dea": 0.3, "macd": 0.4 },
    "boll:20,2": { "upper": 110.0, "mid": 105.0, "lower": 100.0 }
  }
}
indicators 取值默认参数data.indicators 字段
ma / ma:5,10,205,10,20周期键名如 "5", "10"
ema / ema:12,2612,26周期键名
rsi / rsi:1414周期键名
macd / macd:12,26,912,26,9dif / dea / macd
boll / boll:20,220,2upper / mid / lower

可用指标种类与单次上限见 GET /v1/mekline.allowed_indicators_labelkline.max_indicator_specs

周期取值(period 秒):

period含义
601 分钟
3005 分钟
90015 分钟
180030 分钟
360060 分钟
86400日线
604800周线
2592000月线

K 线 data[] 每项含 timestamp(毫秒)、dateopenhighlowclosevolumeturnover

复权因子 {#adjust-factors}

GET /v1/adjust-factors?symbol=603778.SS&adjust_type=forward&count=256
GET /v1/adjust-factors?symbol=600519.SS&adjust_type=backward&start=20240101&end=20241231
参数必填默认说明
symbol-股票代码
adjust_typeforwardforward(前复权因子)、backward(后复权因子)
count-返回最近 N 条;与 start/end 可组合
start / bdate-起始日期 YYYYMMDD
end / edate-结束日期 YYYYMMDD

kline 权限;adjust_type 受套餐复权权限限制。

data[] 每项含 date(YYYYMMDD)、factor。换算:复权价 = 原始价 / factor。