Cloudflare Web Search API 拆解:同一接口三家引擎价差 28 倍,封完爬虫再卖索引
10 月 2 日Cloudflare 把 Web Search API 推进公开 beta。Agent 发一个 POST 就能搜全网不用再猜 URL 或吃训练截止日。真正扎眼的是价格同一个接口三家引擎价差 28 倍。默认的 Ceramic.ai 每千次0.25 美元Exa 每千次7 美元。Linkup 夹在中间每千次5 美元。Hacker News 上 546 个赞、两百多条评论吵的不是接口而是生意。一边封别人的爬虫一边卖别人的索引闭环两个字被反复提起。这篇拆解把账单、条款和文档矛盾逐条摆开。数字全部来自 Cloudflare 官方文档与供应商条款原文。读完你可以自己算清 Agent 搜索到底该花多少钱。一个 POST 三家引擎接口长什么样端点挂在 Cloudflare 主 API 之下路径是 /ai/websearch/。完整地址带账户 IDPOST 加 Bearer 令牌即可调用。令牌需要两个权限Workers AI 的 Read 和 AI Gateway 的 Read。请求体只有四个字段query、provider、limit、options。query 最长1024 字符这是全文唯一的输入框。provider 是枚举ceramic、exa、linkup 三选一。不写 provider 就默认走 Ceramic.ai。limit 控制返回条数1 到 10默认 10。options 里必须指定 AI Gateway 的 id每账户自带 default。所有请求都流经 AI Gateway这是整个设计的轴心。搜索调用和模型推理落在同一份日志里。计费、限流、分析、访问控制全部复用网关那一套。响应很薄items 数组加一段 metadata。每条 item 只有 url、title、description 三个字段。metadata 带 query、requestId 和 latencyMs。没有答案生成没有摘要拼接原始结果直出。Worker 里更省事env.AI.websearch 一行搞定。绑定方法返回标准 Response再调一次 json 就是结果。wrangler 配置只要声明 ai binding不必装任何 SDK。BYOK 也支持把供应商密钥托管到网关的 Provider Keys。托管密钥经 Secrets Store 加密请求里永不出现明文。传了 byokAlias 而网关没配置请求直接 400绝不回落扣费。不传且网关存在 default 别名密钥就静默走你自己的 key。文档还给出工具调用范式模型声明 web_search 工具再回填结果。二十八倍价差买什么三份搜索哲学三家的差别不是质量浮动是底层资产完全不同。Ceramic.ai 自己养着超过400 亿页的独立索引。这个索引从第一天就服务模型不服务人类搜索框。它返回的每条 description 可以长到 8000 字符。对 Agent 来说这几乎等于把页面正文摘要直接塞过来。0.25 美元千次的定价明显冲着高频调用的 Agent 场景。一个任务跑几十次搜索的 Agent只有这个价位扛得住。Exa 是关键词加嵌入向量的混合索引auto 模式自动权衡。它返回的 description 是与查询最相关的页面高亮片段。7 美元千次买的是精挑摘录而不是长篇描述。Linkup 走 fast 深度加原始结果明确不替你生成答案。5 美元千次卖点是带来源的快速可信片段。Hacker News 评论区立刻有人拉出市价对比。serper.dev 每千次 1 美元还送 2500 次免费额度。OpenRouter 的搜索接口背后就是 Exa每千次 4 美元。同一家 Exa经 Cloudflare 过手反而比 OpenRouter 贵 3 美元。也有人点破Brave 是唯一允许付费存储结果的玩家。存储权为什么敏感后面的条款一节会看到。价格表值得完整摆一次数字自己会说话。Provider千次价格索引资产结果描述ZDRCeramic.ai默认$0.25自建 400 亿 页长描述至 8000 字符是Linkup$5.00全网可信片段fast 深度原始结果是Exa$7.00关键词嵌入混合auto 模式高亮摘录否见下节serper.dev$1.00Google 结果2500 次免费额度—OpenRouter$4.00Exa 通道同 Exa—注意表里 Exa 的 ZDR 一栏那是下一节的引子。按刊例价算账Agent 搜索成本可以差出一个数量级。每天 200 次查询的 Agent月查询量约 6000 次。走 Ceramic 月成本1.5 美元约等于一杯豆浆。同样的查询量走 Exa月成本42 美元。28 倍就是这么来的0.25 对 7明晃晃写在官网。选 provider 因此不是技术偏好而是预算决策。零数据保留的罗生门changelog 原文写得漂亮三家都为经 Cloudflare 的请求提供 ZDR。翻到 providers 文档页Exa 那一栏却印着 No。Hacker News 读者把两处原文并排贴出来矛盾无从遁形。有评论替官方解围猜测这只是文档笔误。但另一条评论翻出 Exa 隐私政策称其保留训练权利。数日过去官方页面仍未统一口径。ZDR 不是合规装饰品它保护的是查询本身。Agent 的搜索词往往暴露业务方向和未公开计划。检索某个竞品价格这件事本身就是商业情报。文档打架时采购的稳妥姿势是按 No 假设。涉密查询走 BYOK 加自建审计而不是赌笔误。Ceramic 和 Linkup 两家明确标了 Yes。它们的承诺还附带 verified bot 爬取标准背书。值得一提ZDR 管的是供应商侧留存。Cloudflare 网关侧的日志留存是另一本账。网关日志里同样躺着完整 query留存策略另算。敏感场景要把两本账放在一起审。这个细节在 changelog 里没有一个字的提示。文档团队欠读者一个勘误。在勘误落地之前把 Exa 当非 ZDR 用。服务条款里埋的存储禁令Simon Willison 在评论区抛出他的头号问题。搜索 API 到底允不允许存下结果再分发。答案照例埋在条款深处不在产品页。他翻出 Ceramic 条款禁止清单里的第 n 条。原文禁止收集、聚合、存储、编译 Output 去建任何库。无论这个库是否用来和 Ceramic 竞争一律禁止。第 o 条再补一刀禁止转售或作为独立组件分发。例外条款写得极其狭窄。只能展示给授权最终用户且必须伴随实时查询。并且结果不得被用户或第三方单独提取下载。有读者跟帖可见即可提取这个例外自相矛盾。另一处条款禁止超出合理必要地保留与缓存结果。Simon 评价合理必要四个字模糊得令人恼火。长会话里保存搜索结果很可能就越过这条线。对 Agent 架构这是硬约束不是法务噪音。你不能给 Agent 建私有搜索结果缓存层。每次检索都要重新向卖方付费。这恰好解释了 0.25 美元的低价策略。低价钓高频调用条款锁死数据沉淀。Brave 允许存结果但要为此付更高的价格。存储权本身就是定价维度这是行业明规则。架构结论把搜索当实时流别当资产。封爬虫的手与卖索引的手更大的争议在 Cloudflare 的角色。过去一年它用 AI Crawl Control 给 AI 爬虫扎篱笆。默认拦截加按域名授权站长第一次有了开关。现在它又把三家搜索引擎的索引卖给 Agent。入口向爬虫收钱出口向检索收钱。codingdave 的评论点破了仲裁者角色。谁来判定一个请求是人、授权 bot 还是非法 bot。Cloudflare 想三方通吃判定者、收费者、受益者。OutOfHere 的评论更尖锐直接扣上反垄断帽子。先封掉别人的爬虫再放行自己结盟的爬虫。有人提到 pay-to-crawl 可能抽成三成的传闻。这个数字没有官方确认但方向符合商业逻辑。也有用户站出来说好话。bayesianbot 给自家 Agent 发带限额的 Cloudflare 令牌。几分钟就接管了几十个服务的密钥与预算。这和我们此前拆过的硬预算帽是同一逻辑。默认断供比事后账单有人情味得多。信任派的理由是 Cloudflare 已是既定中间人。多用一项服务并不增加新的数据暴露面。反对派搬出 FISA 702 条款与元数据风险。网关集中化让查询日志成为单点情报源。这场争论没有标准答案。但采购清单里必须有仲裁者风险这一行。基础设施越顺手锁定就越深。动手带预算帽的多引擎客户端最后把价差固化成代码写一个带预算帽的客户端。纯标准库实现连 requests 都不用装。预算检查先于网络请求执行。超支直接抛异常Agent 主循环捕获后自行降级。单价表硬编码三家刊例价换 provider 即换单价。账户 ID 与令牌走环境变量不落盘。响应解析兼容网关包装与裸结果两种形态。每条结果打印标题、链接与前 160 字符描述。metadata 里的 latencyMs 一并输出便于对账。代码如下拿到令牌即可直接运行。import json import os import urllib.request ACCOUNT_ID os.environ[CLOUDFLARE_ACCOUNT_ID] API_TOKEN os.environ[CLOUDFLARE_API_TOKEN] ENDPOINT fhttps://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/websearch/ PRICE_PER_1K {ceramic: 0.25, linkup: 5.00, exa: 7.00} def web_search(query, providerceramic, limit5, gatewaydefault, budget_usd0.50, spent_usd0.0): unit_cost PRICE_PER_1K[provider] / 1000 if spent_usd unit_cost budget_usd: raise RuntimeError( fbudget exceeded: {spent_usd unit_cost:.4f} {budget_usd:.2f}) payload { query: query, provider: provider, limit: limit, options: {gateway: {id: gateway}}, } req urllib.request.Request( ENDPOINT, datajson.dumps(payload).encode(utf-8), headers{ Authorization: fBearer {API_TOKEN}, Content-Type: application/json, }, methodPOST, ) with urllib.request.urlopen(req, timeout30) as resp: body json.load(resp) result body.get(result, body) for rank, item in enumerate(result.get(items, []), 1): print(f[{rank}] {item.get(title, )}) print(f {item.get(url, )}) print(f {str(item.get(description, ))[:160]}) meta result.get(metadata, {}) print(flatency{meta.get(latencyMs)}ms cost${unit_cost:.4f} via {provider}) return result.get(items, []), spent_usd unit_cost if __name__ __main__: web_search(Cloudflare Web Search API pricing, providerceramic, limit5)跑之前先建令牌Workers AI Read 加 AI Gateway Read。账户里预存 AI Gateway credits 即可开调。把 budget_usd 调小就能立刻验证超支拦截路径。生产环境建议把 spent_usd 持久化到网关之外的账本。记住条款约束打印展示可以落库建索引不行。这个边界不是技术问题而是法务问题。回看整场发布最值得带走的不是端点地址。而是搜索从免费基础设施变成按次计费资源这件事。28 倍价差逼着每个 Agent 团队建立自己的账本。读条款和读接口文档从此同等重要。

