选择合适的股票API是开发和投资的关键一步。下面我为你梳理了从免费到专业的各类股票API数据接口,并提供选型指南,以帮助你做出明智的决策。
一、实时接口演示:多语言调用示例
实时交易(券商数据源)
API接口链接(可点击验证):https://api.zhituapi.com/hs/real/time/股票代码?token=token
1、python
import requests
url = "https://api.zhituapi.com/hs/real/time/000001?token=ZHITU_TOKEN_LIMIT_TEST"
response = requests.get(url)
data = response.json()
print(data)
2、JavaScript (Node.js)
const axios = require('axios');
const url = "https://api.zhituapi.com/hs/real/time/000001?token=ZHITU_TOKEN_LIMIT_TEST";
axios.get(url)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
3、Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.zhituapi.com/hs/real/time/000001?token=ZHITU_TOKEN_LIMIT_TEST"))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
返回的数据:
{"pe":4.45,"ud":0.06,"pc":0.5291,"zf":1.2346,"tr":0.54,"pb_ratio":0.5,"p":11.4,"o":11.33,"h":11.41,"l":11.27,"yc":11.34,"cje":1187061700,"v":1047469,"pv":104746906,"tv":15332,"t":"2025-10-09 15:00:00"}
二、主流股票API接口全面对比
以下表格汇总了当前主流的选择,你可以根据项目需求和预算快速筛选。
类别 | 服务商/工具 | 主要特点 | 适用市场 | 适用场景 | 免费额度 |
---|---|---|---|---|---|
免费/开源选项 | AKShare | Python开源库,数据源丰富(实时/历史/财务),覆盖股票、基金、期货等 | 以A股为主,兼顾全球 | 多品种数据获取、学术研究、策略原型验证 | 完全免费 |
Tushare | 需注册获取Token,提供财务指标、指数等结构化数据 | A股、港股、美股 | 个人学习、中小型项目开发 | 基础版每日200次调用 | |
智兔数服 | 数据稳定,提供实时行情、技术指标、资金流等,无需注册即可试用 | A股、港股(部分)、基金、北交所 | A股历史数据回测、对数据稳定性要求较高的场景 | 支持 | |
Yahoo Finance | 通过yfinance 等第三方库访问,数据全面,覆盖全球 | 全球主要市场 | 个人投资分析、教育用途 | 完全免费 | |
Alpha Vantage | 清晰的API设计,支持全球股票、外汇、加密货币及技术指标 | 全球市场 | 初学者、低频策略开发 | 每日500次调用 | |
iTick | 数据代理机构,提供全球股票、外汇、加密货币API,免费套餐友好 | 港股、美股、英国等欧洲市场 | 个人量化开发者、多市场策略验证 | 有免费套餐 | |
专业/付费平台 | 同花顺OpenAPI | 毫秒级实时行情,Level-2数据,国内开发者首选 | A股、港股、美股 | 高频交易、专业量化系统 | 需咨询 |
聚宽(JoinQuant) | 回测+实盘一体化平台,分钟级行情与历史数据 | A股、美股 | 量化策略研究、教育 | 有免费额度 | |
极速数据 | 高并发、低延迟(100-200ms),接口丰富 | A股、港股、美股 | 中型策略平台、SaaS产品 | 每日200次免费调用 | |
享联科技 | 低延迟(50-100ms),数据精准,支持逐笔成交,机构级服务 | A股、港股、美股 | 高频交易、机构用户、智能投顾 | 申请试用为主 |
三、 API选型关键要素分析
在选择API时,你可以从以下几个方面综合考量:
1. 明确核心需求
- 数据覆盖范围:明确你需要的是A股、港股、美股还是其他国际市场的数据。
- 实时性与延迟:高频交易需要毫秒级甚至更低的延迟,而基本面分析对分钟级或日级数据可能就已足够。需要注意,部分免费API的数据可能存在15分钟左右的延迟。
- 历史数据深度:长周期的策略回测需要API提供足够久远的历史数据,有些服务商可提供长达20年以上的历史日线。
- 数据维度:除了基础的行情,你是否需要财务数据、技术指标、龙虎榜、 Level-2深度报价、新闻舆情等另类数据。
2. 评估技术与成本
- 开发者友好度:检查API是否提供清晰的文档、你熟悉的编程语言(如Python、Java)的SDK,以及RESTful或WebSocket等易于集成的接口。
- 免费额度与成本:免费接口是入门的绝佳选择,但通常有调用频率、数据延迟或覆盖范围的限制。付费接口能提供更优质的服务,需要评估其性价比。
- 稳定性与支持:付费接口通常提供更高的稳定性和服务等级协议(SLA)。同时,活跃的开发者社区或官方技术支持能在你遇到问题时提供很大帮助。
四、接口文档详解:数据字段全解析
API说明文档
股票基础信息
API接口链接(可点击验证):http://api.zhituapi.com/hs/instrument/000001.SZ?token=ZHITU_TOKEN_LIMIT_TEST
描述:依据《股票列表》中的股票代码获取股票的基础信息
更新频率:每日0点
字段名称 | 数据类型 | 字段说明 |
---|---|---|
ei | string | 市场代码 |
ii | string | 股票代码 |
name | string | 股票名称 |
od | string | 上市日期(股票IPO日期) |
pc | float | 前收盘价格 |
up | float | 当日涨停价 |
dp | float | 当日跌停价 |
fv | float | 流通股本(注意,部分低等级客户端中此字段为FloatVolumn) |
tv | float | 总股本(注意,部分低等级客户端中此字段为FloatVolumn) |
pk | float | 最小价格变动单位 |
is | int | 股票停牌状态(<=0:正常交易(-1:复牌);>=1停牌天数;) |
实时交易(券商数据源)
API接口链接(可点击验证):https://api.zhituapi.com/hs/real/time/000001?token=ZHITU_TOKEN_LIMIT_TEST
描述:根据《股票列表》得到的股票代码获取实时交易数据(您可以理解为日线的最新数据)。
更新频率:实时
字段名称 | 数据类型 | 字段说明 |
---|---|---|
p | number | 最新价 |
o | number | 开盘价 |
h | number | 最高价 |
l | number | 最低价 |
yc | number | 前收盘价 |
cje | number | 成交总额 |
v | number | 成交总量 |
pv | number | 原始成交总量 |
t | string | 更新时间 |
ud | float | 涨跌额 |
pc | float | 涨跌幅 |
zf | float | 振幅 |
t | string | 更新时间 |
实时交易(公开数据源)
API接口链接(可点击验证):https://api.zhituapi.com/hs/real/ssjy/000001?token=ZHITU_TOKEN_LIMIT_TEST
描述:根据《股票列表》得到的股票代码获取实时交易数据(您可以理解为日线的最新数据)。
更新频率:交易时间段每1分钟
字段名称 | 数据类型 | 字段说明 |
---|---|---|
fm | number | 五分钟涨跌幅(%) |
h | number | 最高价(元) |
hs | number | 换手(%) |
lb | number | 量比(%) |
l | number | 最低价(元) |
lt | number | 流通市值(元) |
o | number | 开盘价(元) |
pe | number | 市盈率(动态,总市值除以预估全年净利润,例如当前公布一季度净利润1000万,则预估全年净利润4000万) |
pc | number | 涨跌幅(%) |
p | number | 当前价格(元) |
sz | number | 总市值(元) |
cje | number | 成交额(元) |
ud | number | 涨跌额(元) |
v | number | 成交量(手) |
yc | number | 昨日收盘价(元) |
zf | number | 振幅(%) |
zs | number | 涨速(%) |
sjl | number | 市净率 |
zdf60 | number | 60日涨跌幅(%) |
zdfnc | number | 年初至今涨跌幅(%) |
t | string | 更新时间yyyy-MM-ddHH:mm:ss |
买卖五档盘口(新增)
API接口链接(可点击验证):https://api.zhituapi.com/hs/real/five/000001?token=ZHITU_TOKEN_LIMIT_TEST
描述:根据《股票列表》得到的股票代码获取实时买卖五档盘口数据。
更新频率:实时
字段名称 | 数据类型 | 字段说明 |
---|---|---|
ps | number | 委卖价 |
pb | number | 委买价 |
vs | number | 委卖量 |
vb | number | 委买量 |
t | string | 更新时间 |
历史分时交易
API接口链接(可点击验证):https://api.zhituapi.com/hs/history/000001.SZ/d/n?token=ZHITU_TOKEN_LIMIT_TEST&st=20250101&et=20250430)
描述:根据《股票列表》得到的股票代码和分时级别获取历史交易数据,交易时间升序。目前分时级别支持1分钟、5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数分别为1、5、15、30、60、d、w、m、y,除权方式有不复权、前复权、后复权、等比前复权、等比后复权,对应的参数分别为n、f、b、fr、br。开始时间以及结束时间的格式均为 YYYYMMDD 或 YYYYMMDDhhmmss,例如:‘20240101’ 或’20241231235959’。不设置开始时间和结束时间则为全部历史数据。
更新频率:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每日15:30开始更新,预计17:10完成
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间 |
o | float | 开盘价 |
h | float | 最高价 |
l | float | 最低价 |
c | float | 收盘价 |
v | float | 成交量 |
a | float | 成交额 |
pc | float | 前收盘价 |
sf | int | 停牌 1停牌,0 不停牌 |
历史分时MACD
API接口链接(可点击验证):https://api.zhituapi.com/hs/history/macd/000001.SZ/d/n?token=ZHITU_TOKEN_LIMIT_TEST&st=20250101&et=20250430
描述:根据《股票列表》得到的股票代码和分时级别获取历史MACD数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数分别为5、15、30、60、d、w、m、y,日线以上除权方式有不复权、前复权、后复权、等比前复权、等比后复权,对应的参数分别为n、f、b、fr、br,分钟级仅限请求不复权数据,对应的参数为n。开始时间以及结束时间的格式均为 YYYYMMDD 或 YYYYMMDDhhmmss,例如:‘20240101’ 或’20241231235959’。不设置开始时间和结束时间则为全部历史数据。同时可以指定获取数据条数,例如指定lt=10,则获取最新的10条数据。
更新频率:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每日15:35更新
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
diff | number | DIFF值 |
dea | number | DEA值 |
macd | number | MACD值 |
ema12 | number | EMA(12)值 |
ema26 | number | EMA(26)值 |
历史分时MA
API接口链接(可点击验证):http://api.zhituapi.com/hs/history/ma/000001.SZ/d/n?token=ZHITU_TOKEN_LIMIT_TEST
描述:根据《股票列表》得到的股票代码和分时级别获取历史MA数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数分别为5、15、30、60、d、w、m、y,日线以上除权方式有不复权、前复权、后复权、等比前复权、等比后复权,对应的参数分别为n、f、b、fr、br,分钟级仅限请求不复权数据,对应的参数为n。开始时间以及结束时间的格式均为 YYYYMMDD 或 YYYYMMDDhhmmss,例如:‘20240101’ 或’20241231235959’。不设置开始时间和结束时间则为全部历史数据。同时可以指定获取数据条数,例如指定lt=10,则获取最新的10条数据。
更新频率:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每日15:35更新
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
ma3 | number | MA3,没有则为null |
ma5 | number | MA5,没有则为null |
ma10 | number | MA10,没有则为null |
ma15 | number | MA15,没有则为null |
ma20 | number | MA20,没有则为null |
ma30 | number | MA30,没有则为null |
ma60 | number | MA60,没有则为null |
ma120 | number | MA120,没有则为null |
ma200 | number | MA200,没有则为null |
ma250 | number | MA250,没有则为null |
历史分时BOLL
API接口链接(可点击验证):http://api.zhituapi.com/hs/history/boll/000001.SZ/d/n?token=ZHITU_TOKEN_LIMIT_TEST
描述:根据《股票列表》得到的股票代码和分时级别获取历史BOLL数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数分别为5、15、30、60、d、w、m、y,日线以上除权方式有不复权、前复权、后复权、等比前复权、等比后复权,对应的参数分别为n、f、b、fr、br,分钟级仅限请求不复权数据,对应的参数为n。开始时间以及结束时间的格式均为 YYYYMMDD 或 YYYYMMDDhhmmss,例如:‘20240101’ 或’20241231235959’。不设置开始时间和结束时间则为全部历史数据。同时可以指定获取数据条数,例如指定lt=10,则获取最新的10条数据。
更新频率:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每日15:35更新
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
u | number | 上轨 |
d | number | 下轨 |
m | number | 中轨 |
历史分时KDJ
API接口链接(可点击验证):http://api.zhituapi.com/hs/history/kdj/000001.SZ/d/n?token=ZHITU_TOKEN_LIMIT_TEST
描述:根据《股票列表》得到的股票代码和分时级别获取历史KDJ数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数分别为5、15、30、60、d、w、m、y,日线以上除权方式有不复权、前复权、后复权、等比前复权、等比后复权,对应的参数分别为n、f、b、fr、br,分钟级仅限请求不复权数据,对应的参数为n。开始时间以及结束时间的格式均为 YYYYMMDD 或 YYYYMMDDhhmmss,例如:‘20240101’ 或’20241231235959’。不设置开始时间和结束时间则为全部历史数据。同时可以指定获取数据条数,例如指定lt=10,则获取最新的10条数据。
更新频率:分钟级别数据盘中更新,分时越小越优先更新,如5分钟级别会每5分钟更新,15分钟级别会每15分钟更新,以此类推,日线及以上级别每日15:35更新
字段名称 | 数据类型 | 字段说明 |
---|---|---|
t | string | 交易时间,短分时级别格式为yyyy-MM-ddHH:mm:ss,日线级别为yyyy-MM-dd |
k | number | K值 |
d | number | D值 |
j | number | J值 |
五、总结与场景化推荐
- 如果你是初学者或进行个人项目原型开发:从 AKShare 或 智兔数服开始是最佳选择。它们免费、易用,足以帮你验证想法和熟悉整个工作流。
- 如果你主要交易和关注美港股市场:Tiger Broker(需开户)和 iTick 是值得关注的选项,它们为这些市场提供了专门的免费数据接口。
- 如果你为中型平台或专业团队构建系统:在数据质量、实时性和稳定性上有更高要求。可以考虑 享联科技(低延迟、机构级)或 诺派信息(历史数据深度好、工具齐全)这类付费服务。
- 如果你构建的是高频交易或实盘交易系统:投资一个可靠的付费接口(如 同花顺OpenAPI、享联科技)是必要的,它能为你提供毫秒级延迟和机构级服务保障,减少后期维护的烦恼。
希望这份指南能帮助你顺利找到合适的股票数据接口。如果你能分享更多关于你的具体开发场景和目标市场,或许我能提供更精准的建议。