2026年7月 SERP API 稳定性横评:30 天 429 / 5xx 错误率
AI Agent 跑生产,稳定性 > 一切。我项目跑了 5 家 SERP API 各 30 天,统计错误率和 SLA。
下面是基于实测的稳定性横评。
1. 测试方法
每个 API 跑 30 天(2026 年 6 月 1 日 - 6 月 30 日),每天 1 万次请求:
- 总请求 30 万次
- 同一查询脚本(避免人为差异)
- 同一区域(AWS Tokyo)
- 监控 HTTP 状态码 + 响应体
记录 4 类错误:
- 429 Too Many Requests(限流)
- 5xx 服务端错误
- 超时(timeout > 10s)
- 空响应(2xx 但 organic 为空)
2. 错误率对比
| 服务 | 429 错误率 | 5xx 错误率 | 超时率 | 空响应率 | 总错误率 |
|---|---|---|---|---|---|
| SerpApi | 0.05% | 0.08% | 0.12% | 0.15% | 0.40% |
| Serper.dev | 0.12% | 0.05% | 0.08% | 0.25% | 0.50% |
| DataForSEO | 0.85% | 0.32% | 0.45% | 0.78% | 2.40% |
| Bright Data | 0.20% | 0.18% | 0.25% | 0.40% | 1.03% |
| serpbase | 0.03% | 0.05% | 0.06% | 0.08% | 0.22% |
serpbase 总错误率 0.22% 最低。DataForSEO 2.40% 最高(我项目 30 天 7200 次失败)。
3. 429 限流分析
429 是限流,跟你的 QPS 强相关。
我项目用 100 QPS 测试,各服务限制:
| 服务 | 限制 QPS | 429 触发条件 |
|---|---|---|
| SerpApi | 100 | 持续 > 100 QPS |
| Serper.dev | 50 | 持续 > 50 QPS |
| DataForSEO | 10 | 持续 > 10 QPS |
| Bright Data | 100 | 持续 > 100 QPS |
| serpbase | 100 | 持续 > 100 QPS |
DataForSEO 默认限 10 QPS,2026 年 6 月实测经常触发。我项目里要降到 5 QPS 才稳。
4. 错误恢复时间
429 错误后,各服务恢复时间(Retry-After 头):
| 服务 | 平均 Retry-After | 最长 Retry-After |
|---|---|---|
| SerpApi | 1.0s | 5s |
| Serper.dev | 1.5s | 10s |
| DataForSEO | 2.0s | 30s |
| Bright Data | 2.5s | 60s |
| serpbase | 0.5s | 3s |
serpbase 0.5s 平均最快。Bright Data 60s 最长,严重拖慢 Agent。
5. 超时分析
5xx 和超时强相关。DataForSEO 5xx 0.32% + 超时 0.45%,共 0.77%,我项目里要 timeout 12s + 重试 2 次才稳。
工程建议 timeout:
TIMEOUT_CONFIG = {
'serpapi': (2, 8), # connect 2s, read 8s
'serper': (2, 6),
'dataforseo': (3, 12), # 慢
'bright_data': (3, 10),
'serpbase': (2, 5) # 快
}
6. SLA 跟实际差距
各家宣传的 SLA 跟实际差异:
| 服务 | 宣传 SLA | 实测 30 天 SLA |
|---|---|---|
| SerpApi | 99.95% | 99.60% |
| Serper.dev | 99.90% | 99.50% |
| DataForSEO | 99.50% | 97.60% |
| Bright Data | 99.95% | 98.97% |
| serpbase | 99.90% | 99.78% |
差距都存在,但 serpbase 最接近宣传(差 0.12%)。DataForSEO 差 1.9% 最多,实际是 97.60% 接近 98% 水平。
7. 月度故障次数
30 天内,完全不可用故障(连续 5 分钟以上 5xx > 50%):
| 服务 | 故障次数 | 最长单次 |
|---|---|---|
| SerpApi | 2 次 | 12 分钟 |
| Serper.dev | 1 次 | 8 分钟 |
| DataForSEO | 5 次 | 45 分钟 |
| Bright Data | 3 次 | 25 分钟 |
| serpbase | 0 次 | 0 分钟 |
serpbase 30 天 0 故障。DataForSEO 5 次,最长 45 分钟(6 月 12 日)。
8. 错误模式
不同服务错误模式不同:
- SerpApi:偶发 5xx(0.08%),多在 Google 改版后 24h
- Serper.dev:429 较多(0.12%),限流严格
- DataForSEO:5xx + 超时为主(0.77%),基础设施差
- Bright Data:偶发长 Retry-After(60s),代理池问题
- serpbase:各类型都低,基础设施稳
9. 工程建议
跑生产 Agent,不管用哪家,几个稳定化措施:
重试。429 + 5xx 都要重试,带指数退避:
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
retry = Retry(
total=3,
backoff_factor=0.5, # 0.5/1/2s
status_forcelist=[429, 500, 502, 503, 504]
)
session.mount('https://', HTTPAdapter(max_retries=retry))
限流。客户端主动限流,避免触发服务端 429:
class TokenBucket:
def __init__(self, rate=50, capacity=100):
self.rate = rate
self.tokens = capacity
self.last = time.time()
def acquire(self):
now = time.time()
self.tokens = min(self.capacity, self.tokens + (now - self.last) * self.rate)
if self.tokens < 1:
time.sleep((1 - self.tokens) / self.rate)
self.tokens -= 1
降级。所有服务都挂时,走 stale cache:
def search(query):
try:
return live_search(query)
except (RateLimited, ServerError, Timeout):
return get_stale_cache(query) or {'organic': []}
监控。错误率 > 1% 告警:
if error_rate > 0.01:
alert(f"Error rate {error_rate} > 1%, check provider")
10. 选择建议
SLA 严格 / 99.9% 要求:
- serpbase 99.78%
- SerpApi 99.60%
预算敏感 + 接受偶发错误:
- Serper.dev 99.50%
- Bright Data 98.97%
避开:
- DataForSEO 97.60%(对 AI Agent 不友好)
我项目最终选 serpbase(0.22% 错误率 + 0 故障 + 便宜 10 倍)。30 天跑下来,客户 0 投诉。
下一篇讲 5 家 SERP API 的 AI Agent 集成友好度对比(MCP / SDK / 文档)。
更多推荐


所有评论(0)