相关新闻

ESP32芯片与模组怎么选?从SoC到模组料号全解析

ESP32芯片与模组怎么选?从SoC到模组料号全解析

我一直觉得,“ESP32芯片”和“ESP32模组”这两个词,是几乎所有玩嵌入式的人每天都会碰到、但很少真正弄明白的一对概念。你在淘宝买到的开发板上,那块黑色的小方块严格来说不叫芯片,而叫模组;真正的ESP32芯片&#xff…

2026/10/7 11:00:50 阅读更多 →
QEMU+RISC-V搭建虚拟AI芯片实验台:AGENT辅助软件栈验证实战

QEMU+RISC-V搭建虚拟AI芯片实验台:AGENT辅助软件栈验证实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:00:50 阅读更多 →
ESP-Mosaico可视化配置:降低ESP32开发门槛的工程实践指南

ESP-Mosaico可视化配置:降低ESP32开发门槛的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:00:50 阅读更多 →

最新新闻

独立游戏AI工作流:可审计、可降级、可干预的三层框架

独立游戏AI工作流:可审计、可降级、可干预的三层框架

1. 这不是“用AI做游戏”的速成课,而是独立开发者真实踩坑后的框架重建手记“AI辅助独立游戏开发可行性探索之框架搭建(三)”——这个标题里藏着三个被多数教程刻意忽略的关键限定词:辅助、独立、可行性。它不承诺“AI帮你写完《空…

