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

简介: 天眼查item_get接口(baseinfoV2)通过企业名称、信用代码等关键字,获取企业工商信息、联系方式、经营状态及变更记录等结构化数据,广泛应用于征信、风控、供应商管理。接口基于HTTPS+Token认证,数据源自权威渠道,字段完整、更新实时。本指南涵盖权限申请、Python对接、调试排错与生产优化,提供全链路实操支持,助力企业高效稳定集成。

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

  1. 接口定位与核心价值
    核心功能:输入企业名称、统一社会信用代码、注册号或企业 ID(keyword 参数),返回企业基础工商信息、联系方式、经营状态、变更记录、股权结构(需进阶权限)等核心数据;支持关联查询企业历史名称、分支机构等信息天眼查开放平台。
    天眼查数据特性
    权威合规:数据来自工商登记、官方备案等权威渠道,符合《企业信息公示暂行条例》等法规要求天眼查开放平台;
    字段完整:覆盖企业基础工商、联系方式、经营状态、变更记录等多维度数据,字段与国家企业信用信息公示系统一致;
    更新实时:基础工商信息缓存 24 小时,经营状态、变更记录实时同步;
    权限分级:基础信息开放度高,敏感数据(如股权结构、财务数据)需企业授权或高级权限。
    典型应用场景
    供应商筛选系统:查询合作企业资质、经营状态,降低合作风险;
    企业征信平台:聚合企业工商、资质、信用数据,生成征信报告;
    风控系统:实时监控合作企业经营状态,预警异常变更(如法人变更、经营异常)。
  2. 核心参数与返回字段
    (1)请求参数(GET 方式提交,需携带 Token 请求头)天眼查开放平台
    参数类型 参数名称 类型 是否必填 说明 应用示例
    请求头参数 Authorization string 是 接口调用 Token(开放平台获取) Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
    查询参数 keyword string 是 搜索关键字(企业名称、统一社会信用代码、注册号或企业 ID),需 URL 编码 江西新余废旧物资回收有限公司/91360502MA398XXXX
    fields string 否 需返回字段列表,逗号分隔 regStatus,legalPerson,businessScope,contactInfo
    need_change int 否 是否返回变更记录(1 = 是,0 = 否,默认 0) 1
    注意事项
    keyword 需 URL 编码,避免中文或特殊字符导致参数解析错误天眼查开放平台;
    Token 有效期通常为 24 小时,需定期刷新;
    接口支持 GET 请求,参数需拼接在 URL 中,请求头携带 Authorization Token天眼查开放平台。
    (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 小时,变更记录、经营状态实时同步;
    内容限制:未公示企业、注销企业、列入异常名录且未公示企业不返回敏感数据;
    合规要求:数据仅用于合规企业征信、供应商筛选、市场调研等业务,遵守《企业信息公示暂行条例》《个人信息保护法》等法规,严禁用于非法用途。
    二、对接前准备:权限与环境搭建
  4. 获取接口权限(官方唯一合规路径)天眼查开放平台
    天眼查item_get接口由天眼查开放平台提供,接入步骤如下:
    登录天眼查开放平台(https://open.tianyancha.com),注册企业账号;
    提交资质审核:企业营业执照、法人身份证、应用用途说明等材料;
    创建应用,填写应用名称、用途、服务器 IP 等信息,提交审核;
    审核通过后,获取 access_token(接口调用核心凭证),配置 IP 白名单;
    申请 baseinfoV2(item_get)接口权限,根据业务需求选择权限等级(基础 / 进阶 / 高级)。
    风险提示:严禁使用非合规爬虫、第三方接口抓取企业数据,违反平台协议与法规,存在账号封禁、法律追责风险。
  5. 技术环境准备
    (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:理解 Token 认证规则(核心,必掌握)
    天眼查接口采用 Token 认证 机制,流程如下:
    登录天眼查开放平台,创建应用并获取 client_id 和 client_secret;
    调用 token 接口(https://open.api.tianyancha.com/services/open/token/2.0),获取 access_token;
    每次调用item_get接口时,在请求头中携带 Authorization: Bearer {access_token};
    access_token 有效期 24 小时,需定期刷新。
    步骤 2:完整代码实现(含 Token 获取 + 调用 + 数据标准化)
    (1)依赖安装
    bash
    运行
    pip install requests pandas jsonpath-ng
    (2)Python 代码实现
    import requests
    import time
    import pandas as pd
    import logging
    from urllib.parse import quote
    from jsonpath_ng import parse

日志配置

logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[logging.FileHandler("tianyancha_item_get.log"), logging.StreamHandler()]
)

配置信息(替换为你的天眼查开放平台信息)

CONFIG = {
"client_id": "你的client_id",
"client_secret": "你的client_secret",
"token_url": "https://open.api.tianyancha.com/services/open/token/2.0",
"item_get_url": "https://open.api.tianyancha.com/services/open/ic/baseinfoV2/2.0",
"token_expire_time": 0 # Token过期时间(秒)
}

def get_access_token() -> str:
"""获取天眼查access_token,处理过期自动刷新"""
current_time = int(time.time())
if CONFIG["token_expire_time"] > current_time:
return CONFIG.get("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.get('error')}: {result.get('error_description')}"
        logging.error(f"Token获取失败:{error_msg}")
        return ""

    access_token = result.get("access_token", "")
    expires_in = result.get("expires_in", 86400)  # 默认24小时
    CONFIG["access_token"] = access_token
    CONFIG["token_expire_time"] = current_time + expires_in - 300  # 提前5分钟刷新
    return 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 tianyancha_item_get(
keyword: str,
fields: str = None,
need_change: int = 0
) -> dict:
"""调用天眼查item_get接口获取企业详情"""
access_token = get_access_token()
if not access_token:
return {"success": False, "error_msg": "Token获取失败", "data": {}}

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

headers = {"Authorization": f"Bearer {access_token}"}

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

    # 解析响应结果
    if result.get("error"):
        error_msg = f"{result.get('error')}: {result.get('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": {}}

    # 标准化数据
    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": {}}

调用示例

if name == "main":
keyword = "江西新余废旧物资回收有限公司"
fields = "name,creditCode,regStatus,legalPerson,businessScope"
need_change = 0

result = tianyancha_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"tianyancha_ent_detail_{keyword}.xlsx", index=False)
else:
    print(f"获取失败:{result['error_msg']}")

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

  1. 优先用官方工具调试(排除 Token 问题)
    登录天眼查开放平台调试工具,选择 baseinfoV2(item_get)接口;
    输入关键词、fields 等参数,工具自动生成 Token;
    发送请求,查看响应结果。若官方工具调用成功,说明代码 Token 管理或参数解析逻辑有误;若失败,检查权限或参数。
  2. 高频问题排查表
    问题现象 常见原因 解决方案
    Token 验证失败(401) 1. client_id/client_secret 错误;
  3. Token 过期;
  4. Token 格式错误 1. 核对平台应用信息;
  5. 调用 get_access_token 刷新 Token;
  6. 确保 Authorization 头格式为 “Bearer {token}”
    权限不足(403) 1. 未申请 baseinfoV2 接口权限;
  7. IP 不在白名单;
  8. 企业资质未审核通过 1. 在开放平台申请对应权限;
  9. 添加服务器 IP 到白名单;
  10. 补充资质材料,完成审核
    参数错误(400) 1. keyword 为空;
  11. keyword 未 URL 编码;
  12. fields 参数格式错误 1. 确保 keyword 参数非空;
  13. 对中文 keyword 进行 URL 编码;
  14. fields 参数用逗号分隔字段名
    无企业数据返回 1. 关键词无匹配;
  15. 企业已注销 / 吊销;
  16. 企业为敏感行业(如军工),数据未开放 1. 核对关键词是否准确;
  17. 在天眼查官网搜索关键词,确认企业状态;
  18. 敏感行业企业需特殊权限申请
    数据更新不及时 1. 缓存未过期;
  19. 数据同步延迟 1. 等待缓存过期(基础信息 24 小时);
  20. 调用接口时添加 force_refresh=1 参数(需高级权限)
    五、进阶优化:生产级稳定性提升
  21. 性能与配额优化
    批量调用优化:多企业查询时,采用异步并发请求(aiohttp),控制并发数≤权限允许的频率上限(如企业基础权限 5 次 / 秒);
    智能缓存策略:用 Redis 缓存企业详情,缓存 key 为 tianyanchaent关键词,缓存有效期 24 小时,空结果 5 分钟;
    字段按需获取:通过fields参数指定必要字段,不获取无关数据,减少响应体积与耗时。
  22. 数据质量优化
    数据一致性校验:对比企业名称与统一社会信用代码,校验数据准确性,过滤异常数据;
    字段标准化:将非结构化字段(如经营范围)解析为行业标签,便于后续数据分析;
    关联数据适配:建立企业 ID 与变更记录、分支机构的映射表,自动关联多维度数据。
  23. 合规与安全
    密钥管理:生产环境将client_id和client_secret存储在配置中心(如 Nacos、Apollo),禁止硬编码;定期轮换密钥(每 3 个月一次);
    重试机制:对 403(频率超限)、504(超时)等错误添加指数退避重试策略,首次重试间隔 1 秒,之后翻倍,最多重试 3 次;
    日志审计:记录每次调用的关键词、参数、响应状态、数据更新时间,保留至少 30 天日志,满足合规审计要求。
    六、扩展场景:接口联动与功能升级
    联动 item_search 接口:通过关键词(如 “江西新余 废旧物资回收”)搜索获取企业列表,再批量调用item_get获取详情,实现 “搜索 - 详情” 全链路数据采集;
    企业风控模型:结合企业工商、经营、变更记录数据,构建风控模型,预警经营异常、资质过期等风险;
    供应商管理系统:对接企业 ERP 系统,自动提取合作企业关键词,调用item_get获取最新资质与经营状态,实现供应商动态管理
相关文章
|
30天前
|
数据采集 缓存 自然语言处理
爱企查 item_get - 获取企业详情接口对接全攻略:从入门到精通
爱企查item_get接口(basicInfo)通过企业名称、信用代码等关键词,获取企业工商信息、联系方式、经营状态、变更记录及风险数据,适用于供应商筛选、风控合规等场景。接口基于HTTPS+Token认证,数据源自官方权威渠道,字段完整、更新及时。本指南涵盖权限申请、Python对接、调试排错与生产优化,提供全链路实操指导,助力企业高效安全集成。
|
7天前
|
人工智能 Shell Linux
2026年Clawdbot(Moltbot)部署配置阿里云百炼API完整教程指南
Moltbot(原Clawdbot)是一款开源AI个人助手,支持本地部署,兼容MacOS、Windows、Linux等多种系统,可接入钉钉、飞书、WhatsApp等常用聊天工具,通过自然语言控制设备与服务。它作为功能强大的自动化工具,支持Qwen、Claude、GPT等主流大语言模型,能处理邮件、日程安排、市场调研等自动化任务,也可作为个人知识库随时响应查询,适用于24小时在线AI助手部署、自定义自动化流程搭建等场景。阿里云百炼Coding Plan套餐已支持Moltbot接入,可抵扣通义千问系列大模型,本文将详细拆解Moltbot安装、百炼API配置及套餐适配流程,确保不改变原意且无营销表述
1807 7
|
26天前
|
缓存 JSON 监控
招标详情 item_get 接口对接全攻略:从入门到精通
招标详情 `item_get` 接口通过项目ID获取全流程结构化数据,涵盖公告、预算、中标结果、参与方及附件等,支持JSON/XML返回与签名认证,适用于监控、审计、投标与市场分析。本指南提供从权限申请、对接调试到生产优化的全链路实操指导,确保合规高效调用。
|
2月前
|
JSON Java 应用服务中间件
ELK Stack(ES+Logstash+Kibana)全链路通关指南
ELK Stack(Elasticsearch、Logstash、Kibana)作为开源领域最成熟的日志与数据分析解决方案,凭借其高可扩展性、实时性和易用性,被阿里、腾讯、字节跳动等大厂广泛应用于日志收集、业务检索、运维监控等场景。
388 3
|
3月前
|
人工智能 监控 算法
Transformer模型训练全解析:从数据到智能的炼金术
模型训练是让AI从数据中学习规律的过程,如同教婴儿学语言。预训练相当于通识教育,为模型打下通用知识基础;后续微调则针对具体任务。整个过程包含数据准备、前向传播、损失计算、反向更新等步骤,需克服过拟合、不稳定性等挑战,结合科学与艺术,最终使模型具备智能。
|
2月前
|
人工智能 文字识别 运维
通过人工智能平台PAI部署DeepSeek-OCR模型 官网控制台部署
本方案介绍如何在阿里云PAI平台部署DeepSeek-OCR开源模型,涵盖从账号准备、模型部署到应用体验的完整流程。通过PAI的Model Gallery可一键部署,结合PAI-EAS实现高性能推理,支持公网调用。适用于OCR场景快速搭建与测试,体验后建议及时清理资源以避免计费。
|
8月前
|
开发工具 开发者
HarmonyOS NEXT实战:接入微信SDK
本教程介绍如何在HarmonyOS Next中集成微信开放SDK,实现微信登录与数据交互功能。内容涵盖应用配置、SDK依赖设置、模块与构建修改、工具类添加及常见问题处理,适用于教育场景下的开发者学习与实践。
516 0
|
机器学习/深度学习 数据采集 算法
【Python篇】从零到精通:全面分析Scikit-Learn在机器学习中的绝妙应用
【Python篇】从零到精通:全面分析Scikit-Learn在机器学习中的绝妙应用
279 2