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

免费端点 · 免费

# K线（日/周/月） API
 历史 K 线数据。用户问『走势/最近表现/历史K线/趋势』时用这个。⚠️ 换手率字段名是 `turnover`（单位 %）—— 与 /v1/quote、/v1/snapshot 同名同值（2026-09-26 由 `exchange` 改名）。⚠️ 价格口径固定为前复权（除权除息日不跳空；无 `adjust` 参数）—— 不要再自己复权（会二次复权）。
 免费 `GET /v1/kline`
 接口签名
```
GET /v1/kline?code=sh600667&period=day
```
 一行可跑

```
curl "https://api.ashareapi.com/v1/kline?code=sh600667&period=day"
```
 参数：`code * · period · count` 带 * 为必填

## 快速开始
 把下面的代码里的 Key 换成你的（免费端点无需 Key，直接调）：
 curl

```
# 免费端点：无需 API Key（匿名即可调用）
curl "https://api.ashareapi.com/v1/kline?code=sh600667&period=day"
```
 Python

```
import requests

r = requests.get(
 "https://api.ashareapi.com/v1/kline",
 params={"code": "sh600667"},
 timeout=30,
)
print(r.json())
```
 JavaScript

```
const r = await fetch("https://api.ashareapi.com/v1/kline?code=sh600667&period=day");
console.log(await r.json());
```

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

| | code | string | 是 | 股票代码：sh600667

| | period | string | 否 | 周期：day 日线 / week 周线 / month 月线

| | count | integer | 否 | 返回条数，默认 30，最大 1212（免 Key 匿名最多 250）

 `code` string 是
 股票代码：sh600667

 `period` string
 周期：day 日线 / week 周线 / month 月线

 `count` integer
 返回条数，默认 30，最大 1212（免 Key 匿名最多 250）

## 返回示例
 取样：`GET /v1/kline?code=sh600667&period=day&count=3`（2026-09-26 线上真实返回，已截断）。`volume` 单位为股，`amount` 单位为元，`turnover` 为换手率 %。
```
{
 "ok": true,
 "endpoint": "kline",
 "tier": "free",
 "elapsed_ms": 589,
 "source": "multi",
 "data": [
 { "date": "2026-09-24", "open": "20.17", "last": "19.41",
 "high": "20.24", "low": "19.40",
 "volume": "1544322", "amount": "3055480000", "turnover": "7.38" },
 { "date": "2026-09-23", "open": "20.10", "last": "20.59",
 "high": "20.72", "low": "19.45",
 "volume": "2591402", "amount": "5231650000", "turnover": "12.39" }
 // … 共 count 根，按日期倒序 —— data[0] 是最近一个交易日
 ]
}
```
 返回
 统一返回信封： `{ ok, endpoint, tier, elapsed_ms, source, data }`
 数据在 `data` 字段；上游为空时 `ok:false` 且**不扣次数**。

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

## 常见问题
 K 线是前复权还是不复权？
 **前复权**。除权除息日**不跳空** —— 实测 6 个除息日（中远海控 7.27%、中国神华 6.14%、贵州茅台 2.37%、工商银行 2.31% 等）全部无缺口。我们**不提供** `adjust` 参数，也不提供不复权 / 后复权数据。

 最多能取多少根 K 线？
 实测上限 **1212 根**（约 5 年日线）—— 传更大的 `count`（如 2000、5000）仍只返回 1212 根，因为那是上游可用的全部历史。默认 30 根。⚠️ **免 Key 匿名调用每次最多返回 250 根**；要一次拿满 1212 根请用 API Key。

 支持分钟级 / 5 分钟 / 60 分钟 K 线吗？
 **不支持**。`period` 只有 `day`（日线）/ `week`（周线）/ `month`（月线）三档，分钟级数据不在我们的范围内。

 为什么我算出来的均线（MA）和别的软件对不上？
 最常见的三个原因：① **复权口径** —— 我们是前复权，若对方是不复权，差异会**精确出现在跨越除息日的窗口上**；② **窗口起点的数据日期**不同（我们最后一根是最近交易日）；③ 对方用了不同的复权基准日。短窗口（MA5 / MA10）通常一致，差异往往只出现在跨过除息日的长窗口（如 MA120）。

 `turnover` 字段是「交易所」吗？
 **不是**。`turnover` 是**换手率**（单位 %），2026-09-26 由旧名 `exchange` 改名 —— 旧名极易被误读为"交易所"。它与 `/v1/quote`、`/v1/snapshot` 中的同名字段**同名同值**。

### 通用问题（所有端点通用）
 这些端点需要 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` 头）可提到 **60 次/分**，与类型无关。⚠️ 另外，匿名调用**单次最多取 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 暴露 24 个工具，覆盖行情 / 财务 / 选股 / 板块 / 宏观。

## 相关端点
 [服务健康检查](/docs/endpoints/health)[获取 PoW 挑战（匿名提额用）](/docs/endpoints/challenge)[实时行情快照](/docs/endpoints/quote)[热搜榜](/docs/endpoints/hot)[市场总览（大盘画像）](/docs/endpoints/market-overview)[涨跌分布（市场广度）](/docs/endpoints/changedist)

### 上下游端点
 [技术指标](/docs/endpoints/technical)[分红送转](/docs/endpoints/dividend)[全字段行情画像（估值/市值/股本/涨停价）](/docs/endpoints/snapshot)

### 相关教程
 [用 Python 获取 A 股实时行情：3 种方法对比 →](/docs/guides/python-ashare-quotes)

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

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

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