指数搜索

公开接口

指数行情 Index · 指数搜索

按关键词搜索指数,结果按匹配相关度排序,适合输入框实时联想。关键词同时匹配指数名称、裸码与全码。

接口地址

GET /cn/index/search
完整地址:https://api.databull.cn/cn/index/search

接口说明

按关键词搜索指数,按**匹配相关度**排序返回,适合输入框实时联想。

相关度优先级:裸码 / 全码完全相等 > 裸码前缀 > 名称前缀 > 名称包含 > 代码包含。因此搜 000300 时「沪深300」排第一,而不是被一堆恰好含该串的指数淹没。

keyword 为必填,同时匹配指数名称、裸码(000300)与全码(000300.SH),大小写不敏感;% 与 _ 会被转义,不会被当成通配符。

请求参数

参数位置类型必填默认说明
keyword查询string是—搜索关键词(必填):指数名称、裸码或全码,如 沪深300 / 000300 / 000300.SH
limit查询integer否20返回条数上限,1~100;取值 1~100
market查询string否市场过滤:SSE / SZSE / CSI / SW;留空表示不限

返回字段

字段类型说明
codenumber业务状态码,0 表示成功
dataarray命中的指数记录数组,字段同指数列表
empty_reasonstring仅当没搜到任何指数时出现,固定为 no_match

接口示例

cURL
curl "https://api.databull.cn/cn/index/search?keyword=沪深300" \
  -H "Authorization: Bearer $DATABULL_API_KEY"
Python
import requests

url = "https://api.databull.cn/cn/index/search"
params = {
    "keyword": "沪深300",
}
headers = {"Authorization": "Bearer YOUR_API_KEY"}

resp = requests.get(url, params=params, headers=headers, timeout=10)
resp.raise_for_status()
print(resp.json())

响应示例

JSON
{
  "code": 0,
  "data": [
    {
      "index_code": "000300.SH",
      "symbol": "000300",
      "name": "沪深300",
      "market": "SSE",
      "category": "规模指数",
      "constituent_count": 300,
      "constituents_date": "2026-08-31"
    },
    {
      "index_code": "000300.SZ",
      "symbol": "000300",
      "name": "沪深300指数",
      "market": "SZSE",
      "category": "规模指数",
      "constituent_count": 0,
      "constituents_date": null
    }
  ]
}

错误码

状态码触发条件
401缺少或无效 API 凭证
422keyword 未传或为空字符串

说明

  • keyword 为必填,接受指数名称(沪深300)、裸码(000300)或全码(000300.SH),大小写不敏感。
  • 相关度优先级:裸码 / 全码完全相等 > 裸码前缀 > 名称前缀 > 名称包含 > 代码包含。所以搜 000300 时「沪深300」排第一,不会被一堆恰好含该串的指数淹没。
  • % 与 _ 会被转义——搜 % 不会返回全部指数。
  • 与指数列表的区别:本接口按相关度排序并有条数上限,适合联想;需要稳定分页浏览时用列表接口。