2026/10/7 12:43:42 阅读更多 →
xberg 插件体系实战:使用 Go 绑定 `ClearOcrBackends` 清空 OCR 后端注册表

xberg 插件体系实战:使用 Go 绑定 `ClearOcrBackends` 清空 OCR 后端注册表

后端AI 应用NLP 【免费下载链接】xberg Polyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with …

2026/10/7 12:43:42 阅读更多 →
鉴相器:锁相环中决定成败的“相位裁判”与调试要点

鉴相器:锁相环中决定成败的“相位裁判”与调试要点

干锁相环调试的工程师,十有八九都有过这种经历:明明VCO和环路滤波器都按公式算好了,上电之后就是锁不住,或者输出频谱上平白无故多出一圈杂散。翻来覆去查,最后发现问题往往出在鉴相器这个环节。有人管鉴相器叫锁相环的…

2026/10/7 12:43:42 阅读更多 →
Superpowers实战:用状态机把AI编程从“快而不稳”变为“可控可靠”

Superpowers实战:用状态机把AI编程从“快而不稳”变为“可控可靠”

最近几个月,我用AI编程工具写代码的时间,比手动敲键盘的时间还多。最直观的感受是“快”:需求一讲,代码马上就出来了,看起来像模像样,跑起来也能完成主流程。但真正让我睡不着觉的,也是这些“快…

2026/10/7 12:43:42 阅读更多 →
游戏引擎架构实战:物理系统与动画系统的分层设计与同步解耦

游戏引擎架构实战:物理系统与动画系统的分层设计与同步解耦

1. 物理与动画系统在引擎架构中的真实定位聊游戏引擎架构,绕不开物理和动画这两个模块。很多刚接触引擎源码的朋友会觉得它们只是"两个功能库",调调API就能跑,但真正在项目里踩过坑的人都清楚,物理和动画是整个引擎里最…

2026/10/7 12:43:42 阅读更多 →
Spring Boot+Vue电商推荐系统实战:基于协同过滤的精准营销

Spring Boot+Vue电商推荐系统实战:基于协同过滤的精准营销

简介:这是一份电商精准营销推荐系统的完整源码包,后端采用SpringBoot框架,前端采用Vue技术,实现了前后端分离的现代Web开发模式。项目围绕电商平台的用户推荐场景,设计了用户管理、商品展示、推荐策略配置等核心功能模…

2026/10/7 12:42:41 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 11:43:46 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →