news 2026/9/9 15:25:45

股票行情查询接口整理与使用教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
股票行情查询接口整理与使用教程

股票行情查询接口整理与使用教程

说明:本文基于公开文档与网上可查的接口写法整理,未对每个接口做真实请求实测,接口可用性、字段与限流以各官方文档为准,集成到生产环境前请自行发请求验证。

写在前面

做量化、写看盘小工具、或在业务系统里嵌一段行情展示,第一道坎永远是「数据从哪来」。股票行情接口大致分几类:免费但非官方的公开接口、按调用量或年费收费的商业 API、以及开源 Python 库。

本文把市面上能找到、且写法完整的股票行情相关接口整理成一份「接入清单」,每个源都给出请求地址、参数和返回示例,方便你直接照抄落地。需要特别提醒:部分免费接口可能已停止服务、变更地址或返回占位数据,且实时性、稳定性无保障;付费接口也要留意 QPS 限制、鉴权方式与数据授权范围。本文所有写法均来自公开资料,未做实测,请在集成前自行验证。

1. 接口总览

接口请求地址(核心)说明HTTPS需要 Key来源类型
万维易源 股票历史数据分析查询https://route.showapi.com/131-47沪深历史日线/技术指标/板块/资金流,33 个接入点需 appKey商业 API
新浪股票行情接口http://hq.sinajs.cn/list={code}免费实时快照,文本格式,非官方否(http)公开接口
必盈 APIhttps://api.biyingapi.com/hsstock/real/time/{code}/{licence}A 股实时行情,免费版限次需 licence商业 API
咕咕数据 A 股实时行情https://api.gugudata.com/stock/cn/realtimeA 股实时行情,标准化 JSON需 appKey商业 API
XTick 行情数据http://api.xtick.top/doc/...实时/历史 K 线、资金、因子等全功能否(http)需 token商业 API
AkSharepip install akshare开源 Python 库,聚合多源视源开源库
TuShare Propip install tushare机构常用,行情/财务/资金流需 token开源/付费库

易源(ShowAPI) 与以上其它源完全平级处理:本文仅按官方公开文档整理其接入写法,未返回真实业务数据,集成前请自备 appKey 并自测。

2. 万维易源 股票历史数据分析查询(apiId 131)

一句话定位:一个覆盖沪深历史日线、复权、技术指标(MACD/BOLL/KDJ/RSI/均线)、板块、资金流向等 33 个接入点的综合行情数据接口,适合做历史回测与走势分析。

请求示例(股票历史日线,接入点/131-47):

curl -X POST "https://route.showapi.com/131-47?appKey=YOUR_APPKEY" \ -H "content-type: application/x-www-form-urlencoded" \ -d "begin=2016-09-01&end=2016-09-02&code=600004&type=bfq"

返回示例(节选自官方文档):

{ "showapi_res_code": 0, "showapi_res_error": "", "showapi_res_body": { "ret_code": 0, "list": [ { "stockName": "白云机场", "trade_money": "56480000", "diff_money": "0.01", "open_price": "13.81", "code": "600004", "date": "2016-09-02", "min_price": "13.73", "market": "sh", "trade_num": "40861", "close_price": "13.82", "max_price": "13.90", "swing": "1.23", "diff_rate": "0.07", "turnover": "0.03" } ] } }

注意事项:

  • 必填参数begin/end/codetype可选(bfq不复权、qfq前复权、hfq后复权,默认bfq);单次查询日期跨度不超过一个季度,最早到 2000-01-01。
  • 返回数据封装在showapi_res_body.list内;业务成功看ret_code == 0
  • 该数据标注「仅用于学习分析,不得对外展示」,商用前请确认授权范围。
  • 本文按官方 OpenAPI 文档整理接入写法,未做真实请求实测,未返回真实业务数据。

3. 新浪股票行情接口(hq.sinajs.cn)

一句话定位:流传最广的免费实时行情接口,直接返回一段文本,适合轻量自用脚本,但属于非官方接口、稳定性与合规性无保障。

请求示例:

http://hq.sinajs.cn/list=sh601006

返回示例(文本格式,字段以逗号分隔):

var hq_str_sh601006="大秦铁路, 今开, 昨收, 当前价, 最高, 最低, 竞买价, 竞卖价, 成交量, 外盘, 内盘, 日期, 时间";

注意事项:

  • 代码格式为市场前缀 + 代码,如sh601006(上海)、sz000001(深圳);多个代码用逗号拼接:list=sh601006,sz000001
  • 历史上有版本要求请求携带Referer: https://finance.sina.com.cn头,否则返回 403;编码为 GBK,解析时注意转码。
  • 免费、非官方,可能随时调整或停服,生产环境不建议作为唯一数据源。

