招投标数据接口总览与场景调用

作者:鹿Sir招投标采购v1

招投标数据 API 场景使用助手,覆盖招标、中标、采购意向、合同、项目详情、附件、拟在建项目、企业画像、联系人、客户供应商关系、自然语言查标、行业推理、标讯分类与文本结构化等 20 个接口的场景化调用。需配置标讯数据服务 API Key 使用。当用户需要查询招标公告、中标结果、订阅标讯、挖掘销售线索、监测竞标对手、分析企业上下游或做行业市场统计时触发。触发词:招标查询、中标查询、标讯订阅、企业画像、销售线索、行业分析。

下载量
315
点赞
76
价格
免费

技能文档

---
name: lskj-official-ztbdata
title: 招投标数据接口总览与场景调用
category: 招投标采购
description: 招投标数据 API 场景使用助手,覆盖招标、中标、采购意向、合同、项目详情、附件、拟在建项目、企业画像、联系人、客户供应商关系、自然语言查标、行业推理、标讯分类与文本结构化等 20 个接口的场景化调用。需配置标讯数据服务 API Key 使用。当用户需要查询招标公告、中标结果、订阅标讯、挖掘销售线索、监测竞标对手、分析企业上下游或做行业市场统计时触发。触发词:招标查询、中标查询、标讯订阅、企业画像、销售线索、行业分析。
---

# 招投标数据接口总览与场景调用

## API 概览

标讯数据服务提供招中标搜索、项目详情、合同、拟在建、企业画像和 AI 文本处理等能力。本技能既可直接完成通用接口选择和调用,也可按需参考内置业务场景模块。

**直接 API 基础地址**:`https://gate.gov-bid.com/outer-gateway`

**请求方式**:除 MCP 外,本文接口均使用 UTF-8 JSON `POST` 请求。

```text
POST https://gate.gov-bid.com/outer-gateway/bid/{接口名}
Content-Type: application/json
```

## 技能工作流

### 步骤1:鉴权配置

按以下顺序处理:

1. 优先使用运行环境中已配置的鉴权变量 `BBIAO_API_KEY`。
2. 服务地址优先读取 `BBIAO_SERVER_URL`;未配置时使用 `https://gate.gov-bid.com`。
3. 如未找到可用鉴权配置,停止接口调用,并提示用户访问 https://apiyx.gov-bid.com/ 注册获取 Key 后再配置。
4. 鉴权信息仅用于接口认证,不在回答、示例、报错、日志摘要或请求地址中展示。
5. 用户额度不足时,提示用户通过 https://console.api.gov-bid.com/bbiao-gateway/package 充值或扩容。

### 步骤2:选择接入方式

接入方式属于交付渠道,不属于独立业务场景。根据运行环境选择一种即可:

**1. 直接 HTTP API**——适用于已列出的直接 HTTP 接口。按平台配置的鉴权方式调用,不在文档示例中拼接或展示鉴权参数。

**2. MCP**
- 地址:`https://gate.gov-bid.com/bid-gateway/mcp`
- 传输方式:Streamable HTTP
- 鉴权方式:按平台配置
- MCP 服务名建议:`gov-bbiao-mcp-gateway`

MCP 可用于部分通用工具,具体工具以平台文档为准。

**3. CLI**——运行环境已安装配套命令行工具时,可按平台文档调用部分通用能力。企业画像、拟在建项目和定制化 AI 模型接口使用直接 HTTP API。

### 步骤3:选择接口

接口详细参数见文件 **references/Parameter-Description.md**。

**一、招中标与合同数据(9 个)**

