×

爱企查 item_get - 获取企业详情接口对接全攻略:从入门到精通

万邦科技Lex 万邦科技Lex 发表于2026-01-07 13:13:53 浏览43 评论0

抢沙发发表评论

                       注册账号免费测试爱企查API数据接口

爱企查item_get接口(官方规范名称为企业基本信息查询接口 basicInfo)是通过企业名称、统一社会信用代码、注册号或企业 ID 获取企业工商基础信息、联系方式、经营状态、变更记录、风险信息等结构化数据的核心接口,适配企业征信、供应商筛选、风控合规等场景。该接口采用HTTPS+Token/API Key 认证,数据源自工商登记、官方备案等权威渠道,具备字段完整、更新实时、权限分级严格的特点。本攻略从接口认知、权限获取、实操对接、调试排错到生产级优化,提供全链路结构化指导,兼顾入门易用性与企业级稳定性。


一、接口核心认知:功能与适配场景

1. 接口定位与核心价值

  • 核心功能:输入企业名称、统一社会信用代码、注册号或企业 ID(keyword 参数),返回企业基础工商信息、联系方式、经营状态、变更记录、风险信息等核心数据;支持关联查询企业历史名称、分支机构等信息。

  • 爱企查数据特性

    • 权威合规:数据来自工商登记、官方备案等权威渠道,符合《企业信息公示暂行条例》等法规要求;

    • 字段完整:覆盖企业基础工商、联系方式、经营状态、变更记录等多维度数据,字段与国家企业信用信息公示系统一致;

    • 更新实时:基础工商信息缓存 24 小时,经营状态、变更记录实时同步;

    • 权限分级:基础信息开放度高,敏感数据(如股权结构、财务数据)需企业授权或高级权限。

  • 典型应用场景

    1. 供应商筛选系统:查询合作企业资质、经营状态,降低合作风险;

    2. 企业征信平台:聚合企业工商、资质、信用数据,生成征信报告;

    3. 风控系统:实时监控合作企业经营状态,预警异常变更(如法人变更、经营异常)。

2. 核心参数与返回字段

(1)请求参数(GET 方式提交,需携带 Token/API Key 认证)

参数类型参数名称类型是否必填说明应用示例
请求头参数Authorizationstring接口调用 Token,格式为 Bearer {access_token}APPCODE {appcode}Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
查询参数keywordstring搜索关键字(企业名称、统一社会信用代码、注册号或企业 ID),需 URL 编码江西新余废旧物资回收有限公司/91360502MA398XXXX

fieldsstring需返回字段列表,逗号分隔regStatus,legalPerson,businessScope,contactInfo

need_changeint是否返回变更记录(1 = 是,0 = 否,默认 0)1
注意事项
  1. keyword 需 URL 编码,避免中文或特殊字符导致参数解析错误;

  2. Token 有效期通常为 24 小时,需定期刷新;

  3. 接口支持 GET 请求,参数需拼接在 URL 中,请求头携带 Authorization Token/APPCODE。

(2)返回核心字段(按业务场景分类)

字段分类核心字段说明
基础工商信息name企业名称

regNo注册号

creditCode统一社会信用代码

regStatus经营状态(存续 / 注销 / 吊销 / 经营异常)

regCapital注册资本(万元)

establishTime成立日期

legalPerson法定代表人

businessScope经营范围

regAddress注册地址

companyType企业类型
联系方式contactPhone联系电话

contactEmail联系邮箱

website企业官网
变更与历史historyNames历史名称

changeRecord变更记录(需 need_change=1)
信用与风险riskFlag是否有风险记录(0 = 否,1 = 是)

blacklistFlag是否列入黑名单(0 = 否,1 = 是)
分页与状态updateTime数据更新时间

cacheTime缓存有效期(秒)
提示:item_get 接口不返回财务数据,需调用 finance.get 等扩展接口获取(需企业授权)。