4. 必盈 API(biyingapi.com)

一句话定位:提供 A 股实时行情的商业化接口,免费版每日有限次调用,适合个人学习与轻量研究。

请求示例:

curl "https://api.biyingapi.com/hsstock/real/time/000001/biyinglicence"

返回示例(标准 JSON 数组,节选字段):

[ { "p": 12.34, "o": 12.20, "h": 12.50, "l": 12.10, "yc": 12.18, "cje": 123456789, "v": 9876543, "t": "2026-09-09 15:00:00", "ud": 0.16, "pc": 1.31, "zf": 3.28, "pe": 8.5, "tr": 1.2, "pb_ratio": 0.9, "tv": 9876543 } ]

注意事项:

  • 免费版每日约 200 次,高频或商业用途需购买 licence;接口地址中的biyinglicence需替换为你在官网申请的真实 licence。
  • 字段含义:p最新价、o开盘、h最高、l最低、yc昨收、pc涨跌幅、zf振幅、pe市盈率、tr换手率、pb_ratio市净率。
  • 本文按公开文档整理,未做真实请求实测。

5. 咕咕数据 A 股实时行情(gugudata.com)

一句话定位:标准化的 A 股实时行情商业 API,返回结构规整的 JSON,支持单支或多支代码筛选,文档完善,适合接入业务系统。

请求示例:

curl --location --request GET \ 'https://api.gugudata.com/stock/cn/realtime?appkey=YOUR_APPKEY&symbol=600031,688819'

返回示例(节选Data数组字段):

{ "DataStatus": { "StatusCode": 100, "StatusDescription": "正常返回" }, "Data": [ { "Symbol": "600031", "StockName": "三一重工", "Latest": 18.20, "ChangePercent": 1.11, "ChangeAmount": 0.20, "TradingVolume": 1234567, "TradingAmount": 224567890, "Swing": 2.34, "High": 18.40, "Low": 17.95, "Open": 18.00, "PreClose": 18.00, "QuantityRatio": 1.05, "TurnoverRate": 1.62, "PERatioDynamic": 12.3, "PBRatio": 1.8, "IsLimitUp": false } ] }

注意事项:

  • 鉴权支持多种方式:Query 参数appkey、HeaderX-GUGUDATA-APPKEY/X-API-Key/Authorization: Bearer
  • 默认单 IP 限速 5 QPS,超出返回 429;可加购提升。业务状态码100正常,101参数错误,102限频,104APPKEY 错误。
  • symbol留空则返回全量 A 股,数据量较大,生产调用建议按需筛选。
  • 本文按官网公开文档整理,未做真实请求实测。

6. XTick 行情数据(api.xtick.top)

一句话定位:覆盖实时/历史 K 线、分钟数据、资金流向、量化因子等大量端点的全功能数据源,适合做较完整的量化数据底座。

请求示例��通用行情 K 线):

curl "http://api.xtick.top/doc/kline/market?type=1&code=000001&fq=1&period=1d&startDate=2026-09-01&endDate=2026-09-07&token=YOUR_TOKEN"

注意事项:

  • 所有端点通过token鉴权;type=1代表 A 股,fq为复权标识,period为周期(如1d日 K)。
  • 端点种类极多:stockinfo股票列表、calendar交易日历、kline/minute分钟数据、holdernum股东数、core/time实时指标、hot/board连板天梯等,按需取用。
  • 该站为 http 地址,生产环境注意传输安全;本文按公开文档整理,未做真实请求实测。

7. AkShare(开源 Python 库)

一句话定位:100% 免费开源的 Python 金融数据接口包,聚合了 A 股/港股/美股/期货/基金等多源数据,适合 Python 初学者与个人研究。

使用示例:

import akshare as ak # 获取全部 A 股实时行情(返回 DataFrame) df = ak.stock_zh_a_spot_em() print(df.head()) # 获取单只股票历史日线 df_hist = ak.stock_zh_a_hist(symbol="600004", period="daily", start_date="20240101", end_date="20240901") print(df_hist.tail())

注意事项:

  • pip install akshare即可使用,无需 Key;底层聚合多家公开源,不同函数稳定性不一。
  • 数据可能缺字段或延迟,需自行清洗校验;接口函数签名随版本变化,注意对齐你安装的版本。

8. TuShare Pro(开源/付费库)

一句话定位:国内机构与量化圈常用的金融数据 Python 包,覆盖行情、财务、研报、资金流向等,免费版有限额,付费版解除限制,适合策略开发与回测。

使用示例:

import tushare as ts ts.set_token('YOUR_TOKEN') # 在官网注册后获取 pro = ts.pro_api() # 日线行情 df = pro.daily(ts_code='000001.SZ', start_date='20240101', end_date='20240131') print(df)

