目标页面不存在时,费用由谁承担
如果你正在 ScraperAPI、Zenrows 和 FourA 之间做选择,而你的目标 URL 列表中包含死链:已下架的商品、过期的职位招聘、已迁移的页面。每次爬取都会遇到这种情况。那么核心问题来了:当目标返回 404 时,各家如何计费?以下信息均来自各平台截至 2026 年 9 月 9 日的官方计费文档。
目标返回错误时,FourA 如何计费
发往 FourA 的每个 request 最终会对应七种结果之一,并且只有成功才会计费。在未配置 validate 规则的情况下,只有当目标返回 HTTP 200 时,request 才会记为成功。404 属于 application failure。500、403 以及被你的规则拒绝的 challenge 页面同样如此。这些情况均不会计费,也不会计入你的套餐用量。
这也包括你主动取消的 request。在 response 返回前断开连接,结果会被归为 service failure,该状态完全免费。
具体扣费标准按 engine 划分:Single 消耗 1 credit,搭配 browser profile 消耗 2 credits,Proxy Finder 消耗 2 或 4 credits,Browser 消耗 5 credits,交互式页面则消耗 10 credits。每个 response 都会携带一个 X-FourA-Credits header,用于精确记录该任务消耗的额度。Dashboard 会在 Spent 旁同步显示 Billed,你可以直接查看两者的差额。
如果 404 对你而言属于有效数据(例如你正在监控哪些商品已被下架),你只需要主动声明:将 404 加入 validate.status.accept,该 response 就会作为计费的成功请求返回。计费标准由你定义,而不是由状态码决定。我们在通过 Validate 规则自定义成功判定中详细介绍了该机制。
面对相同 response 时,ScraperAPI 和 Zenrows 如何计费
ScraperAPI 的额度说明页写得很明确:"我们仅对成功的请求(200 和 404 状态码)以及在给予我们足够处理时间(70 秒)前由您主动取消的请求计费。" 普通页面消耗 1 credit,render=true 消耗 10 credits,针对带有反爬虫检测服务的网站每个 request 额外增加 10 credits。其状态码说明页重申了 404 的计费规则,并补充说明在重试 70 秒后仍失败的 request 不会收费。截至 2026 年 9 月 9 日,在Hobby 套餐下,每月 49 美元可购买 100,000 credits。
Zenrows 也采取了相同的标准。其计费文档显示:"HTTP 404 和 410 响应计为成功,因为请求已正确完成并返回了有效数据。" 其额度表标题为"每次成功请求消耗的 credits":标准 request 消耗 1 credit,JavaScript rendering 消耗 5 credits,premium proxies 消耗 10 credits,两者叠加消耗 25 credits,且定价页面表明这些权重是固定的。
| ScraperAPI | Zenrows | FourA | |
|---|---|---|---|
| 普通 404 | 1 积分 | 1 积分 | 0 |
| 渲染 404 | 10 积分 | 5 积分 | 0 |
| 由您取消 | 70 秒内计费 | 未说明 | 0 |
| 您要求的 404 | 1 积分 | 1 积分 | 计费,按您的规则 |
为什么 FourA 在这里更具优势
假设您本月有 5,000 个 URL 已失效。按照上述两条规则在 ScraperAPI 上进行渲染,需要消耗 50,000 积分,相当于 Hobby 计划 100,000 积分的一半,全部耗费在不存在的页面上。在 Zenrows 上,相同的 5,000 个请求按渲染权重计算为 25,000 积分。在 FourA 上,它们的计费为零,除非您明确告知我们需要 404,此时才会计费,因为它们本身就是所需的数据。这不是折扣,而是关于谁来定义成功这一问题的不同答案:是状态码,还是您。
客观来说,ScraperAPI 发布了成本查询 endpoint 和 max_cost 上限,便于您在获取 URL 之前评估价格,并在 sa-credit-cost header 中返回每个 request 的成本。Zenrows 提供了明确的积分表,承诺权重不会变动,并且同样不对失败的尝试收费。两者的规则都很清晰。只是我们的划界标准不同。
在 FourA 上运行相同的请求
调出您自己一周的日志并统计两项数据:返回 404 或 410 的 response,以及您的客户端放弃的 request。将第一项乘以您原本使用的权重(1、5、10 或 25),这就是账单中未产生任何价值的部分。在 FourA 上,该项为零,并且 Activity 日志中每个 request 的结果标签都会说明原因。
然后亲自验证:在 auth.foura.ai/signup 创建一个免费账户,通过 Single 发送一个失效的 URL,并观察在 Spent 变化时 Usage & Limits 中的 Billed 保持不变。