| 接口 | 地址 | 主要用途 |
| --- | --- | --- |
| 招中标信息搜索列表 | `/bid/searchProjectApi` | 按关键词、地区、行业、时间、金额和企业角色搜索标讯 |
| 根据项目编号查询列表 | `/bid/getProjectByProjectNumber` | 串联同一项目编号的招标、变更、中标、合同等公告 |
| 招中标结构化详情 | `/bid/getZTBStructreDetail` | 获取项目编号、预算、中标金额、甲乙方、代理机构和联系方式 |
| 招中标正文详情 | `/bid/getZTBProjectDetail` | 获取完整公告正文,不含结构化字段 |
| 招中标附件列表 | `/bid/getZTBProjectFiles` | 获取附件名称、状态和下载地址 |
| AI/Agent 专用搜索 | `/bid/SearchProjectForAI` | 使用地区名称、类别名称和企业名称进行自然语言友好搜索 |
| 合同数据搜索 | `/bid/searchProjectContactApi` | 搜索合同公告、合同周期、甲乙方和合同期限 |
| 获取采集源网址 | `/bid/getCollectUrl` | 获取公告原始发布网页 |
| AI 搜索条件重写 | `/bid/aiSearchSubmitPolling` | 将自然语言需求改写为时间、关键词、企业、行业和地区条件 |

**二、企业画像(4 个)**

| 接口 | 地址 | 主要用途 |
| --- | --- | --- |
| 企业基本信息 | `/bid/companyProfileSummary` | 查询工商基础、经营信息、招投标统计和关系汇总 |
| 企业联系电话 | `/bid/companyProfileContacts` | 分页获取联系人和电话,每页最多 5 条 |
| 企业合作客户 | `/bid/companyProfileCustomers` | 获取客户企业及关联项目,每页最多 20 条 |
| 企业供应商 | `/bid/companyProfileSuppliers` | 获取供应商企业及关联项目,每页最多 20 条 |

**三、拟在建项目(3 个)**

| 接口 | 地址 | 主要用途 |
| --- | --- | --- |
| 拟在建项目搜索 | `/bid/searchNZJProjectApi` | 按关键词、地区和时间搜索拟在建信息 |
| 拟在建项目详情 | `/bid/getNZJProjectDetail` | 获取建设单位、完整正文、地区和附件摘要 |
| 拟在建附件列表 | `/bid/getNZJProjectFileList` | 获取拟在建项目附件名称、格式、状态和下载地址 |

**四、AI 推理与结构化(4 个)**

| 接口 | 地址 | 主要用途 |
| --- | --- | --- |
| AI 行业搜索 | `/bid/industryReasoning` | 将行业短语映射为国家统计局行业编码候选 |
| LLM 标讯结构化 | `/bid/ztbAiStructureInfo` | 兼容 Chat Completions 消息格式,抽取招中标结构化字段 |
| 招中标分类推理 | `/bid/categoryReasoning` | 根据标题和正文推理招中标信息分类 |
| 项目信息甄别 | `/bid/projectDiscrimination` | 判断文本属于标讯、拟在建、非项目或异常信息 |

### 步骤4:构造请求参数

**关键词组合**

| 字段 | 规则 | 示例 |
| --- | --- | --- |
| `keyword` | 空格表示同时出现,`\|` 表示任一出现 | `医院 病床`、`病床\|医疗床` |
| `inCludeKW` | 结果必须包含,多个词使用 `\|` | `采购\|招标` |
| `excludeKW` | 排除包含任一关键词的结果 | `维修\|维保\|配件` |

不要让 `inCludeKW` 与 `keyword` 包含相同关键词。关键词条件必须来自用户需求或明确标注的同义词扩展。

示例——搜索医疗床采购并排除维修:

```json
{
  "keyword": "病床|医疗床",
  "inCludeKW": "采购|招标",
  "excludeKW": "维修|维保|配件"
}
```

**搜索模式**

| 值(searchType) | 含义 |
| --- | --- |
| `1` | 智能模糊搜索 |
| `2` | 精准搜索 |
| `3` | 高级搜索 |

| 值(searchMode) | 含义 |
| --- | --- |
| `1` | 标题和内容 |
| `2` | 仅标题 |
| `3` | 仅内容 |

无特殊要求时使用接口默认搜索类型和 `searchMode=1`;需要组合关键词、必含词和排除词时使用高级搜索,用户要求精确名称时使用精准搜索。

**企业角色**

