ashareapi A股数据

通过清晰的认证、字段含义、SDK 和速率限制指南,实用地访问33个A股数据端点。

ashareapi
2026年10月10日
0 收藏
63 下载

安装与下载

1 ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install ashareapi

2 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/
工作区 {'/skills/'}

优先级:工作区 › 全局 › 内置

3 提示词安装

将此提示词复制到 Openclaw 即可自动安装。

请帮我使用 Clawhub 安装 skill-ashareapi。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

更倾向于下载?

获取包含原生技能文件的ZIP压缩包。

下载技能 (.zip)

基本信息

名称 ashareapi A股数据
Slug ashareapi
创建者 ashareapi
创建时间 2026-10-10 05:36:29
更新时间 2026-10-10 05:36:29
收藏数 0
使用量 63
浏览量 5

安装指南

  1. ClawHub CLI 从源直接安装技能的最快方式。
    npx clawhub@latest install ashareapi
  2. 手动安装 将技能文件夹复制到以下位置之一
    全局模式
    ~/.openclaw/skills/
    工作区
    /skills/
    优先级:工作区 > 本地 > 内置
  3. 提示词安装 将此提示词复制到 OpenClaw 即可自动安装。
    请帮我使用 Clawhub 安装 ashareapi。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
    更倾向于下载?
    获取包含原生技能文件的ZIP压缩包。
    下载技能 (.zip)

什么是

ashareapi 是一项 Openclaw 技能,可帮助 AI 编程代理通过33个 HTTP 端点检索和处理中国A股市场数据。涵盖行情、K线、盘口、财务报表、资金流、龙虎榜数据、板块、可转债、ETF、筛选、宏观指标和产业链。五个市场数据端点无需 API 密钥即可使用;其他数据则需要密钥。
这项技能将端点选择和集成细节转化为开发者可实际使用的指南:说明请求参数、响应结构、单位、日期含义、认证、错误和速率限制。提供官方 Python 和 Node.js SDK。数据仅供研究和参考,不构成投资建议。

应用场景

查询A股个股的当前行情、交易活动或历史日线、周线和月线K线。
使用市场概览、热门股票、盘口快照和涨跌分布构建市场仪表板。
获取财务报表、资金流、股东信息、技术指标或龙虎榜数据。
探索板块轮动、ETF、可转债、IPO、宏观经济指标和产业链关系。
使用多因子表达式或22种预设方案筛选股票。
使用官方 SDK 或 REST API,将A股数据获取功能集成到 Python 或 Node.js 应用中。
排查认证错误、空结果、上游故障和匿名请求速率限制。

工作原理

确认所需数据,并根据任务到端点指南选择对应端点。
检查端点是免费还是需要 API 密钥。包括行情和K线在内的五个端点无需密钥即可使用;付费端点使用 Bearer 令牌认证。
直接向 https://api.ashareapi.com/v1/... 发送请求,或调用相应的 Python 或 Node.js SDK 方法。
检查响应封装,并根据 data 负载的结构处理数据:对象数组、表格列表、多分区结构或 Markdown 文本。部分工具端点不包含 data。
根据文档说明的单位和日期含义解读数值。例如,volume 的单位是手,amount 的单位是元,百分比字段以百分点表示。
妥善处理错误和限制:区分 ok:false 与有效的空结果,对临时上游故障进行重试,并在适当情况下使用 API 密钥或支持的工作量证明挑战。
查阅端点、字段、错误和 SDK 参考文档,了解确切参数、响应字段和实现细节。

配置指南

从 ashareapi 技能页面下载软件包,将其解压到代理的技能目录,然后重启客户端,即可安装该技能。支持的示例目录包括 .claude/skills/、.agents/skills/ 和 .opencode/skills/。

从以下地址下载技能软件包:

https://ashareapi.com/skill

将下载的压缩包解压到代理的技能目录,

然后重启客户端。

进行应用开发时,请为首选语言安装官方 SDK:

Python

pip install ashareapi
pip install "ashareapi[pandas]" # 可选的 DataFrame 支持

Node.js / TypeScript(需要 Node.js 18 或更高版本)

npm install ashareapi
免费端点无需密钥即可使用。付费端点可从 https://ashareapi.com/pricing 获取密钥,并在 REST 请求中将其作为 Authorization: Bearer 传入,或在初始化 SDK 时提供密钥。例如,Python 使用 AShareAPI("ct-your-key");Node.js 使用 new AShareAPI({ apiKey: "ct-your-key" })。该技能当前文档版本为 0.2.7;验证已安装的参考文件是否为最新版本时,请检查其元数据和端点数量。

数据架构

