跳转到主要内容
Bright Data 市场数据集 API 的 Search 端点对市场数据集运行实时、基于 Elasticsearch 的查询:发送一个 filter,即可在响应中以亚秒级延迟取回记录。
将您的 API Key 粘贴到授权字段。要获取 API Key,请创建账户并了解如何生成 API Key

何时使用 Search?

当您需要在单次低延迟调用中取回少量记录时,使用 Search:
  • 实时查询,例如线索一进入 CRM 就立即增强。
  • 将实时记录输入 AI agent 或 LLM 应用。
  • 按姓名、职位、公司或地区进行销售勘探。
  • 购买前抽样数据集,搭配 "sort": "random"
  • 任何需要在一次调用中取回最多 1,000 条记录的工作负载。
如果您需要文件上传、批量导出,或某个不在支持列表中的数据集,请改用 Filter

运行您的第一个 Search 查询

/datasets/search/:dataset_id 发送 POST 请求,并带上一个 filter 对象。下面的示例在 LinkedIn 人物档案数据集中查询 name 包含 Egor 的记录:
curl -X POST "https://api.brightdata.com/datasets/search/gd_l1viktl72bvl7bjuj0" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "size": 10,
    "filter": {
      "name": "name",
      "operator": "includes",
      "value": "Egor"
    }
  }'
Search 内联返回记录。无需轮询,也没有快照 ID:
{
  "hits": [ /* records */ ],
  "total_hits": 579859,
  "took": 142
}

Search 支持哪些数据集?

Search 处于 alpha 阶段,目前支持三个 LinkedIn 数据集。其他任何数据集请使用 Filter
数据集dataset_id
LinkedIn 人物档案gd_l1viktl72bvl7bjuj0
LinkedIn 人物档案(含联系方式增强)gd_me5ppxjr2ge6icjuh0
LinkedIn 公司信息gd_l1vikfnt1wgvvqz95w
Amazon 数据集即将推出。更多数据集将在 2026 年第三季度逐步走向正式发布(GA)。向 Search 传入不受支持的 dataset_id 会返回 404

如何进行身份验证?

Search 使用 Bearer token 身份验证。在 Authorization 请求头中传入您的 API Key:
Authorization: Bearer YOUR_API_KEY
账户设置获取您的 Key。

Search 接受哪些参数?

名称类型默认值必填说明
filterobject-筛选表达式。不能为空。参见筛选语法参考
sizenumber100返回的记录数量。Search 最适合每次调用最多 1,000 条记录。
sortstring 或 array-defaultrandom,或自定义排序,如 [{"timestamp":"asc"}]
search_afterarray-分页游标。传入上一次响应中的 search_after 值。

Search 返回什么?

名称类型说明
hitsarray匹配的记录。
total_hitsnumber与筛选匹配的记录总数。
tooknumber服务器耗时(毫秒)。
search_afterarray下一页的游标。仅在设置了 sort 时返回。

如何排序和分页?

设置 sort 控制排序,并使用返回的 search_after 游标翻页。

使用随机排序抽样数据集

使用 "sort": "random" 提取有代表性的样本,例如在购买数据集之前:
curl -X POST "https://api.brightdata.com/datasets/search/gd_l1viktl72bvl7bjuj0" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "size": 10,
    "sort": "random",
    "filter": { "name": "name", "operator": "includes", "value": "Egor" }
  }'

使用 search_after 翻页

设置 "sort": "default" 以在响应中获得 search_after 游标。请求第一页:
{
  "size": 10,
  "sort": "default",
  "filter": { "name": "name", "operator": "includes", "value": "Egor" }
}
将返回的 search_after 数组传回以获取下一页:
{
  "size": 10,
  "sort": "default",
  "search_after": [ /* value from previous response */ ],
  "filter": { "name": "name", "operator": "includes", "value": "Egor" }
}

按自定义字段排序

传入由”字段到方向”对象组成的数组,按指定字段排序:
{ "sort": [{ "timestamp": "asc" }] }

Search 的费用是多少?

Search 的费用为 $2.5 CPM(每返回 1,000 条记录),与市场价格相同。筛选返回 0 条记录时不收费。

Search 可能返回哪些错误?

状态码含义处理方式
400筛选或参数有误使用获取数据集元数据核对字段名。
401API Key 错误或缺失检查您的 Bearer token。
402余额不足充值或减小 size
404未知的 dataset_id确认数据集在上方的支持列表中。
422筛选未匹配任何记录放宽筛选条件或检查字段值。
429触发速率限制退避后重试。

常见问题

Search 支持 CSV 或 JSON 文件上传吗?

不支持。Elasticsearch 无法在查询时读取外部文件。要按 CSV 或 JSON 文件中的成千上万个值进行筛选,请使用 Filter 端点

Search 一次调用能返回多少条记录?

Search 最适合每次调用最多 1,000 条记录。如需更大规模的提取,请使用 Filter,它基于快照并支持批量导出。

为什么 Search 和 Filter 返回的结果略有不同?

两个端点使用不同的引擎。Elasticsearch 对文本的分词方式与快照引擎不同,因此自由文本匹配可能存在差异。在自由文本字段上,建议优先使用 includes 运算符而非 =

相关文档