ARTICLE DETAIL

资讯详情

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

企业失信被执行人查询 API:案号、执行法院、执行标的与履行情况一次拿到

企业失信被执行人查询 API:案号、执行法院、执行标的与履行情况一次拿到 企业失信被执行人查询 API案号、执行法院、执行标的与履行情况一次拿到失信被执行人指的是有履行能力而拒不履行生效法律文书确定义务、被人民法院纳入名单并公示的被执行人俗称「老赖名单」。它是风控、招投标资格审查、供应商准入里绕不开的一道关卡命中即需人工介入没命中则可继续推进。本文介绍的enterprise.dishonesty接口一个关键词进去返回该企业全部失信记录的案号、执行法院、执行标的、立案与发布日期、履行情况、失信情形该企业没有失信记录时不收费。api.xujian.techxujian_cq接口速览关键事实说明接口地址https://api.xujian.tech/openapi/enterprise/dishonesty接口编码enterprise.dishonesty请求方式GETkeyword放 Query String鉴权方式请求头X-API-Key不做签名、时间戳或加密必填参数keyword企业全称或统一社会信用代码2 ~ 50 字符返回核心字段caseNumber/court/amount/executionStatus/executionDesc/publishDate/disabled计费方式按次计费0.2 元/次先预鉴权、查到结果后再扣费不计费场景关键词为空 / 超长、服务暂时不可用、该企业没有失信被执行人记录当前 / 历史区分disabled 0为当前有效信息1为历史信息一、哪些业务需要这一步场景具体用法招投标资格审查开标前批量筛查投标企业命中在案失信即否决供应商准入新供应商入库前做一次失信核查授信与风控审批作为一票否决型信号进入规则引擎贷后与存续客户监测定时比对出现新案号即告警合作方背景调查签署大额合同前的人工尽调前置应收账款风险预警客户出现失信记录时收紧账期加盟商与经销商筛选渠道准入环节的合规检查司法尽调辅助并购、投资前快速摸底目标公司涉执情况风险分层规则结合执行标的金额与履行情况划分高中低风险存量名单批量清洗上千家名单批量跑只有命中记录才产生费用二、请求参数请求头参数名必填说明X-API-Key是开发者 API Key缺失或无效直接返回失败业务参数参数名必填类型示例说明keyword是String重庆某某建设集团有限公司企业全称或统一社会信用代码长度 2 ~ 50 字符建议用企业全称或统一社会信用代码查询。只给简称例如「某某建设」时跨省同名主体容易出现不确定归属接口按关键词精确匹配可能查不到。三、返回字段3.1 顶层字段字段类型说明codeint0成功非 0 失败统一为500msgString成功为success失败为具体原因dataObject业务数据失败时为null3.2 data 字段字段类型示例说明keywordString重庆某某建设集团有限公司本次实际使用的查询关键词totalint2本次返回的失信记录条数listArray[…]失信被执行人记录列表apiCodeStringenterprise.dishonesty接口编码apiNameString企业失信被执行人查询接口名称chargeTypeStringPER_CALL计费类型balanceBigDecimal99.9700调用完成后已扣费的账户余额元costMsLong890本次调用耗时毫秒3.3 list[] 失信记录字段字段示例说明province重庆案件管辖地域省份date2023-05-18立案时间YYYY-MM-DDcaseNumber(2023)渝0113执1234号案号docNumber(2022)渝仲字第 88 号执行依据文号exDepartment重庆仲裁委员会作出执行依据的单位finalDuty支付申请人货款人民币 1,200,000 元生效法律文书确定的义务executionStatus全部未履行履行情况全部未履行 / 部分未履行 / 已履行完毕 等executionDesc有履行能力而拒不履行生效法律文书确定义务失信被执行人行为具体情形amount1200000执行标的金额court重庆市巴南区人民法院执行法院全称publishDate2023-11-02发布日期YYYY-MM-DDoperName李某某法定代表人姓名number91500113MAABRA7D0H组织机构号 / 企业标识号disabled0记录状态0当前有效信息1历史信息两个字段设计细节一是disabled是关键字段做「当前是否失信」判断时必须用它过滤disabled 0直接取整个列表会把已消除的历史案件也算进去二是number可用于跨记录归并同一主体当关键词命中的是同名不同主体时用number或operName辅助确认。四、调用示例4.1 curlcurl-s-Ghttps://api.xujian.tech/openapi/enterprise/dishonesty\--data-urlencodekeyword重庆某某建设集团有限公司\-HX-API-Key: 你的APIKey4.2 JavaHutoolimportcn.hutool.http.HttpRequest;importcn.hutool.json.JSONArray;importcn.hutool.json.JSONObject;importcn.hutool.json.JSONUtil;publicclassEnterpriseDishonestyClient{privatestaticfinalStringAPI_URLhttps://api.xujian.tech/openapi/enterprise/dishonesty;/** * 查询企业失信被执行人记录 * * param apiKey 开发者 API Key * param keyword 企业全称或统一社会信用代码 * return 失信记录列表无记录或查询失败返回 null且不扣费 */publicstaticJSONArraydishonesty(StringapiKey,Stringkeyword){StringbodyHttpRequest.get(API_URL).form(keyword,keyword).header(X-API-Key,apiKey).timeout(20000).execute().body();JSONObjectjsonJSONUtil.parseObj(body);Integercodejson.getInt(code);if(codenull||code!0){System.out.println(查询失败不收费json.getStr(msg));returnnull;}returnjson.getJSONObject(data).getJSONArray(list);}publicstaticvoidmain(String[]args){JSONArraylistdishonesty(你的APIKey,重庆某某建设集团有限公司);if(listnull){return;// 无失信记录同样不收费}for(inti0;ilist.size();i){JSONObjectrlist.getJSONObject(i);// 只处理当前有效的失信信息if(0.equals(r.getStr(disabled))){System.out.printf(%s | %s | %s | %s%n,r.getStr(caseNumber),r.getStr(court),r.getStr(amount),r.getStr(executionStatus));}}}}4.3 Pythonimportrequestsdefenterprise_dishonesty(api_key:str,keyword:str): 查询企业失信被执行人记录 Args: api_key: 开发者 API Key keyword: 企业全称或统一社会信用代码2 ~ 50 字符 Returns: list: 成功返回失信记录列表无记录或失败返回 None且不扣费 resprequests.get(https://api.xujian.tech/openapi/enterprise/dishonesty,params{keyword:keyword},headers{X-API-Key:api_key},timeout20,)resultresp.json()ifresult.get(code)!0:print(查询失败不收费,result.get(msg))returnNonereturnresult[data][list]defhas_active_dishonesty(api_key:str,keyword:str)-bool:是否存在当前有效的失信记录自动过滤历史信息recordsenterprise_dishonesty(api_key,keyword)or[]returnany(r.get(disabled)0forrinrecords)if__name____main__:print(has_active_dishonesty(你的APIKey,重庆某某建设集团有限公司))4.4 JavaScriptNode 18constrespawaitfetch(https://api.xujian.tech/openapi/enterprise/dishonesty?keywordencodeURIComponent(重庆某某建设集团有限公司),{headers:{X-API-Key:API_KEY}});const{code,msg,data}awaitresp.json();if(code0){constactivedata.list.filter((r)r.disabled0);// 当前有效console.log(在案失信记录数,active.length);}else{console.warn(查询失败不收费,msg);}五、返回示例5.1 存在有效失信记录{code:0,msg:success,data:{keyword:重庆某某建设集团有限公司,total:2,list:[{province:重庆,date:2023-05-18,docNumber:(2022)渝仲字第88号,finalDuty:支付申请人货款人民币1200000元及利息,executionStatus:全部未履行,caseNumber:(2023)渝0113执1234号,amount:1200000,publishDate:2023-11-02,court:重庆市巴南区人民法院,executionDesc:有履行能力而拒不履行生效法律文书确定义务,disabled:0,operName:李某某,number:91500113MAABRA7D0H,exDepartment:重庆仲裁委员会},{province:四川,date:2021-03-09,docNumber:(2020)川01民终5521号,finalDuty:支付工程款人民币360000元,executionStatus:全部未履行,caseNumber:(2021)川0107执778号,amount:360000,publishDate:2021-06-15,court:成都市武侯区人民法院,executionDesc:被执行人无正当理由拒不履行执行和解协议,disabled:1,operName:李某某,number:91500113MAABRA7D0H,exDepartment:成都市中级人民法院}],apiCode:enterprise.dishonesty,apiName:企业失信被执行人查询,chargeType:PER_CALL,balance:99.9700,costMs:890}}第一条disabled 0是当前在案的失信信息第二条disabled 1属于历史信息——已经退出名单的记录仍然返回是因为它对「该企业历史上被强制执行过」这个判断有价值但不应计入当前风险。5.2 无失信记录不收费{code:500,msg:未查询到该企业的失信被执行人记录无记录也是一种结论本次调用不计费,data:null}六、落地实践6.1 批量名单筛查招标 / 投标资格审查一次上千家的企业名单里混杂着拼写错误、已更名、已注销的主体正好适用「查不到不收费」fromconcurrent.futuresimportThreadPoolExecutor,as_completeddefbatch_screen(api_key:str,companies:list[str],workers:int4)-dict:批量筛查失信名单只有命中记录的企业才产生费用result{}withThreadPoolExecutor(max_workersworkers)aspool:futures{pool.submit(enterprise_dishonesty,api_key,c):cforcincompanies}forfuinas_completed(futures):companyfutures[fu]recordsfu.result()or[]active[rforrinrecordsifr.get(disabled)0]result[company]{active:bool(active),count:len(active),cases:[r[caseNumber]forrinactive],}returnresult并发建议控制在 4 ~ 8避免把自己打成一个高 QPS 的爬虫同一批次里重复关键词先去重缓存一下更省。6.2 新增失信监测定时巡检把「上次筛查结果」和「本次结果」做差集出现新案号即告警publicListStringnewCases(JSONArraycurrent,SetStringknown){ListStringcasesnewArrayList();for(inti0;icurrent.size();i){JSONObjectrcurrent.getJSONObject(i);if(0.equals(r.getStr(disabled))!known.contains(r.getStr(caseNumber))){cases.add(r.getStr(caseNumber));}}returncases;}6.3 风险控制规则金额 履行情况按「执行标的金额」和「履行情况」做分层functionriskLevel(records){constactiverecords.filter((r)r.disabled0);if(!active.length)returnNONE;constamountactive.reduce((s,r)sNumber(r.amount||0),0);constunfulfilledactive.filter((r)r.executionStatus.includes(未履行));if(unfulfilled.lengthamount1_000_000)returnHIGH;if(unfulfilled.length)returnMEDIUM;returnLOW;}6.4 与经营异常、年报数据交叉验证失信往往不是孤立信号配合其他两个接口看更能说明问题defrisk_profile(api_key:str,company:str)-dict:失信 经营异常 年报三个维度交叉return{dishonesty:bool(active_dishonesty(api_key,company)),abnormal:bool(enterprise_abnormal(api_key,company)),reports:len(enterprise_report(api_key,company)or[]),}三个都为空时可以放心推进失信非空则建议直接走人工复核。七、实践建议先过滤disabled。判断「当前是否失信」一定带上disabled 0历史信息只做背景参考。用企业全称或信用代码。跨省同名主体客观存在简称查询容易漏有 18 位信用代码时优先用它。「查无记录」不要当成异常。接口在查不到时返回code500且明确说明「本次调用不计费」业务侧应把它翻译成正常结论无失信而不是报错日志。金额字段是文本。amount是字符串计算合计前先转数字并容错空值。本地缓存 7 ~ 30 天。失信名单更新有延迟太频繁轮询意义不大既增加成本也容易触发限流。结论入库要带上查询时间。司法数据随时可能变更只存「有 / 无」不够回溯时说不清是哪个时间点的结论。八、错误码与排查codemsg示例处理建议0success调用成功500缺少请求头 X-API-Key在请求头补充X-API-Key500API Key 无效 / API Key 已停用检查 Key 是否正确或在控制台重新启用500客户不存在或已停用联系平台确认账号状态500接口不存在或已停用确认enterprise.dishonesty当前是否维护中500余额不足请先充值调用前校验余额余额不足不扣费充值后重试500keyword 不能为空补充keyword参数不计费500keyword 至少需要 2 个字符建议使用企业全称或统一社会信用代码使用更完整的企业名称不计费500keyword 长度不能超过 50 个字符缩短关键词不计费500未查询到该企业的失信被执行人记录无记录也是一种结论该企业当前无失信记录不计费500数据服务暂时不可用请求上游超时或网络异常稍后重试不计费九、计费与接入项目说明单次费用0.2 元/次计费方式按次计费调用前校验余额查询到失信记录后才扣费不计费场景关键词为空 / 超长、服务暂时不可用、无失信记录配合建议批量筛查场景下绝大多数企业名称是「无记录」的不计费结果接入流程注册开发者账号 → 控制台创建 API Key → 请求头带上X-API-Key即可调用无需签名或加密。控制台可查看调用量、扣费流水与余额。服务站点api.xujian.tech纯文本域名不做跳转。接口试用、数据与充值咨询可在控制台提交工单或联系 Vxujian_cq。十、小结失信被执行人查询的价值在于它是个「一票否决」型信号命中即需要人工介入没命中则可继续推进。这个接口把网页上的公示文本拆成了结构化的案号、法院、金额、履行状态并保留disabled用于区分当前 / 历史配合「查无记录不收费」的计费方式非常适合做成批量名单的常规筛查步骤。四个关键取舍无记录不收费把它做成常规筛查项时绝大多数调用不产生费用成本可控历史记录不丢弃disabled1的历史案件仍然返回对「曾经被强制执行过」的判断有用关键字段结构化caseNumber/court/amount/executionStatus各自独立规则引擎可直接引用绝不臆造查询不到时明确返回失败并声明不计费不返回「看起来像有数据」的空壳。
返回列表