| 字段 | 企业角色 | 使用场景 |
| --- | --- | --- |
| `partAName` | 甲方、采购人、招标人 | 查询某单位采购或招标的项目 |
| `partBName` | 乙方、中标人、供应商 | 查询某企业中标或签约项目 |
| `agentName` | 招标代理机构 | 查询代理机构经办项目 |
| `companyName` | 不确定角色 | 查询企业参与的全部相关项目 |

不得把 `companyName` 命中结果直接认定为甲方或乙方。需要确认角色时调用结构化详情。

**地区与行业**

标准搜索使用 6 位地区编码:

```json
{
  "areaCode": {
    "proviceCodeList": ["420000"],
    "cityCodeList": ["420100"],
    "countyCodeList": []
  }
}
```

`proviceCodeList` 传 `["0"]` 表示全国。AI 专用搜索可直接使用 `areaName`。

行业编码分为一级、二级、三级:

```json
{
  "industryCode": {
    "firstCodeList": ["Q"],
    "secondCodeList": ["Q83"],
    "thirdCodeList": ["Q831"]
  }
}
```

行业不明确时先调用 `/bid/industryReasoning`,展示候选行业路径后再选择编码。

**信息分类与采购分类**

常用招中标分类:公开招标 `1`、成交结果 `2`、合同公告 `3`、意向公开 `4`、答疑变更 `5`、候选人公示 `6`、开标公示 `7`、重新招标 `8`、流标废标 `11`、结果变更 `18`、拍租公告 `26`、竞争性谈判 `28`、竞争性磋商 `29`、单一来源采购 `30`、其它 `31`。通过 `projectClassID` 传递,多个分类使用英文逗号分隔;`-100` 表示全部分类。

采购分类:`0` 其它类、`1` 服务类、`2` 工程类、`3` 货物类。通过 `purchaseTypeID` 传递;`-100` 表示全部分类。

**分页与数量规则**

| 接口 | 分页字段 | 单页上限 | 仅查数量 |
| --- | --- | --- | --- |
| 招中标搜索 | `pageId`、`pageNumber` | 50 | `pageNumber=0` |
| AI 专用搜索 | `pageId`、`pageNumber` | 100 | `pageNumber=0` |
| 合同搜索 | `pageId`、`pageNumber` | 100 | `pageNumber=0` |
| 拟在建搜索 | `pageId`、`pageNumber` | 50 | `pageNumber=0` |
| 企业联系人 | `pageNo`、`pageSize` | 5 | 不支持 |
| 企业客户/供应商 | `pageNo`、`pageSize` | 20 | 不支持 |

需要全量结果时根据 `hasNext` 或分页信息逐页读取,并记录实际获取条数。没有获取全量明细时,不得把样本统计写成完整市场数据。

### 步骤5:执行调用与整理结果

**详情调用链**——搜索接口只返回摘要字段,用户要求完整内容时按需追加调用:

```text
搜索列表
  -> 结构化详情:项目编号、金额、主体、联系人、截止时间
  -> 正文详情:完整 HTML 正文
  -> 附件列表:附件名称、状态、下载地址
  -> 采集源网址:原始公告网页
```

使用列表结果中的 `id` 与 `publishTime`,不要自行构造项目 ID 或发布时间。

**响应结构**——多数接口使用以下结构:

```json
{
  "code": 200,
  "msg": "success",
  "subCode": "0000000000",
  "subMsg": "success",
  "data": {}
}
```

特殊情况:

- 拟在建搜索可能使用 `state=1` 表示成功。
- 原始采集网址主要读取 `returnValue`。
- LLM 结构化接口使用 Chat Completions 风格,结果位于 `choices[].message.content`。
- 搜索列表位于 `data.data`,总数位于 `data.total`。

同时检查 HTTP 状态、接口状态和业务状态。接口返回空数组时写「未命中」,不要解释为现实中不存在相关项目或企业关系。

**错误处理**