API 使用基础 URL https://api.ashareapi.com/v1/,并提供33个端点。其响应封装通常为 {ok, endpoint, tier, elapsed_ms, source, data},但 /v1/health、/v1/challenge 和 /v1/usage 不包含 data。
数据类别 代表性端点 说明
行情和市场活动 /quote、/kline、/minute、/orderbook、/snapshot 行情和日线/周线/月线K线免费;分钟级数据为付费内容。
全市场视图 /hot、/market-overview、/changedist 包括热门股票、市场摘要和当前涨跌分布。
公司和交易数据 /finance、/fund、/lhb、/technical、/shareholder、/chip 涵盖报表、资金活动、交易榜单、指标、持有人和筹码数据。
证券和事件 /sector、/bond、/etf、/ipo、/dividend、/events、/calendar 包括板块数据、可转债、基金、上市、股息和公司事件。
研究和发现 /dehydrated、/macro、/industry-chain、/screen、/search、/profile 支持报告摘要、宏观数据、产业关系、筛选和公司查询。
其他交易和服务数据 /margin-trade、/block-trade、/usage、/health、/challenge 包括融资融券、大宗交易、使用信息、健康检查和工作量证明挑战。
关键解读规则:volume 以手为单位(乘以100即可换算为股);amount 的单位是元;instBuyRate: 20 这类百分比数值表示20%,而不是0.2。数值金额可能以字符串形式返回,因此在进行算术运算前应先转换。使用返回的 date 确定交易日期;节假日不会成为新的数据日期。K线已由服务器预先复权,不应再次复权。详细参数和字段定义见 references/endpoints.md 和 references/fields.md。

高级特性

提供包含33个端点的 REST API,以及对应的官方 Python 和 Node.js SDK 方法;Python 可选择返回 pandas DataFrame。
支持五个无需密钥的市场数据端点;付费端点使用 Bearer API 密钥进行认证。
接受常见股票代码格式,例如
sh600667
、 600667.SH ,并自动进行规范化。
提供多因子表达式或22种预设方案进行股票筛选,包括
low_pe
等示例。
说明多种响应负载结构,并提醒可选的
structured
tables
字段并非每个端点都会返回。
说明匿名使用限制:每次请求最多250行,每天最多100,000行。工作量证明挑战可以提高每分钟请求额度,但不会增加每日行数限制。
区分临时上游故障(
ok:false
,不扣除使用额度)和成功请求但确实没有数据的情况,并提供针对401、429和5xx响应的处理指南。
提供专门的参考文件,介绍端点参数、字段含义、错误与限制以及 SDK 用法;技能文档可以独立于 API 服务更新。
仅提供研究数据访问和计算指南;不会生成投资建议。


name: ashareapi description: 用 ashareapi 获取 A 股数据:行情 / K线 / 财务三表 / 资金流 / 龙虎榜 / 板块 / 可转债 / 因子选股 / 宏观 / 产业链。当用户要查 A 股现价、K线走势、财报(营收净利毛利率)、主力资金、龙虎榜(机构/游资)、涨停、板块轮动、可转债条款(强赎/双低)、ETF、新股打新、指数估值、产业链上下游,或要写调用 A 股数据的代码、接 REST API / 官方 SDK(Python:pip install ashareapi · Node.js:npm install ashareapi)时使用。含 33 个端点的参数与字段语义、单位换算(volume 是手 / amount 是元 / 比率为百分数)、数据日期语义、常见错误与限流处理(匿名 5 次/分、单次 250 条、每天 10 万条;解一次 PoW 挑战提到 15 次/分,每日条数不变)。 license: MIT metadata: version: "0.2.7" updated: "2026-10-06" homepage: "https://ashareapi.com" docs: "https://ashareapi.com/docs" endpoints: "https://ashareapi.com/endpoints" changelog: "https://ashareapi.com/changelog" ashareapi — A 股数据 API

