A股 · 港股 · 美股 — 个人全球证券名称索引,便于量化研究与 Agent 助手调用
| 标的 ID | 代码 | 名称 | 市场 | 类型 | 板块 | 交易所 | 行业 |
|---|---|---|---|---|---|---|---|
| 加载中… | |||||||
StockIndex 公开 REST API,基础路径 /api/v1。除管理接口外均无需鉴权,返回 JSON。数据仅供学习研究,不构成投资建议。
| 项 | 说明 |
|---|---|
| Base URL | /api/v1(亦兼容无前缀路径如 /search) |
| OpenAPI | /openapi/ · openapi.yaml |
| Method | 公开接口均为 GET;同步为 GET / POST |
| Content-Type | 响应 application/json; charset=utf-8 |
| CORS | 允许跨域 * |
| 分页 | page 从 1 起;pageSize / limit 最大 100 |
| 市场 | CN A股 · HK 港股 · US 美股 |
| 资产类型 | equity 股票 · etf A股 ETF/LOF |
格式 {MARKET}:{VENUE}.{CODE},全局唯一,推荐作为持久化主键。
| 市场 | 示例 | 说明 |
|---|---|---|
| A股 | CN:SH.600519 | venue = SH / SZ / BJ |
| 港股 | HK:HK.00700 | 5 位代码 |
| 美股 | US:OQ.AAPL | venue = OQ / N / AM / A |
| 字段 | 类型 | 说明 |
|---|---|---|
instrumentId | string | 统一标的 ID |
market | string | CN / HK / US |
code | string | 裸代码(A股 6 位、港股 5 位、美股 ticker) |
symbol | string | 行情源代码,如 sh600519、hk00700、usAAPL.OQ |
nameCn | string | 中文名称 |
assetType | string | equity 或 etf |
exchange | string | 交易所/venue 简写 |
board | string | 主板块 key |
boards | string[] | 所属全部板块 key |
industryCode | string|null | 申万行业代码(A股) |
industryName | string|null | 行业名称 |
matchField | string | 搜索命中字段(仅 /search) |
score | number | 搜索相关度(仅 /search) |
在列表项基础上增加 status(active/inactive)、source(数据来源)、updatedAt(ISO 8601 更新时间)。
| market | boardKey | 名称 |
|---|---|---|
| CN | etf | A股 ETF/LOF |
| CN | hsj | 沪深京 A 股 |
| CN | cyb | 创业板 |
| CN | kcb | 科创板 |
| HK | MB | 港股主板 |
| HK | GEM | 港股创业板 |
| HK | AH | AH 股 |
| HK | MBHSCEI | 主板国企股 |
| HK | MBHSCCI | 主板红筹股 |
| US | tec | 美股科技股 |
| US | cdr | 中概股 |
行业代码格式为腾讯申万板块码,如 pt01801120;可通过 /industries 获取完整列表。
按代码查询单条标的详情。以下参数至少传一个:
| 参数 | 必填 | 说明 |
|---|---|---|
code | 三选一 | 裸代码或带前缀(600519、sh600519、00700、AAPL) |
instrumentId | 三选一 | 统一 ID,别名 id |
symbol | 三选一 | 行情 symbol,如 sh600519 |
market | 否 | CN / HK / US;代码跨市场冲突时建议必填 |
GET /api/v1/stock?code=600519&market=CN GET /api/v1/stock?instrumentId=CN:SH.600519 GET /api/v1/stock?symbol=sh600519 GET /api/v1/stock?code=00700&market=HK
分页列表,支持市场 / 板块 / 行业 / 类型 / 关键词组合筛选。
| 参数 | 默认 | 说明 |
|---|---|---|
page | 1 | 页码 |
pageSize | 50 | 每页条数,最大 100(别名 limit) |
market | — | CN / HK / US |
board | — | 板块 key,见上表 |
industry | — | 行业代码 |
assetType | — | equity / etf(别名 type) |
q | — | 名称或代码关键词 |
GET /api/v1/stocks?market=CN&board=cyb&page=1&pageSize=50 GET /api/v1/stocks?market=CN&industry=pt01801120&q=茅台
响应:{ page, pageSize, total, totalPages, items[] }
库中统一 assetType: "etf",含 ETF 与 LOF。代码段:沪市 51/52/56/58、深市 159、LOF 16 开头。
A 股 ETF/LOF 专用分页列表(等价于 market=CN&assetType=etf)。
| 参数 | 默认 | 说明 |
|---|---|---|
page / pageSize | 1 / 50 | 分页 |
q | — | 名称或代码关键词,如「红利」「510300」 |
GET /api/v1/etfs?page=1&pageSize=50&q=红利 GET /api/v1/etfs?q=510300
板块目录列表。
| 参数 | 说明 |
|---|---|
market | 按市场筛选 CN / HK / US |
withCount=1 | 附加 stockCount 成分股数量 |
GET /api/v1/boards?market=CN&withCount=1
单个板块详情(含 stockCount)。
| 参数 | 必填 | 说明 |
|---|---|---|
board | 是 | 板块 key(别名 key) |
market | 否 | 建议指定,避免 key 歧义 |
GET /api/v1/boards/detail?board=cyb&market=CN
板块成分股分页列表,响应含 board 详情对象。
| 参数 | 必填 | 说明 |
|---|---|---|
board | 是 | 板块 key |
market | 否 | 市场 |
page / pageSize | 否 | 分页,默认 1 / 50 |
q | 否 | 板块内关键词筛选 |
assetType | 否 | equity / etf |
GET /api/v1/boards/stocks?board=cyb&market=CN&page=1&pageSize=50
行业目录;withCount=1 或指定 parent 时返回 stockCount。
| 参数 | 说明 |
|---|---|
market | 默认 CN;当前行业数据为 A 股申万分类 |
level | 1 = 一级行业,2 = 二级行业 |
q | 行业名称关键词 |
parent | 一级行业 code,筛其下二级(别名 parentCode) |
withCount=1 | 返回 stockCount、parentName |
GET /api/v1/industries?market=CN&level=1&withCount=1 GET /api/v1/industries?market=CN&level=2&parent=pt01801120&q=银行
单个行业详情。
GET /api/v1/industries/detail?code=pt01801120
行业成分股分页,响应含 industry 详情对象。
| 参数 | 必填 | 说明 |
|---|---|---|
code | 是 | 行业代码(别名 industry) |
page / pageSize | 否 | 分页 |
q | 否 | 成分股内关键词 |
GET /api/v1/industries/stocks?code=pt01801120&page=1&pageSize=50
模糊搜索代码、名称、instrumentId;按相关度排序。
| 参数 | 默认 | 说明 |
|---|---|---|
q / query | — | 搜索词;为空且指定 industry 时返回行业成分 |
limit | 20 | 最大 100 |
market | — | 市场筛选 |
board | — | 板块筛选 |
industry | — | 行业筛选 |
assetType | — | equity / etf |
GET /api/v1/search?q=茅台&market=CN&limit=10 GET /api/v1/search?q=510300&assetType=etf GET /api/v1/search?q=CN:SH.600519
响应:{ query, total, items[] },items 含 matchField 与 score。
服务状态、支持的市场/板块、接口索引。
各市场标的数量、ETF 数、行业数、最后同步时间。
GET /api/v1/stats
→ { ok, stocks: { CN, HK, US }, etfs, industries, boards, lastSync }
Header:Authorization: Bearer <SYNC_ADMIN_TOKEN>,或 query ?token=...
触发或继续数据同步任务(亦支持 GET)。
| 参数 | 说明 |
|---|---|
mode | full / incremental / market(默认 incremental) |
market | 指定 mode=market 时的 CN / HK / US |
force=true | 取消进行中的任务并重新开始 |
cancel=true | 取消进行中的任务 |
continue=true | 继续指定 jobId 的任务 |
jobId | 继续/指定任务 ID |
enrichIndustry=false | 跳过 A 股行业映射(加快速度) |
POST /api/v1/admin/sync?mode=full&force=true POST /api/v1/admin/sync?cancel=true
| HTTP | 场景 | 示例 |
|---|---|---|
| 400 | 缺少必填参数 | { "error": "board is required" } |
| 404 | 资源不存在 | { "error": "stock not found", ... } |
| 409 | 代码跨市场歧义 | { "error": "ambiguous code...", "candidates": [...] } |
| 401 | 管理接口鉴权失败 | { "error": "Unauthorized..." } |
| 500 | 服务端异常 | { "error": "..." } |
{
"item": {
"instrumentId": "CN:SH.600519",
"market": "CN",
"code": "600519",
"symbol": "sh600519",
"nameCn": "贵州茅台",
"assetType": "equity",
"exchange": "SH",
"board": "hsj",
"boards": ["hsj"],
"industryCode": "pt01801120",
"industryName": "食品饮料",
"status": "active",
"source": "tencent_cn_rank",
"updatedAt": "2026-07-08T06:09:00.915Z"
}
}
{
"total": 4,
"items": [{
"market": "CN",
"boardKey": "cyb",
"boardCode": "cyb",
"name": "创业板",
"priority": 20,
"stockCount": 1345
}]
}
{
"industry": {
"market": "CN",
"industryCode": "pt01801120",
"name": "食品饮料",
"level": 1,
"stockCount": 126,
"parentCode": null,
"parentName": null
},
"page": 1,
"pageSize": 50,
"total": 126,
"totalPages": 3,
"items": [ /* SearchHit[] */ ]
}
{
"page": 1,
"pageSize": 50,
"total": 1168,
"totalPages": 24,
"items": [{
"instrumentId": "CN:SH.510300",
"market": "CN",
"code": "510300",
"symbol": "sh510300",
"nameCn": "沪深300ETF华泰柏瑞",
"assetType": "etf",
"exchange": "SH",
"board": "etf",
"boards": ["etf"],
"industryName": "ETF"
}]
}
stock-index-query 让 Agent 调用本服务,完成股票代码检索、板块/行业查询与 ETF 查找。你无需手动敲命令——复制下面整段话,粘贴到 Cursor Agent 对话里即可。