企业详细信息综合查询 API(enterprise.detail)

输入企业全称或统一社会信用代码,一次返回工商照面 33 项核心数据、股东出资明细、 工商变更记录、分年度社保参保情况四个维度,不必再分别调用四个接口。 接口编码 enterprise.detail,仅需请求头携带 X-API-Key,无需签名、时间戳或加密。

0.5200 元/次 GET JSON / UTF-8 免签名 企业画像 查不到不收费

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

最后更新: · 接口版本 v1

接口概述

一句话说明

enterprise.detail 是一次性拿到企业全景数据的接口: 工商照面(33 项)+ 股东出资明细 + 工商变更记录 + 分年度社保参保四个维度一次返回。 平台侧完成上游数据源对接与凭证管理,调用方只需要一个关键词 + 一个 X-API-Key, 并按查得计费付费:查不到对应企业不产生费用。

接口规格
请求地址 https://api.xujian.tech/openapi/enterprise/detail
请求方式 GET(keyword 放 Query String)
鉴权方式 请求头 X-API-Key(不做签名与加密)
接口编码 enterprise.detail
收费类型 PER_CALL(按次计费,0.5200 元/次)
计费特殊规则 查得计费:关键词为空 / 超长、上游服务不可用、 查不到该企业的工商照面时返回失败且不扣费、不写扣费流水
响应格式 JSON,Content-Type: application/json;charset=UTF-8
是否需要授权 否(无需授权,API Key 有效且余额充足即可调用)
关键词长度 2 ~ 50 个字符(建议使用工商登记全称或统一社会信用代码)
典型用途 供应商准入尽调、金融风控 KYC 与反欺诈、股权投资标的画像、招商 DU、企业 ERP 主数据初始化

快速开始

把 你的APIKey 换成控制台获取的 API Key:

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

返回结构速览

一次拿到四个维度:

  • basicInfo —— 工商照面 33 项(名称、统一社会信用代码、法定代表人、注册资本等)
  • partners —— 股东名单与认缴 / 实缴出资明细
  • changeRecords —— 工商变更记录(事项、前后内容、日期)
  • socialSecurity —— 分年度社保参保(五险参保人数与缴费基数)

请求参数

请求头(Header)
参数名 类型 必填 说明
X-API-Key String 是 开发者 API Key,缺失或无效返回失败
业务参数(Query String)
参数名 类型 必填 示例 说明
keyword String 是 91500113MAABRA7D0H 企业工商登记全称或统一社会信用代码, 长度 2 ~ 50 个字符。为空或超长时返回失败,不计费。 名称不准确时建议先用 enterprise.query 模糊查询校正全称

响应参数

顶层字段
字段 类型 说明
code int 状态码,0 成功,非 0 失败
msg String 结果描述,成功为 success,失败为具体原因
data Object 业务数据,失败时为 null
data 字段
字段 类型 说明
keyword String 本次查询关键词原文(已去空格)
basicInfo Object 工商照面信息 33 项(见下表)
partners Array 股东 / 出资人列表
changeRecords Array 工商变更记录列表
socialSecurity Array 社保参保信息列表(按年度倒序)
apiCode String 接口编码 enterprise.detail
apiName String 接口名称
chargeType String 计费类型:FREE / PER_CALL / MONTHLY / YEARLY
balance BigDecimal 调用完成后(已扣费)的账户余额(元)
costMs Long 本次调用耗时(毫秒)

basicInfo(工商照面,33 项)

字段 类型 示例 说明
nameString重庆可乐家装饰工程有限公司企业名称
formatNameString重庆可乐家装饰工程有限公司标准企业名称(清洗后)
creditNoString91500113MAABRA7D0H统一社会信用代码
regNoString500113014353471企业注册号
orgNoString91500113MAABRA7D0H组织机构号
statusString存续(在营、开业、在册)经营状态(工商公示原文)
newStatusString存续经营状态(清洗后):存续 / 注销 / 吊销 / 撤销 / 迁出 / 设立中 / 清算中 / 停业 / 其他 / 歇业 / 责令关闭
operNameString李伦智法定代表人姓名
titleString法定代表人公司代表人职务
operTypeStringP法定代表人类型:P-个人,C-公司
registCapiString100 万人民币注册资本(金额 + 空格 + 万 + 货币单位)
actualCapiString-实缴资本
currencyUnitStringCNY货币单位
startDateString2021-06-02成立日期
termStartString2021-06-02营业开始日期
termEndString-营业结束日期,「-」表示长期
endDateString-注销日期
checkDateString2021-06-02核准日期(最近一次工商变更核准)
revokeDateString-吊销日期
revokeReasonString-吊销原因
logoutReasonString-注销原因
econKindString有限责任公司企业类型
econKindCodeString1100企业类型代码
typeNewString01企业大类:01 大陆企业 / 02 社会组织 / 03 机关及事业单位 / 04 港澳台及国外企业 / 05 律所及其他
categoryNewString0115601二级分类:0115601 企业 / 0115602 个体 / 0115603 农民专业合作社
domainStringD4511四级行业代码(国民经济行业分类)
addressString重庆市巴南区……企业注册地址
belongOrgString重庆市巴南区市场监督管理局登记机关 / 所属工商局
districtCodeString500110所属行政区划代码
scopeString许可项目:住宅室内装饰装修……经营范围(工商登记完整文本)
tagsArray[]企业标签:1 新三板 / 6 主板上市 / 9 香港上市 / 17 高新企业 / 40 暂停上市 / 41 终止上市
historyNamesArray[]历史名称变更记录
fennameString-企业英文名

partners[](股东 / 出资人)

字段 类型 示例 说明
nameString李伦智股东名称
stockTypeString自然人股东股东类型
identifyTypeString-证件类型,「-」表示未公示
identifyNoString-证件号码,「-」表示未公示
stockPercentString1.0持股比例(小数形式,1.0 = 100%)
totalRealCapiString-实缴出资总额
totalShouldCapiString100 万人民币认缴出资总额
startDateString2021-06-02出资 / 首次认缴日期
shouldCapiItemsArray[{"date":"2021-06-02","capi":"100 万人民币","type":"货币"}]认缴明细
realCapiItemsArray[]实缴明细

出资明细项(shouldCapiItems[] / realCapiItems[]):

字段 类型 说明
dateString出资日期 / 认缴期限
capiString金额,如「180 万人民币」
typeString出资方式,如「货币」

changeRecords[](工商变更记录)

字段 类型 示例 说明
changeItemString章程备案变更事项名称
changeDateString2021-07-15变更日期
beforeContentString-变更前内容
afterContentString同意启用新章程变更后内容
tagString非历史信息「非历史信息」或「历史信息」
typeString章程备案变更变更类型:章程备案变更 / 注册资金变更 / 住所变更 / 股东股权变更 / 人员变更 / 地址变更 / 其他变更 / 经营范围变更

socialSecurity[](社保参保,按年度)

字段 类型 说明
reportYearString年报所属年份
reportDateString年报公示日期
nameString企业名称
dwJeDisplayString单位缴费基数是否公示
bqJeDisplayString本期实际缴费金额是否公示
dwJsDisplayString单位累计欠缴金额是否公示
insuranceNumString城镇职工基本养老保险参保人数
basicEndownmentNumString基本养老保险参保人数
basicMedicalAmountString基本医疗保险缴费基数
actualMedicalAmountString基本医疗保险实际缴费金额
baseMedicalDownBalanceString基本医疗保险单位累计欠缴金额
unenploymentNumString失业保险参保人数
unenploymentInsuranceString失业保险缴费基数
actualLostAmountString失业保险实际缴费金额
unenploymentDownBalanceString失业保险单位累计欠缴金额
endownmentInsuranceAmountString养老保险缴费基数
endownmentBaseAmountString养老保险缴费基数(汇总)
actualEndownmentAmountString养老保险实际缴费金额
injuryInsuranceNumString工伤保险参保人数
injuryInsuranceAmountString工伤保险缴费基数
actualInjuryAmountString工伤保险实际缴费金额
companyInjuryDownBalanceString工伤保险单位累计欠缴金额
birthNumString生育保险参保人数
birthAmountString生育保险缴费基数
birthInsuranceCountString生育保险参保人数(汇总)
birthActualAmountString生育保险实际缴费金额

