Skip to main content

调试 SERP API

使用 x-brd-debug 响应头来提取关于你的请求的详细调试信息。 通过在你的代理用户名后附加 -debug-full 来激活:
x-brd-debug 响应头看起来像这样:

常见错误代码

示例 429 响应

SERP API error catalog

Fast SERP 运行在 SERP API 内部,并共享其错误代码。当请求失败时,错误代码通过 x-brd-error-code 响应头返回,可读的错误消息通过 x-brd-error 返回,如下例所示。此目录中的所有错误均不计费。
示例 query mismatch 响应

HTTP Error 429

429 表示达到了速率限制。请读取错误代码以区分具体原因。
示例 failed_query_rejected 响应
由于 client_10110 使用代理层响应头,处理 429 时请同时读取两组响应头:
sr_rate_limitbucket_rate_limit 的响应还会给出所应用的限制:

如何检测查询截断

Google 有时会返回比你提交的查询更短版本的结果。例如,搜索 pizza in tlv 可能返回 pizza 的结果。此行为同时适用于 SERP API 和 Fast SERP 文本(网页)搜索。在解析后的响应中比较 general.querygeneral.detected_query,然后检查是否存在 spelling 对象,以区分真正的拼写更正和被截断的搜索:
  1. 如果 general.querygeneral.detected_query 相同,说明 Google 搜索的正是你提交的内容。
  2. 如果二者不同,请检查是否存在 spelling 对象:
    • 存在 spelling - Google 自动更正了拼写,结果对更正后的查询有效。
    • 不存在 spelling - Google 截断(cloaked)了你的查询,结果对应的是你所搜索内容的更短版本。
下例展示了一个自动更正的查询,其中 detected_queryquery 不同,但 spelling 对象确认结果有效:
有关 generalspelling 字段定义,SERP API 参见 解析后的 JSON 结果,Fast SERP 参见 Fast SERP 网页搜索

查询被拦截时会发生什么

当 Bright Data 检测到 Google 标记了某个查询时,该查询会在 SERP API 和 Fast SERP 中被拦截 15 秒。在此时间窗口内针对同一查询的任何请求都会返回 failed_query_rejected 错误(如查询因重复过于频繁而被限流,则返回 repeat_query_rejected)。请在 15 秒窗口结束后重试该查询,或更改查询内容,以获取结果。完整的错误响应参见 SERP API 错误目录

获取每个域名的成功率统计

从过去 7 天检索 SERP API 成功率统计。支持单个域名或通配符。
单个域名
所有监控的 TLD
提供 API 密钥后,请相应地替换所有 $API_KEY$CUSTOMER_ID$ZONE$PASSWORD 占位符。