3. 接口限制与注意事项

  • 调用频率与配额限制

    | 权限类型 | 日调用上限 | 调用频率 | 适用场景 |

    |----------|------------|----------|----------|

    | 个人测试权限 | 100 次 / 天 | 2 次 / 秒 | 功能调试、个人研究 |

    | 企业基础权限 | 1000 次 / 天 | 5 次 / 秒 | 中小型企业供应商筛选、市场调研 |

    | 企业高级权限 | 10000 次 / 天 | 20 次 / 秒 | 大型征信平台、风控系统、行业数据统计 |

  • 数据缓存规则:基础工商信息缓存 24 小时,变更记录、经营状态实时同步;

  • 内容限制:未公示企业、注销企业、列入异常名录且未公示企业不返回敏感数据;

  • 合规要求:数据仅用于合规企业征信、供应商筛选、市场调研等业务,遵守《企业信息公示暂行条例》《个人信息保护法》等法规,严禁用于非法用途。


二、对接前准备:权限与环境搭建

1. 获取接口权限(官方唯一合规路径)

爱企查item_get接口由爱企查开放平台提供,接入步骤如下:
  1. 登录爱企查开放平台(https://open.aiqicha.baidu.com),注册企业账号;

  2. 提交资质审核:企业营业执照、法人身份证、应用用途说明等材料;

  3. 创建应用,填写应用名称、用途、服务器 IP 等信息,提交审核;

  4. 审核通过后,获取 access_token(接口调用核心凭证)或 appcode(API 网关认证),配置 IP 白名单;

  5. 申请 basicInfo(item_get)接口权限,根据业务需求选择权限等级(基础 / 进阶 / 高级)。

风险提示:严禁使用非合规爬虫、第三方接口抓取企业数据,违反平台协议与法规,存在账号封禁、法律追责风险。

2. 技术环境准备

(1)支持语言与协议

  • 协议:HTTPS(强制,HTTP 请求会被拦截);

  • 开发语言:Python、Java、PHP、Go 等主流语言,推荐 Python(适配 Token 管理与复杂数据解析)。

(2)必备工具与依赖

工具类型推荐工具用途
调试工具爱企查官方调试工具自动生成 Token,验证接口参数与响应

Postman模拟 GET 请求,排查代码逻辑问题

URL 编码工具对 keyword 参数进行 URL 编码,确保格式正确
开发依赖requests发送 HTTPS GET 请求

jsonpath-ng快速解析嵌套 JSON 响应

pandas批量整理企业详情数据
辅助工具Redis缓存企业详情数据,减少接口调用次数

logging记录接口调用日志,便于审计与问题追溯

三、实操步骤:接口对接全流程(Python 示例)

步骤 1:理解认证规则(核心,必掌握)

爱企查接口支持两种认证机制,流程如下:
  1. Token 认证:登录爱企查开放平台,创建应用并获取 client_idclient_secret;调用 token 接口(https://open.aiqicha.baidu.com/services/open/token/2.0),获取 access_token;每次调用item_get接口时,在请求头中携带 Authorization: Bearer {access_token}access_token 有效期通常为 24 小时,需定期刷新。

  2. APPCODE 认证:在 API 网关申请 appcode,请求头中携带 Authorization: APPCODE {appcode},无需刷新,适合简单场景。

步骤 2:完整代码实现(含 Token 获取 + 调用 + 数据标准化)

(1)依赖安装

bash

(2)Python 代码实现

import requests
import time
import pandas as pd
import logging
import hashlib
from urllib.parse import quote
from jsonpath_ng import parse
# 封装好API供应商demo url=https://console.open.onebound.cn/console/?i=Lex
# 日志配置
logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s - %(levelname)s - %(message)s",
    handlers=[logging.FileHandler("aiqicha_item_get.log"), logging.StreamHandler()]
)

# 配置信息(替换为你的爱企查开放平台信息)
CONFIG = {
    "client_id": "你的client_id",
    "client_secret": "你的client_secret",
    "token_url": "https://open.aiqicha.baidu.com/services/open/token/2.0",
    "item_get_url": "https://open.aiqicha.baidu.com/services/open/ic/basicInfo/2.0",
    "access_token": "",
    "token_expire_time": 0  # Token过期时间戳(秒)
}

def get_access_token() -> str:
    """获取爱企查access_token,处理过期自动刷新"""
    current_time = int(time.time())
    # 检查Token是否有效(提前5分钟刷新)
    if CONFIG["token_expire_time"] > current_time + 300:
        return CONFIG["access_token"]

    try:
        response = requests.post(
            url=CONFIG["token_url"],
            data={
                "grant_type": "client_credentials",
                "client_id": CONFIG["client_id"],
                "client_secret": CONFIG["client_secret"]
            },
            timeout=10,
            verify=True
        )
        response.raise_for_status()
        result = response.json()

        if result.get("error"):
            error_msg = f"{result['error']}: {result['error_description']}"
            logging.error(f"Token获取失败:{error_msg}")
            return ""

        # 更新Token与过期时间
        CONFIG["access_token"] = result.get("access_token", "")
        expires_in = result.get("expires_in", 86400)  # 默认24小时
        CONFIG["token_expire_time"] = current_time + expires_in
        logging.info(f"Token刷新成功,有效期至 {time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(CONFIG['token_expire_time']))}")
        return CONFIG["access_token"]
    except requests.exceptions.RequestException as e:
        logging.error(f"Token请求异常:{str(e)}")
        return ""
    except Exception as e:
        logging.error(f"Token解析异常:{str(e)}")
        return ""

def standardize_ent_data(raw_ent: dict) -> dict:
    """标准化爱企查企业详情数据,统一输出格式"""
    return {
        "企业名称": raw_ent.get("name", ""),
        "统一社会信用代码": raw_ent.get("creditCode", ""),
        "经营状态": raw_ent.get("regStatus", ""),
        "注册资本(万元)": raw_ent.get("regCapital", 0),
        "成立日期": raw_ent.get("establishTime", ""),
        "法定代表人": raw_ent.get("legalPerson", ""),
        "经营范围": raw_ent.get("businessScope", ""),
        "注册地址": raw_ent.get("regAddress", ""),
        "联系电话": raw_ent.get("contactPhone", ""),
        "联系邮箱": raw_ent.get("contactEmail", ""),
        "企业官网": raw_ent.get("website", ""),
        "历史名称": raw_ent.get("historyNames", ""),
        "是否有风险记录": raw_ent.get("riskFlag", 0),
        "是否黑名单": raw_ent.get("blacklistFlag", 0),
        "数据更新时间": raw_ent.get("updateTime", ""),
        "请求时间": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    }

def aiqicha_item_get(
    keyword: str,
    fields: str = None,
    need_change: int = 0
) -> dict:
    """调用爱企查item_get接口获取企业详情"""
    # 1. 获取有效Token
    access_token = get_access_token()
    if not access_token:
        return {"success": False, "error_msg": "Token获取失败", "data": {}}

    # 2. 构建请求参数
    params = {"keyword": quote(keyword, encoding="utf-8")}
    if fields:
        params["fields"] = fields
    if need_change:
        params["need_change"] = 1

    # 3. 构建请求头
    headers = {"Authorization": f"Bearer {access_token}"}

    try:
        # 4. 发送GET请求
        response = requests.get(
            url=CONFIG["item_get_url"],
            params=params,
            headers=headers,
            timeout=10,
            verify=True
        )
        response.raise_for_status()
        result = response.json()

        # 5. 解析响应结果
        if result.get("error"):
            error_msg = f"{result['error']}: {result['error_description']}"
            logging.error(f"接口调用失败(关键词:{keyword}):{error_msg}")
            return {"success": False, "error_msg": error_msg, "data": {}}

        raw_ent = result.get("result", {})
        if not raw_ent:
            logging.warning(f"无企业数据返回(关键词:{keyword})")
            return {"success": False, "error_msg": "无企业数据", "data": {}}

        # 6. 标准化数据
        standard_data = standardize_ent_data(raw_ent)
        return {
            "success": True,
            "data": standard_data,
            "error_msg": ""
        }
    except requests.exceptions.RequestException as e:
        logging.error(f"网络请求异常(关键词:{keyword}):{str(e)}")
        return {"success": False, "error_msg": f"网络异常:{str(e)}", "data": {}}
    except Exception as e:
        logging.error(f"数据解析异常(关键词:{keyword}):{str(e)}")
        return {"success": False, "error_msg": f"解析异常:{str(e)}", "data": {}}
# 封装好API供应商demo url=https://console.open.onebound.cn/console/?i=Lex
# 调用示例
if __name__ == "__main__":
    keyword = "江西新余废旧物资回收有限公司"
    fields = "name,creditCode,regStatus,legalPerson,businessScope"
    need_change = 0

    result = aiqicha_item_get(keyword=keyword, fields=fields, need_change=need_change)
    if result["success"]:
        print("爱企查企业详情:")
        for k, v in result["data"].items():
            print(f"{k}: {v}")
        # 保存为Excel
        df = pd.DataFrame([result["data"]])
        df.to_excel(f"aiqicha_ent_detail_{keyword}.xlsx", index=False)
    else:
        print(f"获取失败:{result['error_msg']}")

四、调试与问题排查:快速解决对接异常

1. 优先用官方工具调试(排除 Token 与参数问题)

  1. 登录爱企查开放平台调试工具,选择 basicInfo(item_get)接口;

  2. 输入关键词、fields 等参数,工具自动生成 Token 并发送请求;

  3. 若官方工具调用成功,说明代码的 Token 管理或参数拼接逻辑有误;若失败,检查权限或参数有效性。

2. 高频问题排查表

问题现象常见原因解决方案
Token 验证失败(401)1. client_id/client_secret 错误;2. Token 过期;3. Token 格式错误(缺少 Bearer 前缀)1. 核对开放平台应用信息;2. 调用 get_access_token 刷新 Token;3. 确保请求头格式为 Bearer {token}
权限不足(403)1. 未申请 basicInfo 接口权限;2. IP 不在白名单;3. 企业资质未审核通过1. 在开放平台申请对应权限;2. 添加服务器 IP 到白名单;3. 补充资质材料完成审核
参数错误(400)1. keyword 为空;2. keyword 未 URL 编码;3. fields 参数格式错误1. 确保 keyword 参数非空;2. 对中文 keyword 进行 URL 编码;3. fields 参数用逗号分隔字段名
无企业数据返回1. 关键词无匹配;2. 企业已注销 / 吊销;3. 企业为敏感行业(如军工),数据未开放1. 核对关键词是否准确;2. 在爱企查官网搜索关键词,确认企业状态;3. 敏感行业企业需特殊权限申请
数据更新不及时1. 缓存未过期;2. 数据同步延迟1. 等待缓存过期(基础信息 24 小时);2. 调用接口时添加 force_refresh=1 参数(需高级权限)

五、进阶优化:生产级稳定性提升

1. 性能与配额优化

  • 批量调用优化:多企业查询时,采用异步并发请求(aiohttp),控制并发数≤权限允许的频率上限(如企业基础权限 5 次 / 秒);

  • 智能缓存策略:用 Redis 缓存企业详情,缓存 key 为 aiqicha_ent_关键词,缓存有效期 24 小时,空结果 5 分钟;

  • 字段精简:通过平台自定义字段功能,只返回业务必需字段(如企业名称、信用代码、经营状态),减少响应体积与耗时。

2. 数据质量优化

  • 数据去重:按 creditCode(统一社会信用代码)去重,避免同一企业重复出现;

  • 异常值过滤:过滤注册资本≤0、经营状态为注销 / 吊销的企业(根据业务需求调整);

  • 关键词分词优化:对长关键词进行分词处理(如 “江西新余废旧物资回收有限公司”→“江西新余 废旧物资回收”),提升搜索覆盖率。

3. 合规与安全

  • 密钥管理:生产环境将 client_idclient_secret 存储在配置中心(如 Nacos、Apollo),禁止硬编码;定期轮换密钥(每 3 个月一次);

  • 重试机制:对 403(频率超限)、504(超时)等错误添加指数退避重试策略,首次重试间隔 1 秒,之后间隔翻倍,最多重试 3 次;

  • 日志审计:记录每次调用的关键词、筛选条件、响应状态、数据条数,保留至少 30 天日志,满足合规审计要求。


六、扩展场景:接口联动与功能升级

  1. 联动 item_search 接口:通过 item_search 获取企业名称 / 信用代码列表,批量调用 item_get 获取企业详情,实现 “搜索 - 详情” 全链路数据采集;

  2. 企业风险监控系统:定时调用 item_search 筛选目标企业,结合风险等级、经营状态变化,设置阈值触发热门告警(如风险条数突增);

  3. 行业数据看板:聚合多地区、多行业的搜索结果,统计企业数量、注册资本分布、风险比例,生成可视化数据看板。


群贤毕至

访客