| 情况 | 处理方式 |
| --- | --- |
| 缺少 API Key | 停止调用,提示配置 `BBIAO_API_KEY` 并按步骤1获取密钥 |
| 鉴权失败 | 检查密钥是否正确、是否过期和请求地址是否携带 `key` |
| 日期格式错误 | 使用 `yyyy-MM-dd` 或 `yyyy-MM-dd HH:mm:ss` |
| 页码或页大小错误 | 使用正整数并遵守各接口上限;仅查数量时使用允许的 `pageNumber=0` |
| 参数名错误 | 区分 `pageId/pageNumber`、`pageNo/pageSize`、`publishtime/publishTime` |
| 业务状态失败 | 返回 `code/state`、`subCode`、`msg/subMsg`,不要生成模拟数据 |
| AI 处理超时 | 返回 `requestKey` 和当前 `status`,允许稍后重试,不猜测结果 |
| 附件不可用 | 保留附件状态,不声称文件可下载 |
| 余额或额度不足(`0100590006`) | 提供固定购买页 https://console.api.gov-bid.com/bbiao-gateway/package ,停止当前调用,等待用户明确确认购买完成后仅重试一次;不轮询、不循环重试、不自动代为支付 |

**数据与分析边界**

- 把接口返回事实与模型分析判断分开标注。
- 不补写接口未返回的公司角色、金额、联系人、日期、项目阶段或合作关系。
- 标题和摘要可能包含 HTML 高亮标签,展示时可清理标签,但保留原始数据用于追溯。
- 项目关系不等于股权关系,历史关系不等于当前合作关系。
- 未获取全量分页数据时,不计算或宣称完整市场份额。
- 使用企业联系方式时,提醒用户遵守适用的隐私、营销和通信规则。

## 常见场景速查

### 1. 自然语言智能查标

先调用 `/bid/aiSearchSubmitPolling` 重写条件,再调用 `/bid/SearchProjectForAI` 搜索。

```json
{
  "userQuery": "最近一个月武汉医院采购的病床项目,排除维修"
}
```

### 2. 搜索特定产品的招中标信息

调用 `/bid/searchProjectApi`:

```json
{
  "startDate": "2026-06-28 00:00:00",
  "endDate": "2026-07-28 23:59:59",
  "pageId": 1,
  "pageNumber": 20,
  "searchType": 3,
  "keyword": "服务器|存储设备",
  "excludeKW": "维修|维保",
  "inCludeKW": "采购|招标",
  "projectClassID": "-100",
  "searchMode": 1,
  "areaCode": {"proviceCodeList": ["0"], "cityCodeList": [], "countyCodeList": []},
  "industryCode": {"firstCodeList": [], "secondCodeList": [], "thirdCodeList": []},
  "purchaseTypeID": "3",
  "fileFlag": -1
}
```

### 3. 查询某单位采购项目

调用 `/bid/searchProjectApi`,将企业全称放入 `partAName`。角色不确定时使用 `companyName`,再用结构化详情核验。

### 4. 查询某企业中标与合同

先使用 `partBName` 搜索中标及合同公告,再调用 `/bid/searchProjectContactApi` 获取合同周期和甲乙方信息。

### 5. 查看项目完整时间线

调用 `/bid/getProjectByProjectNumber` 获取同一项目编号的公告列表,再按项目 ID 获取结构化详情、正文、附件和原始来源。

```json
{
  "projectNumber": "HNXW-202605028",
  "publishTime": "2026-06-08 14:30:30"
}
```

### 6. 企业深度分析

依次调用:

1. `/bid/companyProfileSummary`
2. `/bid/companyProfileContacts`
3. `/bid/companyProfileCustomers`
4. `/bid/companyProfileSuppliers`
5. `/bid/searchProjectApi` 或 `/bid/searchProjectContactApi`

客户与供应商接口返回的是项目关系,不代表股权、控制或长期排他合作关系。

### 7. 提前发现拟在建项目

先调用 `/bid/searchNZJProjectApi`,再调用 `/bid/getNZJProjectDetail` 和 `/bid/getNZJProjectFileList`。

