ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

【2026】企业信息模糊查询 API 实战:名称、注册号、统一社会信用代码、企业类型与法人一次查全

【2026】企业信息模糊查询 API 实战:名称、注册号、统一社会信用代码、企业类型与法人一次查全 企业信息模糊查询 API 实战名称、注册号、统一社会信用代码、企业类型与法人一次查全开票系统里最让人头疼的一步是让用户把企业名称和税号填对——手打全称容易漏字复制来的名字带空格税号抄错一位整张票就得重开。CRM 建档、供应商资质核验、风控 KYC 也是同一个问题手里只有「重庆可乐家装饰」这么一个模糊的名称片段却要拿到完整工商登记信息。本文介绍一个企业信息模糊查询接口一个关键词进去企业名称、工商注册号、统一社会信用代码、企业类型、成立日期、法定代表人一次返回并且查不到结果不收费。api.xujian.techVxujian_cq一、为什么企业信息查询值得单独做成接口自己抓数据或写规则匹配通常会卡在这几个地方难点具体表现关键词不完整用户只记得「可乐家装饰」几个字缺地域前缀、缺「有限公司」后缀入口不统一有的场景只有企业名有的只有注册号有的只有 18 位统一社会信用代码字段口径乱「企业类型」在不同数据源里编码不同业务侧还要自己翻译税号不确定三证合一前成立的企业纳税人识别号与统一社会信用代码可能不一致批量成本高存量数据几万条脏关键词占了很大比例按调用次数付费时很心疼把这一步收敛成一个接口价值在于调用方只需要维护一个X-API-Key和一个关键词字段口径由接口统一脏数据不产生费用。二、接口能力概览2.1 接口基础信息项目说明接口地址https://api.xujian.tech/openapi/enterprise/query接口编码enterprise.query请求方式GETkeyword放 Query String鉴权方式请求头X-API-Key不做签名、时间戳或加密返回格式JSONContent-Type: application/json;charsetUTF-8单次费用0.01 元/次关键词长度2 ~ 50 个字符建议 4 个字符以上最多返回20 条可用limit收敛典型耗时百毫秒 ~ 1 秒级响应体costMs为本次真实耗时2.2 请求参数请求头参数名必填说明X-API-Key是开发者 API Key缺失或无效直接返回失败业务参数参数名必填类型示例说明keyword是String重庆可乐家装饰查询关键词可以是企业名称片段、工商注册号或统一社会信用代码长度 2 ~ 50 字符limit否Integer10期望返回条数实际取limit与系统上限20的较小值2.3 计费上比较实在的一点接口是先预鉴权、查到结果后再扣费的两段式流程。下面这些情况直接返回失败不扣费、不写扣费流水、不累加调用次数keyword为空、少于 2 个字符或超过 50 个字符企业信息查询服务暂时不可用上游超时或网络异常一条都没查到。也就是说只有真正返回了至少一条企业信息才计一次费用。做存量数据清洗时那些拼错的、已经注销的关键词不会白白吃掉预算。三、返回字段详解3.1 顶层字段字段类型说明codeint0成功非 0 失败常见为500msgString结果描述成功为success失败为具体原因dataObject业务数据失败时为null3.2 data 字段字段类型示例说明keywordString重庆可乐家装饰本次实际使用的查询关键词已去除首尾空格totalint1本次返回的企业条数listArray[…]企业列表按匹配度排序apiCodeStringenterprise.query接口编码apiNameString企业信息模糊查询接口名称chargeTypeStringPER_CALL计费类型balanceBigDecimal99.9900调用完成后已扣费的账户余额元costMsLong260本次调用耗时毫秒3.3 list[] 企业对象字段字段类型示例说明nameString重庆可乐家装饰工程有限公司企业名称工商登记全称regNoString500113014353471工商注册号creditNoString91500113MAABRA7D0H统一社会信用代码18 位开票场景通常作为纳税人识别号使用typeString0企业类型编码typeNameString企业企业类型中文名0 企业 / 4 社团 / 5 律师事务所 / 6 香港公司未覆盖的编码返回「其他」startDateString2021-06-02成立日期格式YYYY-MM-DDoperNameString李伦智法定代表人姓名两个字段设计上的细节一是未取到的字段一律返回空字符串而不是null调用方不必到处判空二是type与typeName同时返回既能做程序判断又能直接展示不用自己维护一张编码字典。四、调用示例4.1 curlcurl-s-Ghttps://api.xujian.tech/openapi/enterprise/query\--data-urlencodekeyword重庆可乐家装饰\-HX-API-Key: 你的APIKey只想要 5 条结果curl-s-Ghttps://api.xujian.tech/openapi/enterprise/query\--data-urlencodekeyword重庆可乐家装饰\--data-urlencodelimit5\-HX-API-Key: 你的APIKey4.2 JavaHutoolimportcn.hutool.http.HttpRequest;importcn.hutool.json.JSONObject;importcn.hutool.json.JSONUtil;publicclassEnterpriseQueryClient{privatestaticfinalStringAPI_URLhttps://api.xujian.tech/openapi/enterprise/query;/** * 模糊查询企业信息 * * param apiKey 开发者 API Key * param keyword 企业名称片段 / 注册号 / 统一社会信用代码2 ~ 50 字符 * return 企业列表查询失败含查不到返回 null且不扣费 */publicstaticjava.util.ListJSONObjectquery(StringapiKey,Stringkeyword){StringbodyHttpRequest.get(API_URL).form(keyword,keyword).header(X-API-Key,apiKey).timeout(10000).execute().body();JSONObjectjsonJSONUtil.parseObj(body);Integercodejson.getInt(code);if(codenull||code!0){System.out.println(查询失败不收费json.getStr(msg));returnnull;}returnjson.getJSONObject(data).getJSONArray(list).toList(JSONObject.class);}publicstaticvoidmain(String[]args){varlistquery(你的APIKey,重庆可乐家装饰);if(listnull){return;}for(JSONObjectent:list){System.out.printf(%s | %s | %s | %s%n,ent.getStr(name),ent.getStr(creditNo),ent.getStr(typeName),ent.getStr(operName));}}}如果项目里没有 Hutool用 JDK 11 自带的 HttpClient 也一样HttpRequestrequestHttpRequest.newBuilder().uri(URI.create(https://api.xujian.tech/openapi/enterprise/query?keywordURLEncoder.encode(重庆可乐家装饰,StandardCharsets.UTF_8))).header(X-API-Key,apiKey).timeout(Duration.ofSeconds(15)).GET().build();StringbodyHttpClient.newHttpClient().send(request,HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8)).body();4.3 Pythonimportrequestsdefquery_enterprise(api_key:str,keyword:str,limit:int20): 模糊查询企业信息 Args: api_key: 开发者 API Key keyword: 企业名称片段 / 注册号 / 统一社会信用代码 limit: 期望返回条数最大 20 Returns: list: 成功返回企业列表失败含查不到返回 None且不扣费 resprequests.get(https://api.xujian.tech/openapi/enterprise/query,params{keyword:keyword,limit:limit},headers{X-API-Key:api_key},timeout15,)resultresp.json()ifresult.get(code)!0:print(查询失败不收费,result.get(msg))returnNonereturnresult[data][list]if__name____main__:forentinquery_enterprise(你的APIKey,重庆可乐家装饰)or[]:print(ent[name],ent[creditNo],ent[startDate],ent[operName])4.4 JavaScript浏览器 / Node 18constrespawaitfetch(https://api.xujian.tech/openapi/enterprise/query?keywordencodeURIComponent(重庆可乐家装饰),{headers:{X-API-Key:API_KEY}});const{code,msg,data}awaitresp.json();if(code0){data.list.forEach((ent)console.log(ent.name,ent.creditNo,ent.operName));}else{console.warn(查询失败不收费,msg);}五、返回示例5.1 按企业名称片段查询单条命中{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}}5.2 按统一社会信用代码查询多条命中{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}}5.3 查不到结果不收费{code:500,msg:未查询到匹配的企业信息请更换更完整的企业名称 / 注册号 / 统一社会信用代码后重试本次调用不计费,data:null}六、典型应用场景6.1 开票信息自动补全用户在开票表单里输入几个字前端实时调用接口、下拉展示候选选中后自动填全称和税号asyncfunctionfillInvoiceForm(keyword){constrespawaitfetch(https://api.xujian.tech/openapi/enterprise/query?keywordencodeURIComponent(keyword),{headers:{X-API-Key:API_KEY}});const{code,data}awaitresp.json();if(code!0||!data.list.length)return[];// 查不到不收费让用户手填returndata.list.map((ent)({label:ent.name,taxNo:ent.creditNo,legalPerson:ent.operName,startDate:ent.startDate,}));}交互上建议只做「预填 让用户点一下确认」。企业名称相似的情况客观存在最终选择权留给用户能避免填错抬头带来的退票。6.2 存量客户档案批量清洗几万条客户名录里企业名称往往是不完整的。建议「本地缓存 并发控制 查不到即跳过」importjsonimportosfromconcurrent.futuresimportThreadPoolExecutor,as_completedfromthreadingimportLock CACHE_FILEenterprise_cache.jsoncache,lock{},Lock()defload_cache():globalcacheifos.path.exists(CACHE_FILE):withopen(CACHE_FILE,encodingutf-8)asf:cachejson.load(f)defclean_batch(api_key:str,keywords:list[str],workers:int4):批量清洗企业名称命中缓存直接返回未命中才调用接口load_cache()todo[kforkinkeywordsifknotincache]print(f共{len(keywords)}条需调用接口{len(todo)}条)withThreadPoolExecutor(max_workersworkers)aspool:futures{pool.submit(query_enterprise,api_key,k):kforkintodo}forfuinas_completed(futures):kfutures[fu]withlock:cache[k]fu.result()or[]# 查不到记为空下次不再重复调用withlock,open(CACHE_FILE,w,encodingutf-8)asf:json.dump(cache,f,ensure_asciiFalse)return{k:cache.get(k)forkinkeywords}由于「查不到不收费」拼错的关键词不会额外增加成本加上缓存之后1 万条名录按 30% 需真实调用估算费用在几十元量级。6.3 供应商资质核验与风控 KYC合作前快速核对统一社会信用代码是否真实、法定代表人是否与工商登记一致把人工核对的时间从几分钟压到一次请求defverify_supplier(api_key:str,name:str,credit_no:str,legal_person:str)-dict:核验供应商三要素名称片段、信用代码、法人姓名forentinquery_enterprise(api_key,name)or[]:ifent[creditNo]credit_no:return{match:True,name:ent[name],creditNo:ent[creditNo],legalPersonMatch:ent[operName]legal_person,startDate:ent[startDate],typeName:ent[typeName],}return{match:False}type字段还能直接做主体筛选例如只保留type0企业或单独处理5律师事务所这类特殊主体。6.4 CRM 客户建档补全销售只录入了客户简称建档时用接口把全称、信用代码、成立日期、法人补全后续的对账、开票、合同主体校验都有了统一口径不用再人工去公开渠道一条条查。七、提升命中率的几条实践建议关键词尽量 4 个字符以上。太短会返回大量不相关结果例如「科技」不如「重庆 科技」或完整名称片段。能加地域前缀就加。同名企业很多「北京 腾讯」这类组合比单独一个词精准得多。优先用信用代码精确匹配。手里已经有 18 位统一社会信用代码时直接把它当keyword传命中率最高。本地做缓存。工商数据变化不频繁缓存 24 小时以上可以显著降低调用量。税号做一次人工核验。三证合一前成立的部分企业纳税人识别号与统一社会信用代码可能不一致首次开票前建议确认一次。结果入库保留原文。同时保存原始关键词与返回的name、creditNo便于后续回溯和重新核对。八、错误码与排查codemsg示例处理建议0success调用成功500缺少请求头 X-API-Key在请求头补充X-API-Key500API Key 无效 / API Key 已停用检查 Key 是否正确或在控制台重新启用500客户不存在或已停用联系平台确认账号状态500接口不存在或已停用确认enterprise.query当前是否维护中500余额不足请先充值按次计费接口调用前校验余额余额不足不扣费充值后重试500keyword 不能为空补充keyword参数不计费500keyword 至少需要 2 个字符建议 4 个字符以上以提高匹配率使用更完整的企业名称片段不计费500keyword 长度不能超过 50 个字符缩短关键词不计费500未查询到匹配的企业信息……换用更准确的关键词或信用代码不计费500企业信息查询服务暂时不可用请求上游超时或网络异常稍后重试不计费九、计费与接入项目说明单次费用0.01 元/次计费方式按次计费调用前校验余额查询到结果后才扣费不计费场景关键词为空 / 超长、服务暂时不可用、未查询到任何匹配企业最多返回20 条可用limit收敛关键词长度2 ~ 50 个字符接入流程注册开发者账号 → 控制台创建 API Key → 请求头带上X-API-Key即可调用无需签名或加密。控制台可查看调用量、扣费流水与余额。十、总结企业信息查询这类需求自己维护数据源成本高、更新慢交给一个专门的接口更划算一个关键词覆盖企业名称、注册号、统一社会信用代码三种入口返回的字段口径统一含企业类型编码与中文名调用侧只要一个X-API-Key。几个关键取舍值得留意查得计费只有真正返回了至少一条企业信息才扣费脏关键词不吃预算不返回 null未取到的字段统一空字符串调用方少写一堆判空类型双字段typetypeName同时返回程序判断与界面展示都能直接用接口极简只有一个必填参数keyword、一个X-API-Key请求头GET 即可调用。
返回列表