DataDelivery /开发者文档 · v2
API DOCUMENTATION

接口调用说明

使用收到的 Key,接入金融数据查询。使用 JSON 发送查询条件,按返回字段读取结果。

本页介绍 DataDelivery 的接口调用方式。只需在你自己的程序中填写 Key,不要把 Key 放进网页链接或公开代码。

01 / 快速开始

STEP 01准备地址和 Key

从发货消息复制接口地址、Key 和到期时间。

STEP 02发送 JSON 请求

使用 POST,在 token 字段填写你的客户 Key。

STEP 03读取返回数据

检查 code,再读取 data.fields 和 data.items。

当前站点接口:YOUR_SERVICE_URL/api

下面示例查询一个交易日的历史行情。把 YOUR_CUSTOMER_KEY 替换为收到的 Key。

终端 · cURL(macOS / Linux)
curl -X POST "YOUR_SERVICE_URL/api" \
  -H "Content-Type: application/json" \
  -d '{
    "api_name": "daily",
    "token": "YOUR_CUSTOMER_KEY",
    "params": {
      "ts_code": "000001.SZ",
      "trade_date": "20260812"
    },
    "fields": "ts_code,trade_date,close"
  }'

02 / 请求与返回

客户需要调整的是请求地址和 token 的值。不要额外传入订单号、套餐或设备信息。

字段说明
api_name接口名称,例如 daily。
token卖家发给你的客户 Key。
params查询条件对象;股票代码、日期等按对应官方接口文档填写。
fields逗号分隔的字段名称;空字符串使用上游默认字段。

成功响应示例

以下数值仅为格式示例,不是真实行情。每条 items 数据按 fields 的顺序排列。

JSON · 示例
{
  "code": 0,
  "msg": null,
  "data": {
    "fields": ["ts_code", "trade_date", "close"],
    "items": [["000001.SZ", "20260812", 10.0]]
  }
}

真实响应由上游数据服务返回,可能还有 request_id 等字段。我们保留上游正文,不加入订单或额度信息。查询成功但没有符合条件的数据时,items 可能为空。

03 / Python 示例

下面使用 Python 标准库,无需安装额外依赖。先将客户 Key 设置为本机环境变量 DATADELIVERY_KEY,再运行代码。

Python · 一次查询,不自动重试
import json
import os
from urllib.request import Request, urlopen
from urllib.error import HTTPError, URLError

url = "YOUR_SERVICE_URL/api"
payload = {
    "api_name": "daily",
    "token": os.environ["DATADELIVERY_KEY"],
    "params": {"ts_code": "000001.SZ", "trade_date": "20260812"},
    "fields": "ts_code,trade_date,close",
}
request = Request(
    url,
    data=json.dumps(payload).encode("utf-8"),
    headers={"Content-Type": "application/json"},
    method="POST",
)
try:
    with urlopen(request, timeout=45) as response:
        result = json.load(response)
except HTTPError as error:
    print("HTTP 错误:", error.code)
    print("建议等待秒数:", error.headers.get("Retry-After"))
    print(error.read().decode("utf-8", errors="replace"))
except URLError:
    print("连接失败,请检查接口地址和网络。")
else:
    if result.get("code") != 0:
        print("查询失败:", result.get("msg"))
    else:
        data = result["data"]
        rows = [dict(zip(data["fields"], row)) for row in data["items"]]
        print(rows)
Python SDK、TradingAgents 等项目还需要将数据请求地址指向本服务。只换 Key 不够;不同版本的配置方式不同,尚未逐版本验证。可先用本页 HTTP 示例确认连接。

04 / 可用接口目录

当前开放 A 股与指数常用数据:基础信息、历史行情、财务报表、股东、资金流向及指数成分。接口名称、业务参数和字段直接参照对应官方文档。

当前服务已配置 36 个接口。下方是所有客户合计的接口保护额度;还会叠加每个 Key 的套餐额度及全局额度,不是每人都能用完表中次数。权限和数据更新最终以官方响应为准。