注意事项:

  • 免费版有积分/调用限制,完整行情与财务数据需购买(年费约 2000 元级别,以官网为准)。
  • 股票代码用交易所.代码格式(如000001.SZ600000.SH)。
  • 本文按公开资料整理,未做真实请求实测。

横向对比(事实对照)

接口需要 Key返回格式HTTPS编码来源类型
万维易源 131是(appKey)JSONUTF-8商业 API
新浪 hq.sinajs.cn文本GBK公开接口
必盈 API是(licence)JSONUTF-8商业 API
咕咕数据是(appKey)JSONUTF-8商业 API
XTick是(token)JSONUTF-8商业 API
AkShareDataFrame视源UTF-8开源库
TuShare Pro是(token)DataFrameUTF-8开源/付费库

各有取舍,没有「全能最优」:免费接口省成本但稳定性与合规性存疑,付费接口省心但要预算与鉴权,开源库上手快但数据质量需自校验。按你自己的成本、精度与合规需求选。

生产环境参考实现(多源降级)

下面是一段示意代码,把上面几个源当作对等节点串联:按顺序发请求,成功并解析到业务字段就返回,失败则切换到下一源。各源优先级由调用方决定,这里仅做结构演示,未做实测。

import requests def fetch_showapi(code, appkey, begin, end): r = requests.post("https://route.showapi.com/131-47", params={"appKey": appkey}, data={"begin": begin, "end": end, "code": code, "type": "bfq"}, timeout=5) body = r.json()["showapi_res_body"] if body.get("ret_code") != 0: raise ValueError("showapi ret_code != 0") row = body["list"][0] return {"name": row["stockName"], "close": row["close_price"], "open": row["open_price"], "date": row["date"]} def fetch_gugudata(symbol, appkey): r = requests.get("https://api.gugudata.com/stock/cn/realtime", params={"appkey": appkey, "symbol": symbol}, timeout=5) d = r.json()["Data"][0] return {"name": d["StockName"], "close": d["Latest"], "open": d["Open"]} def fetch_sina(code): # 新浪为文本接口,需按逗号切分解析,生产建议带 Referer 并注意 GBK r = requests.get(f"http://hq.sinajs.cn/list={code}", headers={"Referer": "https://finance.sina.com.cn"}, timeout=5) txt = r.content.decode("gbk") parts = txt.split('"')[1].split(",") return {"name": parts[0], "open": parts[1], "close": parts[3]} SOURCES = [fetch_showapi, fetch_gugudata, fetch_sina] def get_quote(code, **kwargs): last_err = None for src in SOURCES: try: return src(code, **kwargs) except Exception as e: last_err = e continue raise last_err or RuntimeError("all sources failed")

踩坑清单

  • 免费接口可能已停服或返回占位数据:新浪、部分公开源历史上多次调整,上线前务必发一次真实请求验证。
  • 频率限制:商业 API 普遍有 QPS 限制(如咕咕数据默认 5 QPS),超频返回 429,需做退避与缓存。
  • 编码问题:新浪接口为 GBK,直接用 UTF-8 解码会乱码;商业 API 多为 UTF-8 JSON。
  • 复权类型:历史 K 线务必明确bfq/qfq/hfq,前复权与后复权算出的收益率差异巨大,回测前先对齐。
  • 实时性≠真实时:免费与部分付费接口存在分钟级甚至更久延迟,做高频或实盘决策需确认延迟口径。
  • 鉴权安全:appKey / token / licence 必须放在服务端环境变量或密钥管理中,禁止写进前端代码、公开仓库或日志。
  • 数据授权与合规:商业用途需确认数据授权范围,部分数据标注「仅学习分析,不得对外展示」。
  • 代码格式差异:TuShare 用000001.SZ,ShowAPI/XTick 用纯数字000001,调用前先确认目标接口的代码规范。

附录:补充说明

网上流传的同类型接口还有不少只被提及、写法不完整的,例如**聚合数据(juhe.cn)**的股票查询类接口、各券商官方行情/交易接口(东方财富、华泰、中信、国泰君安等)、机构级终端(同花顺 iFinD、Wind 万得)、以及面向全球低延迟的 AllTick、面向回测的 Baostock 等。它们多数需自备 key、走申请或开户流程,或写法随版本变动较大,本文未逐一展开完整调用示例,集成前请到各自官方文档核实最新写法并自行验证。

