Skip to main content
Business Search 的错误是一个带有 error 消息的 JSON 响应体,绝不是零匹配的成功搜索。HTTP 200 且 documents 为空数组表示搜索已执行但没有结果;其他状态码都会说明出了什么问题。

Business Search 会返回哪些状态码

请在 429 响应的 Retry-After 标头指定的等待时间之后重试。请对 500502504 使用有上限的退避重试。切勿重试 400401403404501,因为同样的请求每次都会失败。如果同一请求反复返回带有 error_code backend_search_failed500,问题出在请求本身,请修改请求而不是重试。

请求为什么被拒绝

Business Search 以 HTTP 400 拒绝无效请求体,并在响应中说明被拒绝的内容。选择未知输出字段时会返回:
字段类型不支持所用运算符时会以同样方式被拒绝。错误信息会指出字段、运算符以及该运算符支持的类型:
industrycurrent_title 等文本字段只接受 text 运算符。参见 Business Search 查询语法 部分拒绝响应还会包含 error_code,即机器可读的错误类别,例如 invalid_querybackend_search_failed。存在 error_code 时可据此分支处理,不存在时请回退到 HTTP 状态码,因为通用错误不包含该字段。 校验失败时请修正请求。速率限制检查在校验之后执行,因此被拒绝的请求不会消耗速率限制配额,但重复发送无效请求体同样无法成功。

速率限制是多少

默认限制为每分钟 60 次请求,按账户、类目和模式分别计算。因此公司搜索与人物搜索各有独立配额,每个类目下的 Ludicrous、Instant 和 Smart 也各有独立配额。 超过限制时,Business Search 会返回 HTTP 429,并在 Retry-After 标头中给出需要等待的秒数。请等待该时长后再重试。被限流的请求不会执行搜索,也不会计费。

各类故障应如何处理

请在自己的日志中区分这四种情况。把它们合并成单一的“搜索失败”分支,会掩盖查询错误与服务故障之间的区别。

联系 Bright Data 支持时应提供什么

请提供端点、HTTP 状态码、请求时间、错误消息,以及返回的 req_id。必要时可附上脱敏后的请求体。
切勿把 API key 或 Authorization 请求头发送给支持团队,无论是在工单、日志导出还是截图中。一旦泄露,请立即轮换该 key。

常见问题

返回 200 是否表示查询被正确理解

不是。200 表示搜索已执行。在 Instant 和 Smart 模式下,自然语言意图和结果相关性不会因为 HTTP 请求成功而得到保证,因此使用记录前请先审阅结果。

HTTP 400 应该重试吗

不应该。HTTP 400 表示请求本身无效,同样的请求体每次都会失败。只对 HTTP 500、502 和 504 进行有上限的退避重试。

被拒绝的请求会计入速率限制吗

不会。Business Search 先校验请求,再检查速率限制,因此格式错误的查询不会消耗配额。请修正请求而不是重试,因为无效请求体无论发送多少次都不会成功。

如何区分字段缺失与空结果

返回记录中缺少某个字段,表示数据源对该记录没有存储值。documents 数组为空,表示没有记录匹配条件。前者按记录处理,后者按请求处理。