> Source: https://ashareapi.com/docs/endpoints/kline-full/  ·  Markdown version for LLMs / AI agents

付费端点 · 付费

# 全历史 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());
```

## 参数
 |
| | 参数 | 类型 | 必填 | 说明

| | code | string | 是 | A股代码：sh600519 / sz000001 / bj920047（⛔ 不支持 ETF/可转债/指数/板块/港股/美股）

| | fq | string | 否 | 复权：qfq 前复权（默认）/ hfq 后复权 / nofq 不复权原始价

| | start | string | 否 | 起始日期 YYYY-MM-DD（省略 = 从库起点 2016-08-08）

| | end | string | 否 | 结束日期 YYYY-MM-DD（省略 = 到最新交易日）

 `code` string 是
 A股代码：sh600519 / sz000001 / bj920047（⛔ 不支持 ETF/可转债/指数/板块/港股/美股）

 `fq` string
 复权：qfq 前复权（默认）/ hfq 后复权 / nofq 不复权原始价

 `start` string
 起始日期 YYYY-MM-DD（省略 = 从库起点 2016-08-08）

 `end` string
 结束日期 YYYY-MM-DD（省略 = 到最新交易日）

 返回
 统一返回信封： `{ ok, endpoint, tier, elapsed_ms, source, data }`
 数据在 `data` 字段；上游为空时 `ok:false` 且**不扣次数**。

 限流与额度
 免费端点无需 Key（匿名 5 次/分，解一次 PoW 可到 15 次/分；每次最多 250 根 K 线、每天最多 10 万条）。付费端点按档位限流：体验 30 · 标准 120 · 专业 300 · 不限量 600 次/分；买断档按总量计（不用完不过期）。
[看错误码对照表 →](/docs/errors)

## 常见问题

### 通用问题（所有端点通用）
 这些端点需要 API Key 吗？
 **免费端点不需要**：health、challenge、quote、kline、hot、market-overview、changedist 匿名即可调用。**付费端点需要**：在请求头带 `Authorization: Bearer `。⚠️ 匿名额度**按调用者类型分级**：浏览器（真人）**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 个工具，覆盖行情 / 财务 / 选股 / 板块 / 宏观。

## 相关端点
 [分时（当日 / 近 5 日盘中走势）](/docs/endpoints/minute)[财务报表](/docs/endpoints/finance)[个股资金+龙虎榜+大宗+两融（综合）](/docs/endpoints/fund)[技术指标](/docs/endpoints/technical)[股东研究](/docs/endpoints/shareholder)[筹码分布/成本](/docs/endpoints/chip)[五档盘口（order book · 买五卖五）](/docs/endpoints/orderbook)[全字段行情画像（估值/市值/股本/涨停价）](/docs/endpoints/snapshot)

 要把它接进 AI Agent？
 配一次 MCP，之后问 AI「查一下……」它自己调。

 [MCP 接入说明](/mcp)[查看定价](/pricing)

 [← 返回完整端点清单](/endpoints)