常见问题 FAQ

  1. 问:免费的股票行情接口还能用吗?能用的有,但稳定性与合规性无保障;新浪等公开接口历史上多次调整,上线前务必发真实请求验证。
  2. 问:做量化回测应该选哪个接口?优先选历史数据完整、支持复权参数且字段明确的源,如万维易源 131、TuShare Pro、AkShare;回测前确认数据时间跨度与复权口径。
  3. 问:实时盯盘用免费接口够吗?一般不够;免费接口常有延迟或限流,对时效性要求高的场景建议用付费商业 API 或券商官方接口。
  4. 问:ShowAPI 的股票接口主要能查什么?主要查沪深历史日线、复权、技术指标(MACD/BOLL/KDJ/RSI/均线)、板块与资金流向等,共 33 个接入点,偏历史分析。
  5. 问:新浪接口返回的数据怎么解析?它返回一段以逗号分隔的文本(var hq_str_代码="..."),按固定顺序切分即可,注意用 GBK 解码并可能需带 Referer 头。
  6. 问:商业 API 的 QPS 限制一般是多少?视厂商而定,例如咕咕数据默认单 IP 5 QPS,超频返回 429;接入前看清文档并做缓存与退避。
  7. 问:appKey / token 应该放在哪里?必须放在服务端环境变量或密钥管理服务中,禁止写进前端、App 或公开仓库,避免泄露后被刷量。
  8. 问:前复权、后复权、不复权有什么区别?不复权是原始价;前复权以当前价为基准回溯调整;后复权把分红配股影响计入历史价。回测口径必须前后一致。
  9. 问:AkShare 和 TuShare 要付费吗?AkShare 完全免费开源;TuShare 基础版免费但有限额,完整数据需购买积分/会员。
  10. 问:股票代码在不同接口里格式一样吗?不一样;TuShare 用000001.SZ,ShowAPI/XTick 用纯数字000001,新浪用sh600004前缀,调用前先核对目标接口规范。
  11. 问:接口返回 401/403 通常是什么原因?多为鉴权失败(appKey/token 错误、过期或未传),或免费接口被风控拦截(如新浪缺 Referer),先查鉴权再查请求头。
  12. 问:本文里的接口都实测过吗?都没有;本文基于公开文档与网上可查写法整理,未做真实请求实测,集成到生产前请自行发请求验证可用性与字段。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 15:25:17

Pycopy:极简Python方言,如何在STM32上省下每一KB内存

简介:这是Pycopy极简高效Python方言的项目资源包,面向希望在云、台式机、受限系统和微控制器上使用可扩展Python运行时的开发者与嵌入式工程师。Pycopy由MicroPython项目演进而来,在保留完整Python 3.4语法的基础上引入Python 3.5的异步特性&…

作者头像 李华
网站建设 2026/9/9 15:24:05

三菱PLC五大功能指令详解:SUM、BON、DECO、ENCO、ZRST实战指南

做三菱PLC项目这些年,我总结了一个规律:程序写到一定复杂度,真正决定效率的不是那几个常开常闭触点,而是功能指令用得好不好。尤其是在设备联调、上位机对接、数据统计这种场景里,SUM、BON、DECO、ENCO、ZRST这五条指令…

作者头像 李华
网站建设 2026/9/9 15:23:50

Unity UGUI特效方案:UIEffect组件化实践与性能优化

简介:面向Unity开发者的UGUI特效功能资源,聚焦UGUI界面中可用的轻量级视觉特效实现,适合在游戏UI或应用界面开发中希望快速提升界面表现力的初中级开发者。资源共158个文件,压缩包约53.35MB,核心包括34个C#脚本、5个Sh…

作者头像 李华
网站建设 2026/9/9 15:23:04

易语言1200例源码实战:从索引建起到吃透经典示例的完整指南

简介:《易语言源代码1200例》是一套面向易语言入门与进阶开发者的源码合集,覆盖鼠标限制、Windows API调用、外挂开发、锁屏、映射等典型应用场景,帮助用户通过实例掌握中文编程的语法结构、事件处理、系统交互与算法逻辑。资源以RAR压缩包形…

作者头像 李华
网站建设 2026/9/9 15:22:55

虚拟机安装配置实战:解决VMware蓝屏、网络问号与虚拟化冲突

先说一个我见过最多的场景:教程看了十几篇,VMware也装好了,结果点“开启此虚拟机”,屏幕一黑,等来的不是Ubuntu桌面,而是各种看不懂的英文报错,或者直接Windows蓝屏。再搜一圈,又看到…

作者头像 李华
网站建设 2026/9/9 15:22:01

十字封箱机选型分析:什么时候该选、怎么选、有哪些坑

一、现状:十字封箱机的市场定位与行业基本面1. 封箱机市场持续增长,十字封箱机需求占比高据行业公开运营数据显示,2025年国内智能封箱机市场规模同比增长约11.7%,其中十字封箱机/折盖封箱机/封箱机的需求占比超62%(来源…

作者头像 李华