响应示例

成功(code = 0)

JSON
{
  "code": 0,
  "msg": "success",
  "data": {
    "keyword": "91500113MAABRA7D0H",
    "basicInfo": {
      "name": "重庆可乐家装饰工程有限公司",
      "formatName": "重庆可乐家装饰工程有限公司",
      "creditNo": "91500113MAABRA7D0H",
      "regNo": "500113014353471",
      "orgNo": "91500113MAABRA7D0H",
      "status": "存续(在营、开业、在册)",
      "newStatus": "存续",
      "operName": "李伦智",
      "title": "法定代表人",
      "operType": "P",
      "registCapi": "100 万人民币",
      "actualCapi": "-",
      "currencyUnit": "CNY",
      "startDate": "2021-06-02",
      "termStart": "2021-06-02",
      "termEnd": "-",
      "endDate": "-",
      "checkDate": "2021-06-02",
      "revokeDate": "-",
      "revokeReason": "-",
      "logoutReason": "-",
      "econKind": "有限责任公司",
      "econKindCode": "1100",
      "typeNew": "01",
      "categoryNew": "0115601",
      "domain": "D4511",
      "address": "重庆市巴南区龙洲湾街道龙洲大道255号17-1",
      "belongOrg": "重庆市巴南区市场监督管理局",
      "districtCode": "500110",
      "scope": "许可项目:住宅室内装饰装修(依法须经批准的项目,经相关部门批准后方可开展经营活动)",
      "tags": [],
      "historyNames": [],
      "fenname": "-"
    },
    "partners": [
      {
        "name": "李伦智",
        "stockType": "自然人股东",
        "identifyType": "-",
        "identifyNo": "-",
        "stockPercent": "1.0",
        "totalRealCapi": "-",
        "totalShouldCapi": "100 万人民币",
        "startDate": "2021-06-02",
        "shouldCapiItems": [
          {"date": "2021-06-02", "capi": "100 万人民币", "type": "货币"}
        ],
        "realCapiItems": []
      }
    ],
    "changeRecords": [
      {
        "changeItem": "章程备案",
        "changeDate": "2021-07-15",
        "beforeContent": "-",
        "afterContent": "同意启用新章程",
        "tag": "非历史信息",
        "type": "章程备案变更"
      }
    ],
    "socialSecurity": [
      {
        "reportYear": "2024",
        "reportDate": "2025-03-18",
        "name": "重庆可乐家装饰工程有限公司",
        "dwJeDisplay": "企业选择不公示",
        "bqJeDisplay": "企业选择不公示",
        "dwJsDisplay": "企业选择不公示",
        "insuranceNum": "3人",
        "basicEndownmentNum": "3人",
        "basicMedicalAmount": "-",
        "actualMedicalAmount": "-",
        "baseMedicalDownBalance": "-",
        "unenploymentNum": "3人",
        "unenploymentInsurance": "-",
        "actualLostAmount": "-",
        "unenploymentDownBalance": "-",
        "endownmentInsuranceAmount": "-",
        "endownmentBaseAmount": "-",
        "actualEndownmentAmount": "-",
        "injuryInsuranceNum": "3人",
        "injuryInsuranceAmount": "-",
        "actualInjuryAmount": "-",
        "companyInjuryDownBalance": "-",
        "birthNum": "0人",
        "birthAmount": "-",
        "birthInsuranceCount": "0人",
        "birthActualAmount": "-"
      }
    ],
    "apiCode": "enterprise.detail",
    "apiName": "企业详细信息综合查询",
    "chargeType": "PER_CALL",
    "balance": 99.4800,
    "costMs": 1860
  }
}

失败(查不到该企业)—— 不收费

JSON
{
  "code": 500,
  "msg": "未查询到该企业的详细信息,请核对企业名称或更换统一社会信用代码后重试;本次调用不计费",
  "data": null
}

错误码与常见失败原因

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