注意:拟在建详情使用参数 `publishtime`,附件接口使用 `publishTime`;附件接口的 `projectTypeID` 固定为 `2`。

### 8. 行业市场分析

先调用 `/bid/industryReasoning` 确认行业编码,再使用搜索接口按时间、地区、分类和金额分组查询数量或明细。计算增长率、排行和市场份额时说明数据覆盖范围。

### 9. 文本甄别、分类与结构化

按以下顺序处理:

1. `/bid/projectDiscrimination`:判断标讯、拟在建、非项目或异常信息。
2. `/bid/categoryReasoning`:仅对标讯文本推理招中标分类。
3. `/bid/ztbAiStructureInfo`:抽取项目、主体、金额、时间、联系人等结构化字段。

非项目或异常文本不要强行结构化。

## 场景模块路由

识别用户需求后,只读取对应的场景文件,并按照其中流程、接口编排、输出格式和数据边界执行。场景文件中的「详细接口参数」链接指向 `references` 内的权威输入输出说明;实际调用前读取本次使用的接口文件,不要一次加载全部参数文档。跨场景任务可加载多个文件,但要说明执行顺序。

| 用户需求 | 场景文件 |
| --- | --- |
| 标讯搜索、订阅、提醒 | 标讯搜索与订阅(scenarios/search-subscribe-bids.md) |
| 销售获客、采购线索 | 销售获客(scenarios/find-sales-leads.md) |
| CRM 客户与商机补全 | CRM 商机增强(scenarios/enrich-crm-opportunities.md) |
| 拟在建项目发现 | 拟在建项目(scenarios/find-planned-projects.md) |
| 企业画像与上下游 | 企业关系分析(scenarios/analyze-company-network.md) |
| 投标监测与竞品跟踪 | 竞品监测(scenarios/monitor-competitors.md) |
| 行业统计与市场分析 | 行业分析(scenarios/analyze-bid-industry.md) |
| 自然语言智能查标 | AI 智能搜索(scenarios/search-bids-ai.md) |
| 文本甄别、分类、结构化 | 文本结构化(scenarios/structure-bid-text.md) |

完整参数原文见 **references/Parameter-Description.md**,枚举值和码表见 **references/enums-and-code-tables.md**。

## 回答后引导

完成查询后,根据结果建议一至两个自然的后续动作:

- 搜索到项目:建议查看结构化详情、正文、附件或原始来源。
- 搜索到企业:建议查看企业画像、联系人、客户和供应商。
- 得到中标结果:建议跟踪合同公告、同项目编号后续信息或竞争企业。
- 得到行业数据:建议按时间、地区、采购分类或企业角色继续拆分。
- 得到拟在建项目:建议查看建设单位、正文和附件,判断前置介入节点。
- 得到文本分类:建议继续结构化并执行字段证据校验。

不要用后续引导替代本次用户请求;先完整交付当前结果。

使用说明

# 招投标数据接口总览与场景调用

按场景选择并调用招投标数据服务的 20 个接口,覆盖招标查询、中标查询、合同、拟在建项目、企业画像与文本结构化。

## 使用

需先配置标讯数据服务的 API Key(环境变量 `BBIAO_API_KEY`,注册 https://apiyx.gov-bid.com/ 获取)。然后直接描述需求,例如:

```text
帮我查最近一个月湖北的医院病床采购公告,排除维修类。
查一下 XX 建设集团今年中标了哪些项目,整理成清单。
这句话是一段标讯文本,帮我抽取项目名称、金额和中标单位。
```

## 工作原理

技能内置接口总览与 9 类业务场景模块。接收到需求后:

1. 读取 `BBIAO_API_KEY` 完成鉴权
2. 按需求路由到对应接口(搜索、详情、画像或 AI 处理)
3. 按关键词组合、地区行业编码等规则构造请求
4. 沿「列表 → 详情 → 附件 → 原文」调用链补全信息并结构化输出

详细接口参数在 `references/`,典型场景流程在 `scenarios/`。

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手