付费端点 · 付费

全历史 K线(10 年日线 · 原始价 + 复权因子) API

⭐ A股全历史日线(一次拿到全部日线,不受上游单次条数限制)(最多约 2400 根,而 `/v1/kline` 上限 1212 根)。适合:长周期回测 / 因子研究 / 复权精确计算。 标的范围(重要):仅 A 股股票(`sh` / `sz` / `bj` 前缀,共 5572 只)。⛔ ETF / 可转债 / 指数 / 板块 / 港股 / 美股 / 期货 / 外汇均不支持 —— 这些标的请用 `/v1/kline`(覆盖全标的,上限 1212 根)。 `fq` 复权口径(本端点的核心价值): - `qfq`(默认)前复权:以最新价为基准,适合看走势 - `hfq` 后复权:以最早价为基准,适合回测(历史值不随未来分红变化) - `nofq` 不复权原始价:配合 `/v1/kline-full?fq=nofq` 取到的原始价,回测时自算复权(避免厂商前复权序列被未来事件改写) ⚠️ 与 `/v1/kline` 的口径差异(务必看清): | | `/v1/kline` | 本端点 | |---|---|---| | 上限 | 1212 根 | 约 2400 根(全历史)| | 复权 | 写死前复权(无参数)| `fq` 可选 qfq/hfq/nofq | | 标的 | 全标的 | 仅 A 股股票 | ⚠️ 数据范围:2016-08-08 起(数据边界,非上市日)。⚠️ 字段固定 7 列:`time` `open` `high` `low` `close` `volume` `amount`(⛔ 无 `turnover` 换手率 —— 上游日线口径无此列)。⚠️ 属付费层(需 API Key)—— 门槛为 `standard`(¥29.9)及以上,`trial`(¥9.9)不可用。

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

快速开始

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

curl
# 推荐:Authorization 头(密钥不进日志)
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://api.ashareapi.com/v1/kline-full?code=sh600667&fq=qfq"

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

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

参数

codestring是
A股代码:sh600519 / sz000001 / bj920047(⛔ 不支持 ETF/可转债/指数/板块/港股/美股)
fqstring
复权:qfq 前复权(默认)/ hfq 后复权 / nofq 不复权原始价
startstring
起始日期 YYYY-MM-DD(省略 = 从库起点 2016-08-08)
endstring
结束日期 YYYY-MM-DD(省略 = 到最新交易日)
返回

统一返回信封: { 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 暴露 26 个工具,覆盖行情 / 财务 / 选股 / 板块 / 宏观。

要把它接进 AI Agent?

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

← 返回完整端点清单