多语言代码示例

Java(Hutool)

Java
String body = HttpRequest.get("https://api.xujian.tech/openapi/enterprise/detail")
        .form("keyword", "91500113MAABRA7D0H")
        .header("X-API-Key", apiKey)
        .timeout(15000)
        .execute()
        .body();

JSONObject json = JSONUtil.parseObj(body);
if (json.getInt("code") != 0) {
    System.out.println("查询失败(不收费):" + json.getStr("msg"));
    return;
}
JSONObject data = json.getJSONObject("data");
JSONObject basic = data.getJSONObject("basicInfo");
System.out.println(basic.getStr("name") + " / " + basic.getStr("newStatus"));
data.getJSONArray("partners")
        .forEach(p -> System.out.println(((JSONObject) p).getStr("name")
                + " 持股 " + ((JSONObject) p).getStr("stockPercent")));

Python

Python
import requests


def query_detail(api_key: str, keyword: str):
    """查询企业全景数据;查不到返回 None 且不扣费"""
    resp = requests.get(
        "https://api.xujian.tech/openapi/enterprise/detail",
        params={"keyword": keyword},
        headers={"X-API-Key": api_key},
        timeout=30,
    )
    result = resp.json()
    if result.get("code") != 0:
        print("查询失败(不收费):", result.get("msg"))
        return None
    return result["data"]


if __name__ == "__main__":
    detail = query_detail("你的APIKey", "91500113MAABRA7D0H")
    if not detail:
        raise SystemExit
    basic = detail["basicInfo"]
    print(basic["name"], basic["newStatus"], basic["registCapi"])
    print("股东数:", len(detail["partners"]))
    print("变更记录数:", len(detail["changeRecords"]))
    print("社保年度数:", len(detail["socialSecurity"]))

JavaScript(浏览器 / Node 18+)

JavaScript
const resp = await fetch(
  "https://api.xujian.tech/openapi/enterprise/detail?keyword=" + encodeURIComponent("91500113MAABRA7D0H"),
  { headers: { "X-API-Key": API_KEY } }
);

const { code, msg, data } = await resp.json();
if (code === 0) {
  const { basicInfo, partners, changeRecords, socialSecurity } = data;
  console.log(basicInfo.name, basicInfo.newStatus, partners.length, changeRecords.length, socialSecurity.length);
} else {
  console.warn("查询失败(不收费):", msg);
}

常见问题(FAQ)

enterprise.detail 接口怎么收费?

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

和 enterprise.profile(工商照面)有什么区别?

enterprise.profile 只返回工商照面 33 项,价格更低; enterprise.detail 在一次请求里额外返回股东出资、工商变更记录与分年度社保数据。 只需要核实企业身份、补开票信息时用 profile 更划算;做尽调 / 风控画像时用 detail。

查不到企业会扣费吗?

不会。采用「先预鉴权、查询到有效工商照面后再扣费」的两段式流程: 关键词为空 / 超长、上游不可用、查不到对应企业时直接返回失败,不扣费、不写扣费流水。 判定标准是 basicInfo.name 是否有值。

为什么没有返回 id 字段?

上游的企业唯一标识与法定代表人身份哈希属数据源内部主键,跨批次不稳定也不可解读, 因此不返回。建议用 creditNo(统一社会信用代码)作为本系统内的业务主键。

注册资本怎么解析成数字?

registCapi 是「金额 + 空格 + 万 + 货币单位」的字符串(如「1200 万人民币」), actualCapi 同口径。做数值比较时先提取数字,并注意单位一般为万元, 币种看 currencyUnit(通常是 CNY)。

历史变更记录能返回多少条?

以工商公示的实际记录为准,通常从企业设立至今全部返回。建议在入库时按 changeDate + changeItem + afterContent 做去重,避免重复入库。

接口耗时大概多少?

需要一次性汇总四个维度的数据,通常在 1 ~ 3 秒(响应体 costMs 为真实耗时)。 建议客户端超时设到 15 秒以上,批量场景配合异步与本地缓存。

调用需要签名或加密吗?

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

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

微信号:xujian_cq

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