出错先看这里
错误码
大部分问题能自己解决。解决不了的,把 endpoint + code + 时间发我们。
401API Key 无效可能原因
- Key 拼写错误(注意大小写,形如 ct-xxxxxxxx)
- Key 已被禁用(转卖判定 / 手动停用)
- 没带 Key 却调了付费端点
- Key 用法写错:用 URL 参数时漏了 ?key= / &key=;用请求头时漏了 Bearer 前缀
怎么办
核对 Key;免费端点(quote / kline / hot / market-overview / changedist / health)无需 Key
403本 Key 今日已用过 N 个不同 IP(超出上限)可能原因
- 一个 Key 被多人共用(转卖)
- 正常使用但换了网络(出差 / 手机热点 / 动态 IP / 代理)
- 同一局域网出口 IP 变化(少见)
怎么办
正常使用被误拦 → 联系客服重置;共用请各自购买
429超出频率限制(每分钟调用数 或 当天条数)可能原因
- 短时间并发过高(循环里没加间隔)
- 匿名调用:超过 5 次/分,或当天数据条数用尽
- 用了旧版 Python SDK(< 0.2.1):429 会把 1 次调用重试成 3 次,越试越撞
怎么办
匿名(无 Key):限 5 次/分 · 单次最多 250 条 · 每天最多 10 万条(按 IP)—— 建议轮询间隔 ≥12 秒;解一次 PoW 挑战(https://ashareapi.com/v1/challenge)可提到 15 次/分(每日条数不变)。若提示是「每日额度已用完」⇒ 解 PoW 无效,次日恢复或配 Key。带 Key:体验 30 · 标准 120 · 专业 300 · 机构版 600 次/分。Python SDK 用户:请 pip install -U ashareapi(0.2.1 已修重试放大)。
200 + ok:false数据源取数失败(data 为空)可能原因
- 数据源数据源暂时不可用
- 代码传了不存在的股票代码
- 数据源接口改版
怎么办
多源会自动切换;这类请求不扣次数;若持续失败,把 endpoint + code + 时间发我们
422参数格式错误 / 匿名单次标的数超限可能原因
- code 没带市场前缀(应 sh600667 而非 600667)
- 日期格式不对(应 YYYY-MM-DD)
- required 参数缺失
- 匿名调用单次超过 5 只标的(/v1/kline · /v1/quote)—— 响应含 max_codes 与 requested_codes
怎么办
对照端点清单的参数表;匿名批量取数请申请 API Key(https://ashareapi.com/pricing),带 Key 不限标的数
参数约定
| code 带市场前缀 | sh600667(沪)· sz000001(深)· hk00700(港)· usAAPL(美)· sh113052(沪转债)· sz123138(深转债) |
| 日期格式 | YYYY-MM-DD(如 2026-09-16);留空 = 最近交易日 |
| 布尔值 | true / false(小写) |
| 返回信封 | 统一 { ok, endpoint, tier, elapsed_ms, source, data } |
自助排查顺序
1先看状态码 —— 对照本页
2再确认参数 —— 对照端点清单的参数表(code 有没有前缀?日期格式对不对?)
3用免费端点验证 Key 链路 —— /v1/quote?code=sh600667
4最后才找我们 —— 附上完整请求 URL(Key 打码)+ 返回内容 + 时间