企业信息模糊查询 API(enterprise.query)

输入企业名称片段、工商注册号或统一社会信用代码,接口返回匹配的企业名称、工商注册号、 统一社会信用代码、企业类型(编码 + 中文)、成立日期与法定代表人。 接口编码 enterprise.query,仅需请求头携带 X-API-Key,无需签名、时间戳或加密。

0.0100 元/次 GET JSON / UTF-8 免签名 工商数据 查不到不收费

当前收费方式:PER_CALL(按次计费,0.0100 元/次)(后台「接口管理」可随时调整)

最后更新: · 接口版本 v1

接口概述

一句话说明

enterprise.query 用一个关键词模糊检索企业工商登记信息, 返回名称、注册号、统一社会信用代码、企业类型、成立日期与法定代表人。 平台侧完成上游数据源的对接与凭证管理,调用方只需要一个关键词 + 一个 X-API-Key, 并按查得计费付费:没有查出结果不产生费用。

接口规格
请求地址 https://api.xujian.tech/openapi/enterprise/query
请求方式 GET(keyword 放 Query String)
鉴权方式 请求头 X-API-Key(不做签名与加密)
接口编码 enterprise.query
收费类型 PER_CALL(按次计费,0.0100 元/次)
计费特殊规则 查得计费:关键词为空 / 超长、上游服务不可用、 未查询到任何匹配企业时,返回失败且不扣费、不写扣费流水
响应格式 JSON,Content-Type: application/json;charset=UTF-8
是否需要授权 否(无需授权,API Key 有效且余额充足即可调用)
关键词长度 2 ~ 50 个字符(建议 4 个字符以上的完整企业名称片段)
典型用途 开票信息自动补全、CRM 客户档案完善、供应商资质核验、风控 KYC 与反欺诈、市场调研与行业名单整理

快速开始

把 你的APIKey 换成控制台获取的 API Key,查询一个企业名称关键词:

cURL
curl -s -G "https://api.xujian.tech/openapi/enterprise/query" \
  --data-urlencode "keyword=重庆可乐家装饰" \
  -H "X-API-Key: 你的APIKey"

查询结果示例

输入「重庆可乐家装饰」,接口返回(节选):

  • name = 重庆可乐家装饰工程有限公司
  • regNo = 500113014353471(工商注册号)
  • creditNo = 91500113MAABRA7D0H(统一社会信用代码,可作开票税号)
  • type = 0、typeName = 企业
  • startDate = 2021-06-02、operName = 李伦智

请求参数

请求头(Header)
参数名 类型 必填 说明
X-API-Key String 是 开发者 API Key,在控制台创建后获取;缺失或无效会返回失败
业务参数(Query String)
参数名 类型 必填 示例 说明
keyword String 是 重庆可乐家装饰 查询关键词,可以是企业名称片段、工商注册号或统一社会信用代码。 长度 2 ~ 50 个字符,建议使用 4 个字符以上的完整名称片段以提高匹配率。 为空或超长时返回失败,不计费
limit Integer 否 10 期望返回条数,默认与系统上限一致(20 条);实际返回取 limit 与系统上限的较小值,结果按上游匹配度排序

响应参数

顶层字段
字段 类型 说明
code int 状态码,0 表示成功,非 0 表示失败(常见为 500)
msg String 结果描述,成功为 success,失败为具体原因
data Object 业务数据,失败时为 null
data 字段(仅对外字段,不含任何内部运维字段)
字段 类型 示例 说明
keyword String 重庆可乐家装饰 本次实际使用的查询关键词(已去除首尾空格)
total int 2 本次返回的企业条数
list Array […] 企业列表,按上游匹配度排序;字段见下表
apiCode String enterprise.query 接口编码
apiName String 企业信息模糊查询 接口名称
chargeType String PER_CALL 计费类型:FREE 免费 / PER_CALL 按次 / MONTHLY 按月 / YEARLY 按年(本接口后台配置为 PER_CALL)
balance BigDecimal 99.9900 调用完成后(已扣费)的账户余额(元)
costMs Long 260 本次调用耗时(毫秒);含转发上游数据源的耗时
list[] 企业对象字段(未取到时返回空字符串,不会是 null)
字段 类型 示例 说明
name String 重庆可乐家装饰工程有限公司 企业名称(工商登记全称)
regNo String 500113014353471 工商注册号
creditNo String 91500113MAABRA7D0H 统一社会信用代码(18 位),开票场景通常作为纳税人识别号使用
type String 0 企业类型编码:0 企业 / 4 社团 / 5 律师事务所 / 6 香港公司
typeName String 企业 企业类型中文名称;未覆盖的编码返回「其他」
startDate String 2021-06-02 成立日期,格式 YYYY-MM-DD
operName String 李伦智 法定代表人姓名