股票 · 12 个接口
接口 / 数据验证情况共享保护额度
adj_factor
复权因子
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
daily
日线行情
真实样例通过
160 / 分钟
80000 / 24小时
daily_basic
每日行情指标
真实样例通过
160 / 分钟
80000 / 24小时
monthly
月线行情
真实样例通过
160 / 分钟
80000 / 24小时
namechange
股票曾用名
真实样例通过
160 / 分钟
80000 / 24小时
new_share
IPO新股列表
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
stk_limit
每日涨跌停价格
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
stock_basic
股票基础列表
真实样例通过
40 / 分钟
80000 / 24小时
stock_company
上市公司信息
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
suspend_d
每日停复牌信息
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
trade_cal
各交易所交易日历
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
weekly
周线行情
真实样例通过
160 / 分钟
80000 / 24小时
财务 · 10 个接口
接口 / 数据验证情况共享保护额度
balancesheet
资产负债表
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
cashflow
现金流量表
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
disclosure_date
财报披露日期表
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
dividend
分红送股
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
express
业绩快报
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
fina_audit
财务审计意见
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
fina_indicator
财务指标数据
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
fina_mainbz
主营业务构成
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
forecast
业绩预告
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
income
利润表
真实样例通过
160 / 分钟
80000 / 24小时
指数 · 8 个接口
接口 / 数据验证情况共享保护额度
index_basic
指数基本信息
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
index_classify
申万行业分类
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
index_daily
指数日线行情
真实样例通过
160 / 分钟
80000 / 24小时
index_dailybasic
大盘指数每日指标
真实样例通过
160 / 分钟
80000 / 24小时
index_member_all
申万行业成分(分级)
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
index_monthly
指数月线行情
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
index_weekly
指数周线行情
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
index_weight
指数成分和权重
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
股票参考 · 6 个接口
接口 / 数据验证情况共享保护额度
moneyflow
大单成交数据
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
stk_holdernumber
股东人数
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
top10_floatholders
前十大流通股东
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
top10_holders
前十大股东
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
top_inst
龙虎榜机构交易单
真实样例通过
160 / 分钟
80000 / 24小时
top_list
龙虎榜每日统计单
按官方文档开放,未逐项实测
160 / 分钟
80000 / 24小时
本期不开放基金、期货、期权、债券、外汇与宏观数据。分钟行情、实时行情和新闻也不在当前范围内。

pro_bar 是官方 Python SDK 的组合函数,官方不提供同名 HTTP 接口。客户可让 SDK 的底层请求经过本服务;daily、adj_factor 等底层接口分别计次,复权运算在客户端完成。网关不自行计算复权。

查询失败时请检查官方 code 和 msg。接口开放并不保证任意日期都有记录,不自动分页或重试。参数示例仍可使用上面的代码,只需按文档替换 api_name、params 和 fields。

05 / 错误与限流

每个 Key 独立计数。套餐额度以购买时说明为准,同时受服务整体和上游接口限额约束。日额度使用滚动 24 小时,不是零点全部清零。

HTTP 状态含义如何处理
400请求格式错误检查 JSON、params 和 fields。
401Key 无效检查是否完整复制,有没有多余空格。
403未发货、到期、停用或接口无权限阅读 msg;需要时联系卖家核对订单。
429请求过快、额度不足或并发已满按 Retry-After 等待,降低频率。
502 / 504上游连接异常、响应过大或超时稍后手动尝试,避免密集重试。
503服务暂不可用稍后尝试,持续出现时联系卖家。

限流响应示例

HTTP · 等待秒数以实际响应为准
HTTP/1.1 429 Too Many Requests
Retry-After: 61
X-DataDelivery-Error: quota_exceeded
Content-Type: application/json

{"code": -1, "msg": "请求额度已用完", "data": null}

即使 HTTP 为 200,也需要检查 JSON 中的 code。来自官方的业务错误原样返回;本服务生成的错误可通过 X-DataDelivery-Error 响应头辨别。已放行的调用即使上游失败也计入次数;服务不会自动重试。

06 / 常见问题

套餐从什么时候开始计时?

从卖家确认发货起算,首次查询不会重新激活。月套餐按自然月计算,到期日北京时间24点结束。例如8月12日发三个月套餐,11月12日24点结束;对应月份没有同一天时取月底。

换电脑需要换 Key 吗?

不需要。请求按 Key 统计,不绑定设备;同一 Key 的所有调用合并计数。请保管好自己的 Key。

为什么查询结果为空?

先检查日期、股票代码及交易状态。休市、停牌或数据未更新时可能没有记录;空数据与网络失败不是同一回事,请同时检查 code 和 msg。

能直接在任意网页里调用吗?

优先从本机脚本或自己的服务端调用。当前没有开放跨站浏览器 CORS,也不建议把 Key 写入公开网页。

遇到问题怎么反馈?

通过原购买渠道联系卖家,提供订单号、接口名称、请求时间和错误提示。不要公开完整 Key;示例代码或截图请先遮住 token。

07 / 更新记录

2026-10-15 · 接口说明更新
聚焦 A 股与指数常用接口,展示实际开放目录、验证情况与共享保护额度。以后文档更新会继续使用这个地址,无需重新领取 Key。