Skip to main content
本页展示经过测试的 Business Search 请求,用于回答潜在客户挖掘和招聘问题: 每个请求都从 BRIGHTDATA_API_KEY 环境变量读取 API key,设置方法见 Business Search 快速入门。你的记录和 matched 数量会与示例响应不同,因为结果在不同运行之间会变化。

如何按办公地点而非总部查找公司

要查找在德国设有办公室的软件公司,而不论其总部在哪里,请按 offices_country_codes 而非 headquarters_country_code 筛选。该字段是国家代码数组,接受 in,因此一个条件即可匹配在任一列出国家设有办公室的公司。Instant 和 Smart 接受同一意图的自然语言表述。
以下 Ludicrous 请求把行业中的 software 与办公国家代码中的 DE 组合在一起。text 条件设置了 mode: "all":测试中,默认模式只触及了一小部分匹配的公司,而且每次运行触及的部分都不同:示例请求
示例响应返回的三条记录中的第一条:

如何匹配公司描述或专长中的短语

要查找在英国设有办公室的欺诈检测软件提供商,请匹配公司自我描述文本中的词语。fraud detection software 可能出现在 about 或 specialties 中,因此结构化查询用 or 同时检查两个字段,并用 mode: "all" 要求三个词出现在同一字段中。这是词语匹配,并不证明该公司销售欺诈检测产品:公司可能描述了欺诈检测相关工作,却并不以此作为产品。
以下 Ludicrous 请求接受任一字段命中,并要求在 GB 设有办公室:示例请求
示例响应返回的三条记录中的第一条:

如何按曾任雇主查找人物

要查找曾在 Microsoft 工作、现已离开的美国工程经理,请把针对 past_company_names 的 text 条件与针对 current_company_name 的 not 条件组合起来。这个例子请使用结构化查询:测试中,自然语言形式能找到曾在 Microsoft 工作的人,但没有排除目前仍在 Microsoft 工作的人。past_company_names 只列出雇主而不含日期,因此结果只能说明此人曾在 Microsoft 工作,而不能说明是何时。 两个雇主条件都设置了 mode: "all",与按办公地点查找的示例相同。not 条件会排除当前雇主仍是 Microsoft 的档案: 示例请求
示例响应 返回的三条记录中的第一条:

如何运行多步搜索

同时包含公司条件和人物条件的问题,需要不止一次 Business Search 请求。人物搜索只能按人物可搜索字段筛选,例如 current_title 和 current_company_name。公司搜索按公司可搜索字段筛选,例如融资和总部。人物记录可以在视图中返回 current_company_funding_raised,但人物搜索无法按该字段筛选。 分三步运行搜索:
  1. 运行公司搜索,满足公司条件,并收集公司名称。
  2. 运行人物搜索,满足人物条件,并限定在这些公司名称范围内。
  3. 只保留当前雇主属于第 1 步公司之一的档案。
下面的示例查找总部位于旧金山、最近一轮融资为 1 USD 至 200 万 USD 的科技公司的 CEO。

前提条件

  • 一个具有 Business Search 访问权限的 Bright Data API 密钥,存储在 BRIGHTDATA_API_KEY 环境变量中。参见 Business Search 快速入门
  • Python 标签页需要安装了 requests 包的 Python 3;Node.js 标签页需要 Node.js 18 或更高版本

第 1 步:查找公司

在 Instant 模式下,把问题中与公司相关的部分作为一句话发送。视图请求 name(第 2 步和第 3 步用它把人物匹配到公司),以及 headquarters_city 和 funding_raised,便于逐一核对每家公司是否符合问题:
Instant 可能会返回总部不在旧金山的公司,因此 Python 和 Node.js 代码只保留 headquarters_city 包含 San Francisco 的公司。Instant 最多返回前 100 条匹配结果。如需一份按每家公司与该句子的契合程度排序的较短列表,请以 "mode": "smart" 和 "limit": 10 发送同样的请求体。Smart 每次搜索的费用更高。参见 Business Search 价格。

第 2 步:搜索这些公司的人物

在 Ludicrous 模式下发送人物搜索,因为此时的输入是第 1 步得到的公司名称列表,而不是一句话。每次请求将人物条件(本例中为 CEO 职位)与最多 10 个公司名称组合,作为 current_company_name 上的 or 条件:
Python 和 Node.js 代码每批 10 个名称发送一次请求,并以 bright_id 为键保存结果,因此被两个批次同时返回的档案只保留一次。在 cURL 标签页中,把 COMPANY_NAME_1 和 COMPANY_NAME_2 替换为第 1 步得到的公司名称,每个名称添加一个条件。每次请求都是一次单独计费的搜索,因此 100 家公司共需 11 次搜索。

第 3 步:保留公司匹配的档案

只保留 current_company_name 与第 1 步中某个公司名称完全一致的档案。使用 cURL 时,请对比第 1 步和第 2 步响应中的这两个值:
仅靠第 2 步的搜索还不够。current_company_name 是文本字段,条件会匹配公司名称包含这些词的所有档案:Acme 也会匹配 Acme Robotics。按完整名称比对会剔除这些档案,也会剔除没有 current_company_name 的档案。两次搜索没有共同的标识符:公司记录的 company_id 与人物记录的 current_company_id 是不同的值,因此名称是两边都会返回的唯一字段。 使用名单前请先核对。针对 current_title 的 text 条件也会匹配仅包含 CEO 的职位,例如 Assistant to CEO。同一个公司名称也可能属于不止一家公司,按名称匹配无法区分它们。