付费端点 · 付费

批量 K 线(多只一次取) API

⭐ 一次拿多只股票的 K 线(多只 × 同一段时间),逐只标明成功与否 —— 给量化/批量研究用。 它解决什么:自己循环取 200 只 × 30 天 = 200 次请求 ≈ 2.3 分钟(还会撞限频退避);本端点实测 3.39 秒拿完(6,000 行,200 只全部返回)。 与其它三个 K 线端点的分工(务必看清): | 端点 | 取什么 | |---|---| | /v1/kline | 一只(code 虽接受逗号,但返回扁平行、缺了哪只算不出来)| | /v1/kline-full | 一只 × 全部历史(约 2465 根)| | /v1/market-kline | 某一天 × 全市场(按日期驱动)| | 本端点 | 多只 × 同一段时间(按代码列表驱动)| 用法:codes 逗号分隔,如 ?codes=sh600519,sz000001,sz300750;支持裸 6 位码与带前缀。 返回:data 是数组,每项 {code, ok, data:[...]}(或 error)—— 取几只就回几个条目,data 内是该只的 K 线数组;同时给 requested / returned / failed 计数。 上限:专业版单次最多 200 只,不限量版 1000 只;另受总条数 6 万约束(标的数 × count ≤ 60,000,如 200 只 × 300 根触顶)。计费按实际返回只数(失败的不计)。 ⚠️ period 默认 day;count 默认 30(每只各 30 根,与 /v1/kline 一致)。⚠️ 换手率字段名是 turnover(%,与 /v1/kline 同名同值);返回字段固定 8 列(symbol date open last high low volume amount turnover)。 ⚠️ 付费端点:专业版(¥99)及以上,标准版不可用。

付费GET /v1/kline-batch
接口签名
GET /v1/kline-batch?codes=&period=day
一行可跑
curl "https://api.ashareapi.com/v1/kline-batch?codes=&period=day&key=YOUR_KEY"
参数:codes * · period · count · start · end · fq带 * 为必填

快速开始

把下面的代码里的 Key 换成你的(免费端点无需 Key,直接调):

curl
# 推荐:Authorization 头(密钥不进日志)
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://api.ashareapi.com/v1/kline-batch?codes=&period=day"

# 快速测试:直接浏览器打开(?key= 会留在日志/历史里,别用于生产)
curl "https://api.ashareapi.com/v1/kline-batch?codes=&period=day&key=YOUR_KEY"
Python
import requests

r = requests.get(
    "https://api.ashareapi.com/v1/kline-batch",
    headers={"Authorization": "Bearer YOUR_KEY"},
    params={"codes": ""},
    timeout=30,
)
print(r.json())
JavaScript
const r = await fetch("https://api.ashareapi.com/v1/kline-batch?codes=&period=day", {
  headers: { Authorization: "Bearer YOUR_KEY" },
});
console.log(await r.json());

参数

codesstring是
多个股票代码,逗号分隔:sh600519,sz000001,sz300750
periodstring
周期:day/week/month/season/year 或 m1~m120
countinteger
每只返回几根,默认 30
startstring
起始日期 YYYY-MM-DD(可选)
endstring
结束日期 YYYY-MM-DD(可选)
fqstring
复权:qfq 前复权 / hfq 后复权 / nofq 不复权(留空 = 服务端默认)
返回

统一返回信封: { ok, endpoint, tier, elapsed_ms, source, data }

数据在 data 字段;上游为空时 ok:false 且不扣次数。

限流与额度

免费端点无需 Key(匿名 5 次/分,解一次 PoW 可到 15 次/分;每次最多 250 根 K 线、每天最多 10 万条)。付费端点按档位限流:体验 30 · 标准 120 · 专业 300 · 不限量 600 次/分;买断档按总量计(不用完不过期)。

看错误码对照表 →

常见问题

通用问题(所有端点通用)

这些端点需要 API Key 吗?

免费端点不需要:health、challenge、quote、kline、hot、market-overview、changedist 匿名即可调用。付费端点需要:在请求头带 Authorization: Bearer <你的 Key>。⚠️ 匿名额度按调用者类型分级:浏览器(真人)5 次/分;脚本 / SDK / AI Agent(curl、requests、axios、openai 等 UA)2 次/分 —— 自动化流量更易被滥用。解一次 PoW 挑战(GET /v1/challenge,再带 X-PoW 头)可提到 15 次/分,与类型无关。⚠️ 另外,匿名调用单次最多取 250 根 K 线、每天最多 10 万条 —— 要一次拿满 1212 根或不限日量,请用 API Key。

返回为空或上游报错时,会扣我的调用次数吗?

不会。上游失败或空结果时返回 ok:false,并自动退回本次计费(total_calls / usage_log / ep_log 三处同时回滚)。只有真正取到数据的请求才计入用量。

数据多久更新一次?

行情类(quote / kline / orderbook / changedist)为实时或当日;财务、股东、分红、事件等为上游披露后 T+1 内。响应里的 source 字段标明本次实际命中的数据通道。

一次请求能批量拿多只股票吗?

不能。code 是单值参数,一次一只;批量请并发调用(注意各自档位的每分钟限流)。

怎么在 Claude / Cursor / ChatGPT 里直接调用?

配一次 MCP 即可,之后直接问 AI「查一下……」它会自己调。MCP 暴露 43 个工具,覆盖行情 / 财务 / 选股 / 板块 / 宏观。

要把它接进 AI Agent?

配一次 MCP,之后问 AI「查一下……」它自己调。

← 返回完整端点清单