选择合适的股票API是进行量化分析、策略回测或开发金融应用的第一步。下面我将各类实用的股票数据接口进行了整理,并用表格直观展示它们的特点,方便你快速比较和选择。

服务商/工具 类型 主要数据覆盖 核心特点 / 免费限制
必盈数据 第三方数据API 沪深A股、港股(部分)、科创板、北交所、基金 数据全面(实时、历史、技术指标、资金流),可免费使用,通常需要申请免费证书。
Yahoo Finance API 国际数据API 全球市场(以美股、加股为主) 免费、支持批量请求,但国内访问可能不稳定。
Alpha Vantage 国际数据API 全球股票、外汇、加密货币 功能丰富,支持多种技术指标,免费版有调用频率限制。
聚合数据 综合数据平台 A股实时行情 每日50次免费调用,仅提供实时数据,无历史数据和技术指标。
AkShare Python开源库 沪深及全球多市场 免费开源,数据源丰富(集成新浪、东方财富等),无需注册,是个人开发者的首选。
Tushare Python开源库 A股市场 数据质量高,需注册获取Token,免费版有每日调用次数限制。
Baostock Python开源库 A股市场 免费开源,无需注册,支持复权因子计算。

一、如何选择适合你的API?

面对这些选项,你可以根据自身需求来做决定:

  • 如果你是初学者或个人开发者,进行学习、测试或小型项目

    推荐从 必盈数据 这类免费且功能全面的工具开始。AkShare作为Python库集成方便;智兔数服等提供的API接口返回的数据结构清晰,预计算的技术指标能节省你的开发时间。

  • 如果你的主要目标是美股或全球市场

    Yahoo Finance APIAlpha Vantage 是经典选择。

  • 如果是商业项目或对稳定性有极高要求

    对于正式、长期的商业项目,建议考虑 Tushare Pro 等付费服务,或联系 同花顺 等专业数据商。付费服务能提供更稳定的服务保障和数据合规性。

二、动手试一试:API调用示例和api文档说明

【特别提示】:下方验证接口的licence证书(biyinglicence)为官方提供的验证证书,该证书只能验证股票代码000001的股票,因此,下方的接口连接中,即使换掉代码实际返回的也是000001的数据,在实际应用中,需要自己去申请一个免费证书更换掉就可以随意请求数据了,证书是免费申请的:必盈API官网

本文中所有接口均可直接在浏览器打开获取数据,为了便于大家验证有效性,已经做好了超链接,直接点击即可!

股票列表

API接口链接(可点击验证):api.biyingapi.com/hslt/list/biyinglicence

【实时数据接口】

实时数据

API接口链接(可点击验证):api.biyingapi.com/hsstock/real/time/000001/biyinglicence

1、python

import requests  
  
url = "https://api.biyingapi.com/hsstock/real/time/000001/biyinglicence"  
response = requests.get(url)  
data = response.json()  
print(data)

2、JavaScript (Node.js)

const axios = require('axios');  
  
const url = "https://api.biyingapi.com/hsstock/real/time/000001/biyinglicence";  
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.biyingapi.com/hsstock/real/time/000001/biyinglicence"))  
            .build();  
  
        try {  
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());  
            System.out.println(response.body());  
        } catch (IOException | InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}

返回的数据:

{"pe":4.42,"ud":-0.03,"pc":-0.2639,"zf":0.7036,"tr":0.43,"pb_ratio":0.5,"p":11.34,"o":11.37,"h":11.37,"l":11.29,"yc":11.37,"cje":942224100,"v":832479,"pv":83247947,"tv":19906,"t":"2025-09-30 15:00:00"}
沪深A股指数实时交易

API接口链接(可点击验证):api.biyingapi.com/hsindex/real/time/000001/biyinglicence

京股实时数据

API接口链接(可点击验证):api.biyingapi.com/bj/stock/real/time/430017/biyinglicence

港股【部分】实时数据

API接口链接(可点击验证):http://api.biyingapi.com/hk/stock/real/time/00001/biyinglicence

基金实时数据

API接口链接(可点击验证):api.biyingapi.com/fd/real/time/159001/biyinglicence

买卖五档盘口

API接口链接(可点击验证):api.biyingapi.com/hsstock/real/five/000001/biyinglicence

最新分时交易

API接口链接(可点击验证):api.biyingapi.com/hsstock/latest/000001.SZ/d/n/biyinglicence?lt=1

【历史数据接口】

历史分时交易

API接口链接(可点击验证):api.biyingapi.com/hsstock/history/000001.SZ/d/n/biyinglicence?st=20250101&et=20250430&lt=100

历史分时MACD

API接口链接(可点击验证):api.biyingapi.com/hsstock/history/macd/000001.SZ/d/n/biyinglicence

历史分时MA