响应示例

成功(code = 0)—— 按企业名称片段查询

JSON
{
  "code": 0,
  "msg": "success",
  "data": {
    "keyword": "重庆可乐家装饰",
    "total": 1,
    "list": [
      {
        "name": "重庆可乐家装饰工程有限公司",
        "regNo": "500113014353471",
        "creditNo": "91500113MAABRA7D0H",
        "type": "0",
        "typeName": "企业",
        "startDate": "2021-06-02",
        "operName": "李伦智"
      }
    ],
    "apiCode": "enterprise.query",
    "apiName": "企业信息模糊查询",
    "chargeType": "PER_CALL",
    "balance": 99.9900,
    "costMs": 260
  }
}

成功(code = 0)—— 按统一社会信用代码查询,多条结果

JSON
{
  "code": 0,
  "msg": "success",
  "data": {
    "keyword": "91500113MAABRA7D0H",
    "total": 2,
    "list": [
      {
        "name": "重庆可乐家装饰工程有限公司",
        "regNo": "500113014353471",
        "creditNo": "91500113MAABRA7D0H",
        "type": "0",
        "typeName": "企业",
        "startDate": "2021-06-02",
        "operName": "李伦智"
      },
      {
        "name": "重庆某某科技有限公司",
        "regNo": "500113014353472",
        "creditNo": "91500113MAABRA7D1X",
        "type": "0",
        "typeName": "企业",
        "startDate": "2019-11-20",
        "operName": "王某某"
      }
    ],
    "apiCode": "enterprise.query",
    "apiName": "企业信息模糊查询",
    "chargeType": "PER_CALL",
    "balance": 99.9800,
    "costMs": 310
  }
}

失败(未查询到匹配企业)—— 不收费

JSON
{
  "code": 500,
  "msg": "未查询到匹配的企业信息,请更换更完整的企业名称 / 注册号 / 统一社会信用代码后重试;本次调用不计费",
  "data": null
}

错误码与常见失败原因

code msg(示例) 处理建议
0 success 调用成功
500 缺少请求头 X-API-Key 在请求头中补充 X-API-Key
500 API Key 无效 / API Key 已停用 检查 Key 是否正确,或在控制台重新启用
500 客户不存在或已停用 联系平台运营确认账号状态(可联系微信xujian_cq)
500 接口不存在或已停用 确认接口编码 enterprise.query 当前是否维护中
500 余额不足,请先充值。可联系微信xujian_cq 按次计费接口在调用前校验余额,余额不足时不扣费,充值后重试(可联系微信xujian_cq)
500 keyword 不能为空 补充 keyword 参数;不计费
500 keyword 至少需要 2 个字符(建议 4 个字符以上以提高匹配率) 使用更完整的企业名称片段;不计费
500 keyword 长度不能超过 50 个字符 缩短关键词;不计费
500 未查询到匹配的企业信息,请更换更完整的企业名称 / 注册号 / 统一社会信用代码后重试;本次调用不计费 换用更准确的关键词,或先做一次全称精确匹配;不计费
500 企业信息查询服务暂时不可用(请求上游超时或网络异常),本次调用不计费 稍后重试;不计费

多语言代码示例

Java(Hutool)

Java
String body = HttpRequest.get("https://api.xujian.tech/openapi/enterprise/query")
        .form("keyword", "重庆可乐家装饰")
        .header("X-API-Key", apiKey)
        .timeout(10000)
        .execute()
        .body();

