免费端点 · 免费

交易日历(开市/休市 · 年末最后交易日) API

A 股交易日历:逐个日期给出是否开市,以及该日是不是本周/本月/本季/本年的最后一个交易日(做结算日、到期日、调仓日的时候要用)。 和 /v1/calendar 的区别:那个是个股事件日历(分红/解禁/财报披露…),这个只讲市场开不开市。两个都要的话各调一次。 三种查询方式(三选一): - 不传参数 → 当月整月 - date=2026-10-16 → 单日 - start+end → 任意区间;或 year=2026 → 整年 trading_only=true:只返回开市日(整年约 242 行,比 365 行更好用)。 ⚠️ limit 默认已按查询范围自动补足(年/区间默认给满一年 400 行上限),不会截断;要翻页用 offset。 data 是排版好的表格;程序化读取用 structured(单表,[{列: 值}])。列为:日期 / 是否交易日 / 本周最后交易日 / 本季最后交易日 / 本年最后交易日 / 本月最后交易日。 ⚠️ 本端点免费(不需要 API Key)。

免费GET /v1/trade-calendar
接口签名
GET /v1/trade-calendar?date=2026-09-16
一行可跑
curl "https://api.ashareapi.com/v1/trade-calendar?date=2026-09-16"
参数:date · start · end · year · trading_only · limit · offset带 * 为必填

快速开始

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

curl
# 免费端点:无需 API Key(匿名即可调用)
curl "https://api.ashareapi.com/v1/trade-calendar?date=2026-09-16"
Python
import requests

r = requests.get(
    "https://api.ashareapi.com/v1/trade-calendar",
    params={},
    timeout=30,
)
print(r.json())
JavaScript
const r = await fetch("https://api.ashareapi.com/v1/trade-calendar?date=2026-09-16");
console.log(await r.json());

参数

datestring
单日 YYYY-MM-DD;留空则看 year/start+end,都空=当月
startstring
区间起始日 YYYY-MM-DD(与 end 配对)
endstring
区间结束日 YYYY-MM-DD(与 start 配对)
yearstring
整年,如 2026(与 date/start+end 三选一)
trading_onlyboolean
true=只返回开市日
limitinteger
返回行数上限(0=按范围自动:单日/当月不补,年/区间补满 400)
offsetinteger
跳过前 N 行(翻页用)
返回

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

要把它接进 AI Agent?

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

← 返回完整端点清单