指数成分股(沪深300 等 · 全量清单) API
⭐ 指数成分股全量清单(一次给全,不受条数上限)。实测 sh000300 → 300 只;字段 code / name / IndexName。 用途:① ETF 底层持仓的近似(ETF 按跟踪指数权重复制 ⇒ 成分股 ≈ 它持有什么);② 指数轮动 / 调入调出研究;③ 指数增强的股票池。 常用指数代码:sh000300 沪深300 · sh000016 上证50 · sh000905 中证500 · sh000852 中证1000 · sh000688 科创50 · sz399006 创业板指 · sz399001 深证成指 · hkHSI 恒生指数 · hkHSCEI 恒生国企指数。 ⚠️ 支持港股指数(hkHSI / hkHSCEI;恒指成分股可直接用于港股研究)—— 上游 Markets 含港股指数。 ⚠️ 只有「有谁、叫什么」,没有权重 —— 权重请用 /v1/etf?kind=持仓(Top20 带权重)与 kind=详情 的 top20Ratio(前 20 合计占比)。 ⚠️ 与 ETF「申赎清单」不是一回事:申赎清单(PCG)是基金公司每日公布、含权重与现金替代标志;本端点给的是指数编制方的成分名单,两者成分大体一致但口径不同,⛔ 不要当成申赎清单。 ⚠️ 只接受指数代码(sh000xxx / sz399xxx / hk*);传个股或 ETF 会 422 —— 上游对非指数代码只回一句英文 service error,客户看不懂,所以在参数层拦住。 ⚠️ 静态档案(成分随调仓变化),缓存 1 小时;属标准版(¥29.9)及以上。
GET /v1/index-constituentGET /v1/index-constituent?code=sh600667curl "https://api.ashareapi.com/v1/index-constituent?code=sh600667&key=YOUR_KEY"code *带 * 为必填快速开始
把下面的代码里的 Key 换成你的(免费端点无需 Key,直接调):
# 推荐:Authorization 头(密钥不进日志)
curl -H "Authorization: Bearer YOUR_KEY" \
"https://api.ashareapi.com/v1/index-constituent?code=sh600667"
# 快速测试:直接浏览器打开(?key= 会留在日志/历史里,别用于生产)
curl "https://api.ashareapi.com/v1/index-constituent?code=sh600667&key=YOUR_KEY"import requests
r = requests.get(
"https://api.ashareapi.com/v1/index-constituent",
headers={"Authorization": "Bearer YOUR_KEY"},
params={"code": "sh600667"},
timeout=30,
)
print(r.json())const r = await fetch("https://api.ashareapi.com/v1/index-constituent?code=sh600667", {
headers: { Authorization: "Bearer YOUR_KEY" },
});
console.log(await r.json());参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 指数代码:sh000300 / sh000016 / sh000905 / sz399006 / hkHSI |
codestring是返回字段
下表由线上真实调用采集(非文档推断):每行是响应里的字段名、类型和一条真实样例值,用来对齐解析代码。
structured统一信封: ok / endpoint / tier / elapsed_ms / source取样日: 2026-10-20| 字段 | 类型 | 真实样例值 |
|---|---|---|
| code | str | sz002594 |
| name | str | 比亚迪 |
| IndexName | str | 沪深300 |
统一返回信封: { ok, endpoint, tier, elapsed_ms, source, data }
数据在 data 字段;上游为空时 ok:false 且不扣次数。
免费端点无需 Key(匿名 5 次/分,解一次 PoW 可到 15 次/分;每次最多 250 根 K 线、每天最多 10 万条)。付费端点按档位限流:体验 30 · 标准 120 · 专业 300 · 不限量 600 次/分;买断档按总量计(不用完不过期)。
看错误码对照表 →常见问题
通用问题(所有端点通用)
免费端点不需要: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 是单值参数,一次一只;批量请并发调用(注意各自档位的每分钟限流)。
配一次 MCP 即可,之后直接问 AI「查一下……」它会自己调。MCP 暴露 65 个工具,覆盖行情 / 财务 / 选股 / 板块 / 宏观。