JSONObject json = JSONUtil.parseObj(body);
if (json.getInt("code") == 0) {
    JSONObject data = json.getJSONObject("data");
    for (Object item : data.getJSONArray("list")) {
        JSONObject ent = (JSONObject) item;
        System.out.println(ent.getStr("name") + " / " + ent.getStr("creditNo")
                + " / " + ent.getStr("operName"));
    }
}

Python

Python
import requests


def query_enterprise(api_key: str, keyword: str):
    """模糊查询企业信息;查不到返回 None 且不扣费"""
    resp = requests.get(
        "https://api.xujian.tech/openapi/enterprise/query",
        params={"keyword": keyword},
        headers={"X-API-Key": api_key},
        timeout=15,
    )
    result = resp.json()
    if result.get("code") != 0:
        print("查询失败(不收费):", result.get("msg"))
        return None
    return result["data"]["list"]


if __name__ == "__main__":
    for ent in query_enterprise("你的APIKey", "重庆可乐家装饰") or []:
        print(ent["name"], ent["creditNo"], ent["startDate"], ent["operName"])

JavaScript(浏览器 / Node 18+)

JavaScript
const resp = await fetch(
  "https://api.xujian.tech/openapi/enterprise/query?keyword=" + encodeURIComponent("重庆可乐家装饰"),
  { headers: { "X-API-Key": API_KEY } }
);

const { code, msg, data } = await resp.json();
if (code === 0) {
  data.list.forEach((ent) => console.log(ent.name, ent.creditNo, ent.operName));
} else {
  console.warn("查询失败(不收费):", msg);
}

常见问题(FAQ)

enterprise.query 接口怎么收费?

enterprise.query 的收费类型为 PER_CALL(按次计费),当前单价 0.0100 元/次,调用前校验余额,余额不足返回「余额不足,请先充值。可联系微信xujian_cq」且不扣费;充值可可联系微信xujian_cq。扣费金额、交易前后余额均记录于交易流水中。

查询不到企业会扣费吗?

不会。本接口采用「先预鉴权、查询到结果后再扣费」的两段式流程: keyword 为空 / 超长、上游服务不可用、或者一条都没查到时, 接口直接返回失败,不扣费、不写扣费流水、不累加调用次数。 只有真正返回了至少一条企业信息,才计一次费用。

关键词可以填什么?几个字合适?

企业名称片段、工商注册号、统一社会信用代码都可以,长度需在 2 ~ 50 个字符之间。 实测经验是用 4 个字符以上的完整名称片段匹配率最高; 只用「科技」这类泛词会返回大量不相关结果,建议加上地域前缀,例如「北京 腾讯」。

最多返回多少条?可以指定条数吗?

默认最多返回 20 条,可用 limit 参数限制(取 limit 与系统上限的较小值)。 结果按上游匹配度排序,开票补全这类场景直接取 list[0] 即可。

统一社会信用代码可以直接当税号用吗?

三证合一后多数企业二者一致,但仍有历史企业的纳税人识别号与统一社会信用代码不同。 开票场景建议以接口返回的 creditNo 为准,并在首次使用时做一次人工核验。

企业类型字段有哪些取值?

type 为编码,typeName 为中文名: 0 企业、4 社团、5 律师事务所、6 香港公司;未覆盖到的编码 typeName 返回「其他」, 此时请以 type 原始值为准做业务判断。

可以批量查询吗?怎么控制成本?

当前一次请求只处理一个关键词,批量场景请在本地做并发控制与结果缓存(建议缓存 24 小时以上)。 由于「查不到不收费」,重复提交脏数据不会额外增加成本,缓存命中可以把实际调用量压到很低。

接口耗时大概多少?

接口需要转发一次上游数据源,通常在数百毫秒到 1 秒级(响应体 costMs 为真实耗时)。 建议客户端设置 10 秒以上超时,批量场景配合异步与重试。

调用需要签名或加密吗?

不需要。XAPI 的接口仅校验请求头 X-API-Key,不做签名、时间戳或加密。

扫码添加微信
联系作者 · 微信二维码

微信号:xujian_cq

接口对接、充值 / 授权、定制需求都可以直接聊