快速开始
本服务提供兼容 Tushare Pro 的数据访问入口。调用方继续使用 Tushare 的接口名、参数和字段, 只需要把请求发到本文档给出的服务地址,并使用分发的 API Key。
- 获取分发给你的 API Key 和 API 服务地址。
- 确认要调用的接口名,例如
daily、income、daily_basic。 - 按下方 SDK 或 HTTP 示例修改代码。
- 对网络超时、临时上游错误和限流错误增加重试。
API Key 使用方式
支持两种传递方式。推荐优先使用 Body 中的 token 字段,和 Tushare 官方 HTTP 格式一致。
| 方式 | 位置 | 说明 |
|---|---|---|
| Body | token |
请求 JSON 中直接放入分发给你的 API Key。 |
| Header | x-api-key |
请求 JSON 可不带 token,由 Header 提供 API Key。 |
方式一:使用 Tushare SDK
如果已经使用 Python 版 tushare,通常只需要设置 token,并把 SDK 的 HTTP 地址改为网关地址。
import tushare as ts
ts.set_token("替换成你的 API Key")
pro = ts.pro_api()
pro._DataApi__http_url = "替换成 API 服务地址"
df = pro.daily(
ts_code="000001.SZ",
start_date="20260101",
end_date="20260110",
)
print(df)
ts.pro_bar() 等模块级函数
ts.pro_bar() 不是 pro 对象的方法,需要额外把上面创建的
pro 作为 api 参数传入。
import tushare as ts
ts.set_token("替换成你的 API Key")
pro = ts.pro_api()
pro._DataApi__http_url = "替换成 API 服务地址"
df = ts.pro_bar(
ts_code="002594.SZ",
api=pro,
start_date="20180101",
end_date="20181011",
adj="qfq",
)
print(df)
方式二:直接 HTTP 请求
直接向 API 服务根路径 / 发送 POST 请求。请求体保持 Tushare 原始 HTTP 格式。
Python requests:Token 放在 Body
import requests
resp = requests.post("替换成 API 服务地址", json={
"api_name": "daily",
"token": "替换成你的 API Key",
"params": {
"ts_code": "000001.SZ",
"start_date": "20260101",
"end_date": "20260110",
},
"fields": "ts_code,trade_date,open,high,low,close,vol",
}, timeout=30)
resp.raise_for_status()
print(resp.json())
Python requests:Token 放在 Header
import requests
resp = requests.post(
"替换成 API 服务地址",
json={
"api_name": "daily",
"params": {
"ts_code": "000001.SZ",
"start_date": "20260101",
"end_date": "20260110",
},
},
headers={"x-api-key": "替换成你的 API Key"},
timeout=30,
)
resp.raise_for_status()
print(resp.json())
curl 示例
curl -X POST "替换成 API 服务地址" \
-H "Content-Type: application/json" \
-d '{
"api_name": "daily",
"token": "替换成你的 API Key",
"params": {
"ts_code": "000001.SZ",
"start_date": "20260101",
"end_date": "20260110"
}
}'
| 字段 | 是否必填 | 说明 |
|---|---|---|
api_name |
是 | Tushare 接口名,例如 daily。 |
token |
Body 鉴权时必填 | 分发给你的 API Key。 |
params |
按接口要求 | 接口业务参数,结构与 Tushare 官方一致。 |
fields |
否 | 返回字段,逗号分隔。 |
返回格式
正常返回与 Tushare Pro HTTP 响应结构保持兼容,常见形态如下:
{
"request_id": "...",
"code": 0,
"msg": "",
"data": {
"fields": ["ts_code", "trade_date", "close"],
"items": [
["000001.SZ", "20260110", 12.34]
]
}
}
业务错误、权限不足、token 失效、参数不满足接口要求时,也会尽量按 Tushare 客户端可处理的方式返回。
客户端仍应检查 code 和 msg。
可用接口
可用接口取决于上游数据源权限、当前 API 规则和你的 API Key 权限。 调用前建议先查看 Tushare 官方接口文档,确认接口名、参数、字段和权限要求。
数据质量与支持
本服务按作者自己的真实使用需求持续维护,会结合日常增量更新、官方接口校准、回归比对和缓存新鲜度检查来控制数据质量。 相比只做简单转发或静态缓存的接入方式,这里更重视返回结构兼容、数据一致性、官方接口变化跟进和异常定位。
当官方接口字段、权限、数据更新时间或返回格式发生变化时,系统内置的日更和回归流程可以帮助定位差异来源。 如果你在使用中遇到数据差异、权限疑问或接口调用问题,可以提交接口名、参数、时间和返回内容,便于快速排查。
权限与限制
实际请求频率、并发、每日额度、有效期和接口范围以你的 API Key 实际使用情况和开通配置为准。
如果请求被限制,客户端应等待一段时间后重试;如果长期被拒绝,请联系服务方确认 token 状态、权限范围和有效期。
客户端建议
- 请求超时建议设置为 30 秒左右,并对临时网络错误、上游波动和限流做退避重试。
- 优先传入明确查询条件,例如
ts_code、trade_date、start_date、end_date。 - 避免在业务高峰中频繁发起超大范围查询;如需批量历史数据,建议按日期或标的分片。
- 不要依赖返回行顺序做业务判断;需要稳定顺序时在客户端按日期、代码等字段排序。
常见问题
提示 token 无效怎么办?
确认服务地址已经改成本文档给出的 API 服务地址,并确认 Body 中的 token 或 Header 中的 x-api-key 是分发给你的 API Key。
SDK 还是访问了官方地址怎么办?
确认已经设置 pro._DataApi__http_url。如果环境变量里配置过旧 token,也建议清理后重试。
为什么有些接口没权限?
你的 API Key 只开放实际开通的权限范围。部分 Tushare 接口还需要独立权限,不能只按积分判断。
返回数据和官方有差异怎么办?
先记录接口名、参数、字段、请求时间和返回内容,再联系服务方排查缓存、新鲜度、官方接口变化或上游权限问题。
可以把这个地址交给 AI 编程工具吗?
可以把本文档地址和 API 服务地址交给工具,并明确要求它按本文档设置 Tushare SDK 地址,不要直接调用官方地址。