API接口链接(可点击验证):api.biyingapi.com/hsstock/history/ma/000001.SZ/d/n/biyinglicence

历史分时BOLL

API接口链接(可点击验证):api.biyingapi.com/hsstock/history/boll/000001.SZ/d/n/biyinglicence

历史分时KDJ

API接口链接(可点击验证):api.biyingapi.com/hsstock/history/kdj/000001.SZ/d/n/biyinglicence

API说明文档

股票基础信息

API接口:http://api.biyingapi.com/hsstock/instrument/000001.SZ/biyinglicence

接口说明:依据《股票列表》中的股票代码获取股票的基础信息

数据更新:每日1点

返回格式:标准Json格式 [{},…{}]

字段名称 数据类型 字段说明
ei string 市场代码
ii string 股票代码
name string 股票名称
od string 上市日期(股票IPO日期)
pc float 前收盘价格
up float 当日涨停价
dp float 当日跌停价
fv float 流通股本
tv float 总股本
pk float 最小价格变动单位
is int 股票停牌状态(<=0:正常交易(-1:复牌);>=1停牌天数;)

实时交易数据

API接口:https://api.biyingapi.com/hsstock/real/time/000001/biyinglicence

接口说明:根据《股票列表》得到的股票代码获取实时交易数据(您可以理解为日线的最新数据)。

数据更新:实时

返回格式:标准Json格式 [{},…{}]

字段名称 数据类型 字段说明
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 更新时间
pe number 市盈率
tr number 换手率
pb_ratio number 市净率
tv number 成交量

实时交易(公开数据)

API接口:http://api.biyingapi.com/hsrl/ssjy/000001/biyinglicence

接口说明:根据《股票列表》得到的股票代码获取实时交易数据(您可以理解为日线的最新数据)。

数据更新:交易时间段每1分钟

返回格式:标准Json格式 [{},…{}]

字段名称 数据类型 字段说明
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接口链接(可点击验证):api.biyingapi.com/hsstock/latest/000001.SZ/d/n/biyinglicence?lt=1

接口说明:根据《股票列表》得到的股票代码和分时级别获取最新交易数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数分别为5、15、30、60、d、w、m、y,除权方式有不复权、前复权、后复权、等比前复权、等比后复权,对应的参数分别为n、f、b、fr、br,分钟级无除权数据,对应的参数为n。

数据更新:实时

字段名称 数据类型 字段说明
t string 交易时间
o float 开盘价
h float 最高价
l float 最低价
c float 收盘价
v float 成交量
a float 成交额
pc float 前收盘价
sf int 停牌 1停牌,0 不停牌

历史分时交易

API接口链接(可点击验证):api.biyingapi.com/hsstock/history/000001.SZ/d/n/biyinglicence?st=20250101&et=20250430&lt=100

接口说明:根据《股票列表》得到的股票代码和分时级别获取历史交易数据,交易时间升序。目前分时级别支持5分钟、15分钟、30分钟、60分钟、日线、周线、月线、年线,对应的请求参数分别为5、15、30、60、d、w、m、y,除权方式有不复权、前复权、后复权、等比前复权、等比后复权,对应的参数分别为n、f、b、fr、br,分钟级无除权数据,对应的参数为n。开始时间以及结束时间的格式均为 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接口链接(可点击验证):api.biyingapi.com/hsstock/history/macd/000001.SZ/d/n/biyinglicence

接口说明:根据《股票列表》得到的股票代码和分时级别获取历史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接口链接(可点击验证):api.biyingapi.com/hsstock/history/ma/000001.SZ/d/n/biyinglicence

接口说明:根据《股票列表》得到的股票代码和分时级别获取历史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接口链接(可点击验证):api.biyingapi.com/hsstock/history/boll/000001.SZ/d/n/biyinglicence

接口说明:根据《股票列表》得到的股票代码和分时级别获取历史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.biyingapi.com/hsstock/history/kdj/000001.SZ/d/n/biyinglicence

接口说明:根据《股票列表》得到的股票代码和分时级别获取历史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值

三、使用注意事项

在开始使用这些API时,有几点需要特别注意:

  • 遵守频率限制:所有免费API都对请求频率有限制。例如,新浪历史数据接口建议每分钟不超过10次请求,实时数据每5秒不超过1次。高频请求可能导致IP被暂时封锁。
  • 准备备用方案:免费API的服务稳定性可能变化,对于重要项目,最好有备用数据源(如同时配置AkShare和另一个API)。
  • 理解数据含义:在使用前,务必查阅相关文档,准确理解每个返回字段的含义,比如“前复权”和“不复权”的区别,以确保分析结果的准确性。

希望这份梳理能帮助你顺利找到合适的股票数据接口,或者具体的使用场景,或许我可以提供更具体的建议。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