33 个 HTTP 端点(https://api.ashareapi.com/v1/...),覆盖行情 / K线 / 五档盘口 / 财务 / 资金 / 龙虎榜 / 板块 / 转债 / 选股 / 宏观 / 产业链。 5 个端点无需 Key(装上就能调),其余需要 Key(¥9.9 起)。另有官方 SDK:Python pip install ashareapi · Node.js / TypeScript npm install ashareapi。

一、先判断:这个任务要不要 Key
任务 免费端点够不够
现价 / K线 / 热搜 / 市场总览 / 涨跌分布 ✅ 够,无需 Key(先试这个)
财报 / 资金流 / 龙虎榜 / 板块 / 转债 / 选股 / 宏观 … ❌ 需要 Key(Authorization: Bearer )

免费 5 个:/v1/quote(行情)· /v1/kline(K线)· /v1/hot(热搜)· /v1/market-overview(大盘画像)· /v1/changedist(涨跌分布) 工具端点(也免 Key):/v1/health(健康检查)· /v1/challenge(PoW 提额)

二、免费端点:直接调(无需任何鉴权)

# 行情:现价 / 开高低 / 成交量 / 换手率
curl "https://api.ashareapi.com/v1/quote?code=sh600667"
# K线(日/周/月)
curl "https://api.ashareapi.com/v1/kline?code=sh600667&period=day&count=5"
# 热搜榜
curl "https://api.ashareapi.com/v1/hot?limit=10"
Python:

import requests

r = requests.get("https://api.ashareapi.com/v1/quote",
params={"code": "sh600667"}, timeout=10)
body = r.json()

if not body.get("ok"):

raise RuntimeError(body) # 上游取数失败(已自动换源,且不扣次数)
bar = body["data"][0] # 最新一根(当日实时)
print(bar["date"], bar["last"], bar["turnover"])

三、带 Key 调用

curl -H "Authorization: Bearer ct-你的Key" \

"https://api.ashareapi.com/v1/fund?code=sh600667"

Key 从 https://ashareapi.com/pricing 获取。401 = 没带 Key 调了付费端点。

四、按任务找端点(决策树)
用户想要 用这个端点 备注
现价 / 开高低 / 换手 /v1/quote 免费
封单多少 / 买盘卖盘 / 盘口 / 挂单 /v1/orderbook 五档盘口(买五卖五·秒级快照·盘中才有意义·量单位=手)
估值 / PE / PB / 市值 / 股本 / 涨停价 /v1/snapshot 全字段画像(仅A股·付费·要多项时比分别调更省次数)
走势 / 历史 K线 /v1/kline 日/周/月/季/年免费;分钟线 m1~m120 付费(窗口近 1 个月)。复权口径由服务端固定:日线及以上前复权(除权除息日不跳空),分钟线不复权 ——不要再自己复权(会二次复权)
分时(盘中每分钟价+累计量) /v1/minute 付费;days 只有 1(当日)和 5(近 5 日)两档。⚠️ 与上面「分钟 K 线」不是一回事
什么股票热门 /v1/hot 免费
大盘怎么样 / 风格轮动 / 估值分位 /v1/market-overview 免费;type 选 summary/trade/interval/technical/margin/valuation/rotation
涨跌家数 / 涨停家数 / 市场广度 /v1/changedist 免费;当期口径(别用 market-overview?type=updown,那是 T-1)
财报 / 营收 / 净利润 / 毛利率 /v1/finance 三表
主力资金 / 资金流 / 龙虎榜 / 大宗 / 两融 /v1/fund 一个接口拿全交易面(优先用)
龙虎榜分榜(机构 / 游资 / 席位) /v1/lhb type=institution/hotmoney/activeseat
技术面 / MACD / KDJ / RSI / BOLL /v1/technical
谁在持有 / 股东户数 / 机构持仓 /v1/shareholder
筹码 / 套牢盘 / 成本分布 /v1/chip
板块涨幅榜 / 轮动 /v1/sector
某板块贵不贵 / 估值分位 /v1/sector-valuation code=pt01801780 形式
可转债 / 强赎 / 双低 / 溢价 /v1/bond code=sh113052 形式
ETF /v1/etf code=sh510300
新股 / 打新 /v1/ipo
分红送转 /v1/dividend
个股事件(42 类)/ 解禁 / 回购 /v1/events
个股事件日历(某日有什么事件) /v1/calendar 不是宏观日历(宏观用 /v1/macro)
研报 / 机构观点 /v1/dehydrated mode=list/detail
宏观 / LPR / CPI / GDP /v1/macro region=cn/us/...
产业链 / 上下游 / 某公司链上位置 /v1/industry-chain mode=list/graph/stock
筛选股票 / 低估高 ROE /v1/screen expr 多因子交集 或 preset(22 个预设)
只知道名字,要代码 /v1/search 先搜代码再查数据
公司是做什么的 /v1/profile
融资融券 /v1/margin-trade code 必填(支持批量)
大宗交易 /v1/block-trade
我的用量 / 额度 /v1/usage

完整参数与返回字段 → 读 references/endpoints.md。

五、四个必知语义(最常踩的坑)

单位不统一,先看清

volume 是手(×100 = 股)· amount 是元(不是万元)
比率字段是百分数:instBuyRate: 20 表示 20%(不是 0.2)
金额有时以字符串返回("135160431.2")→ 先 float() 再算,否则 + 会拼字符串

数据日期语义:休市日不会变成"今天"。看返回里的 date 字段判断数据属于哪个交易日(quote 的最新一根就是当日实时)。

返回结构:data 是主载荷,形状有 4 种(统一信封 {ok, endpoint, tier, elapsed_ms, source, data})

data 可能是:对象数组(多数端点)/ 表列表(finance)/ 多段结构(shareholder·calendar)/ Markdown 文本(bond·sector 等 9 个)
⚠️ structured / tables 是【条件字段】—— 不是每个端点都有:只有 data 是 Markdown 时才附 ⇒ 代码里一律写 body.get("structured");写 body["structured"] 在 quote/kline/finance 上会 KeyError
⚠️ /v1/health · /v1/challenge · /v1/usage 信封没有 data
四种形状怎么判别 + 通吃写法 → references/endpoints.md §返回形态

ok:false 不等于"我们写错了":那是上游取数失败(我们已自动换源,不扣调用次数)→ 重试一次通常就好。空结果(如当天没大宗交易)与"失败"是两件事。

六、错误与限流
现象 含义 怎么办 401 没带 Key 调了付费端点 拿 Key,或改用 5 个免费端点 429 超出限额(匿名:每分钟次数 或 当天条数) 次数超 → 降频,或解一次 PoW 挑战提到 15 次/分(见下);条数超 → 解 PoW 无效,次日恢复,或用 Key ok:false 上游取数失败(已自动换源) 不扣次数,重试一次 200 但 data 为空 当前确实没有这类数据(如当天无大宗交易) 换条件 / 稍后再试,不是故障 5xx 重试耗尽 稍后再试

匿名提额(PoW):

# 1) 拿挑战
curl "https://api.ashareapi.com/v1/challenge"
# → {challenge, difficulty, expires_in, how_to}
# 2) 算 nonce(sha256(challenge.nonce) 前 difficulty 位为 0),然后:
curl -H "X-PoW: ." "https://api.ashareapi.com/v1/quote?code=sh600667"

⚠️ PoW 只提升每分钟次数,不提升每日条数 —— 匿名每天仍最多 10 万条;批量补历史/回测请用 Key。

详细错误语义 → 读 references/errors.md。

七、要写代码?用官方 SDK(Python / Node.js)

Python:
pip install ashareapi # 基础(返回 list[dict])
pip install "ashareapi[pandas]" # 加 DataFrame 支持(推荐)

from ashareapi import AShareAPI

cli = AShareAPI() # 免费端点无需 Key
df = cli.quote("sh600667") # → DataFrame
print(df[["date", "last", "turnover"]])

cli = AShareAPI("ct-你的Key") # 付费端点
print(cli.fund("sh600667")) # 资金流 + 龙虎榜 + 大宗 + 两融
print(cli.screen(preset="low_pe", limit=10))

Node.js / TypeScript:

npm install ashareapi # 零运行时依赖(原生 fetch,需 Node ≥ 18)

import { AShareAPI } from "ashareapi";

const cli = new AShareAPI(); // 免费端点无需 Key
const bars = await cli.quote("sh600667"); // → 对象数组
console.log(bars[0].last);

const paid = new AShareAPI({ apiKey: "ct-你的Key" });
console.log(await paid.screen("", "low_pe", 10, "ROETTM"));

两个 SDK 同 33 个方法 / 同 5 类异常 / 同重试策略;差异只是语言惯例: Python 用 snake_case 且返回 DataFrame,Node 用 camelCase(也认 snake_case 别名)且全部返回 Promise。

代码格式随便写:sh600667 / 600667.SH / 600667 都认(自动归一化)。 33 个端点 = 33 个方法(/v1/margin-trade → Python margin_trade() / Node marginTrade())。

完整用法与 5 类异常 → 读 references/sdk.md。

八、详细参考(按需读取,不要一次全读)
文件 什么时候读
references/endpoints.md 要确认某端点的完整参数 / 返回字段
references/fields.md 要算数(单位换算、字段含义、字符串数字)
references/errors.md 遇到 401/429/ok:false/空结果,或要处理限流
references/sdk.md 用户要写 Python / Node.js 代码或问 SDK

边界(诚实):

K 线只提供日/周/月,没有分钟级
新闻/公告全文不在 API 范围(有 dehydrated 研报摘要、events 事件标签、calendar 事件日历)
数据仅供研究参考,不构成投资建议 —— 本 skill 只讲怎么取数与计算,不给买卖建议
九、本 skill 版本

当前版本:0.2.7(2026-10-06)

本版更新:

错误与限流:补充匿名额度口径 —— 单次最多 250 条、每天最多 10 万条;并区分两种 429(每分钟次数超 → 可解一次 PoW 挑战提额;当天条数超 → 解 PoW 无效,次日恢复或用 Key)。
修正 frontmatter 语法:此前会导致部分客户端读不到技能描述(技能无法被自动识别),现已修正。
怎么知道该更新

本 skill 是随 API 演进的快照 —— 每次新增端点/字段,references/ 里的清单会同步但你手上装的可能还是旧版。判断方法:

检查 说明