每一篇比较智能体搜索 API 的文章都以一张价格表开场,而每一张这样的表说的都是同一句话:每千次查询五到八美元,无一例外。你的钱不是花在那个数字上的。同一条结果,Firecrawl 可能以八千令牌的整页 Markdown 抵达,而 Brave 只给你两百令牌的摘要——又因为智能体每往下走一步都要把整份对话记录重发一遍,这个差额你每一轮都要再付一次。按响应形态挑,不要按标价挑。
速览
四个都在回答"搜索网页"的产品,各自占着这层栈下面四个不同的层。
产品 它拥有什么 默认结果形态 大致标价
Brave Search
自建爬虫与索引,官方宣称 400 亿+ 页面。
标题、URL、一小段摘要。
约 $5–9 / 千次查询
Exa
自建爬取,按语义而非关键词建索引。
链接;按需返回正文或高亮片段。
约 $7 / 千次请求
Tavily
自有爬虫加聚合的第三方索引数据,再重排。
浓缩后的来源,可选的合成答案。
约 $8 / 千次基础搜索
Firecrawl
一套渲染与清洗管线;搜索只是它的入口。
整页 Markdown。
按额度计;约 $83 / 10 万额度
这些是撰稿时的标价,而且它们会变——这个市场上,免费额度尤其常在很短的通知下被撤走。请把这一列读作"四家价格差不多",而不是一张排行榜。
Approximate context cost per search result
Horizontal bar chart comparing the rough size of a single default result from each API in model tokens: Brave snippet around 200, Tavily basic around 500, Exa with text around 2,000, Firecrawl full-page Markdown around 8,000.
Roughly what one result costs your context window
Brave (snippet)
~200 tokens
Tavily (basic)
~500 tokens
Exa (with text)
~2,000 tokens
Firecrawl (page)
~8,000 tokens
Order-of-magnitude sizes for each API's default response shape — all four can be tuned up or down.
各家默认响应体量的数量级。这里的差距大约 40 倍;价格差距不到 2 倍。
Capability matrix across the four search APIs
A four-by-five grid scoring Brave, Exa, Tavily and Firecrawl on index independence, semantic retrieval, full-page extraction, answer synthesis, and how cheap their default response is in context tokens.
Where each one leans hardest
Independent
index
Semantic
retrieval
Full-page
Markdown
Answer
synthesis
Cheap in
context
Brave
Own crawl
Keyword
Extra
call
No
Lowest
Exa
Own crawl
Neural
Text
mode
Highlights
Medium
Tavily
Hybrid
Re-ranked
Advanced
mode
Yes
Medium
Firecrawl
Aggregates
Keyword
Native
No
Highest
Strong
Partial
Not the job
没有哪一行全面占优。这张网格里每一处强项,都是在其他某一列里付了钱的。
问题之前的那个问题
在这四家之间做选择之前,先确认你是否需要其中任何一家。如今每一家前沿模型厂商都提供了跑在模型调用内部的托管网页搜索工具——你打开一个开关,模型自行决定何时去搜,结果带接地与引用,你这边一行检索代码都不用写。对于一个回答"这周发生了什么"的通用助手,那几乎总是正确答案;转而去接第三方 API,买来的是你要永远维护下去的复杂度。
用专门搜索 API 的理由更窄,值得说准确:当你需要看见并塑造结果 时才用它——按域名过滤、控制时效窗口、给进入上下文的文本量设硬上限、激进地做缓存、把同一个查询跨厂商跑一遍,或者从内置工具够不到的地方去搜。那是一个检索工程问题,也正是本文余下部分要谈的问题。
Brave Search——深入
Brave Search API architecture
An agent calls the Brave Search API, which serves results from Brave's own independently crawled index and returns title, URL and a short snippet; fetching and extracting the underlying pages is left to the caller.
Brave Search API — an index, and nothing after it
YOUR AGENT
Agent step
One query string,
a top-k, a budget
THE API
Brave Search API
Own crawler, own index
Advertised at 40B+ pages
Returns title + URL + snippet
WHAT YOU STILL BUILD
Your fetch layer
You retrieve the pages
You extract and chunk
Your context
Only the snippet costs
tokens by default
Brave 卖的是索引,到此为止。链接之后的一切都是你的代码。
它拥有什么
Brave 跑自己的爬虫和自己的索引——官方宣称超过 400 亿页面——并且不转售别家引擎的结果。在一个不少"独立"搜索 API 其实是 Bing 或 Google 数据之上的聚合层的市场里,这是那个值得为之付费的结构性事实:别人的转售协议改了,你的检索不会因此消失。
你拿回什么
经典形态的网页结果:标题、URL、几十个词的摘要,外加元数据。它是关键词加排序的搜索,针对时效性做过调优、针对 SEO 垃圾做过对抗,而且在各家评测中稳定处于速度最快的一端——在有些竞品要花好几秒的场景里,它做到了亚秒。
它让什么变难
下游的一切。如果你的智能体需要页面正文,就得自己去取、必要时渲染 JavaScript、剥掉导航栏、处理那些拦你的站点。那是一个真实的工程面,而它恰恰就是 Firecrawl 存在着要卖给你的那个面。
Exa——深入
Exa architecture
An agent sends a natural-language query or a seed URL to Exa, which retrieves from its own embedding-indexed crawl of information-dense pages and can return page text or extracted highlights alongside the links.
Exa — retrieval by meaning, with the text attached
YOUR AGENT
Agent step
Natural-language query
or a find-similar URL
THE API
Exa
Own crawl, embedding index
Neural / semantic retrieval
Skews to dense content
WHAT COMES BACK
Links only
Cheapest mode,
closest to Brave
Text or highlights
Saves a fetch hop,
costs context tokens
Exa 索引的是"这一页在讲什么"。这买来了"找相似",代价是长尾覆盖。
它拥有什么
自己的爬取,并且按语义而非关键词匹配来建索引。实际后果是一种这里别家都没有的查询模式:把一个 URL 交给 Exa,让它找出像它 的页面。对于"再帮我找十二家在做这家公司同样事情的公司",这不是关键词搜索的更好版本——它是另一种操作,而它的替代方案是一个开着四十个浏览器标签页的人。
你拿回什么
默认是链接;按需返回页面正文或由模型抽出的高亮片段。高亮是那个有意思的中间档:只给相关段落而不给整篇文档,而这正是智能体上下文真正想要的形态。
它让什么变难
对普通网页的覆盖。Exa 的爬取偏向信息密度高的内容——论文、博客、新闻、代码仓库——这就是它做研究极好、而回答"某家店的营业时间"不靠谱的原因。拿长尾事实问题去问它,等于要求一个专业索引去当通用索引。
Tavily——深入
Tavily architecture
An agent calls Tavily, which combines its own crawler with third-party index data, re-ranks and condenses the results with a model, and returns pre-cleaned content plus an optional synthesized answer, billed in credits.
Tavily — an aggregator with an LLM stage bolted on
YOUR AGENT
Agent step
One query string,
a top-k, a budget
THE API
Tavily
Own crawler + aggregated index
Model-side re-rank and condense
1 credit basic, 2 advanced
WHAT COMES BACK
Condensed sources
Pre-cleaned content,
citation-shaped
Optional answer
A synthesis you did
not run yourself
Tavily 的产品是检索之后的那一段处理,不是索引。
它拥有什么
检索之后的那一层。Tavily 有自己的爬虫,但也聚合第三方索引数据,然后在上面架一个模型阶段来重排、浓缩、并可选地作答。它按额度计费——基础搜索 1 个额度、高级搜索 2 个——这把那段额外处理老老实实地标了价,而不是藏起来。
你拿回什么
已经为 LLM 塑好形的内容:清洗过、裁剪过、便于引用,需要的话还附一个合成答案。这是四家里跑通最快的一个;对一个直白的研究型智能体来说,它省掉了一周的检索管道活儿。
它让什么变难
知道自己丢了什么。浓缩这一步是一个模型在你的模型看到之前就替你决定了什么要紧——所以一个明明在页面上的事实,可能在结果里消失得毫无信号。等你的智能体答错了,你现在有两级检索要调试,而你只能给其中一级插桩。
Firecrawl——深入
Firecrawl architecture
An agent calls Firecrawl, which searches and then scrapes each result, rendering JavaScript and cleaning the DOM, and returns full-page Markdown — the largest payload of the four and the one that most needs truncation.
Firecrawl — search as the front door to a scraper
YOUR AGENT
Agent step
One query string,
a top-k, a budget
THE API
Firecrawl
Search, then scrape each hit
Renders JS, strips chrome
Flat credit per page
WHAT COMES BACK
Full-page Markdown
Everything on the page,
cleaned but complete
Your truncation
Now mandatory, not
an optimisation
搜索是前门;门后的产品是抽取。
它拥有什么
把一个页面变成干净的 Markdown——渲染 JavaScript、剥掉导航与 Cookie 横幅、搞定那些别扭的站点。搜索是通往这条管线的一条路,而不是它的目的所在;定价也体现了这个侧重:按页一个固定额度,量一大就明显压过按查询计费的那几家。
你拿回什么
整页。这是它的特性,也是它的问题:当你需要整篇文档时,八千令牌的 Markdown 妙不可言;当你只需要其中一句话时,它是灾难。
它让什么变难
克制。用 Brave,你必须自己建抽取;用 Firecrawl,你必须自己建截断,而截断是更容易被跳过的那一件。一次返回五个整页的搜索,会把好几万令牌塞进一份接下来每一步都要重发的对话记录里——为什么这是复利而不是加法,见智能体成本控制 。
横向比较
上下文开销才是真正把它们分开的那根轴
Which layer of the retrieval stack each API sells
Four columns showing that Brave sells an index, Exa sells retrieval by meaning, Tavily sells a condensed answer, and Firecrawl sells page content — increasing amounts of work done for you, and increasing tokens returned.
What you are actually buying
Brave
Index
An independent crawl and
a ranked list of links.
Everything after the link
is still your code.
Exa
Meaning
Retrieval keyed on what a
page is about, plus
find-similar from a URL.
Text is opt-in.
Tavily
Answer
Aggregated results, model-
condensed into citation-
shaped content.
Someone else's synthesis.
Firecrawl
Pages
Search as the entrance to
a renderer and cleaner.
You get the whole page,
whether you wanted it or not.
从左到右,替你做的活儿越来越多——返回的令牌也越来越多。
给一个搜索三次的十步智能体算一算。用 Brave 的摘要,检索给对话记录添上几千令牌。用 Firecrawl 的整页,同样三次搜索添上十万令牌以上——并被此后每一步一路带着走,按输入价计费,而两者的搜索账单相差还不到两倍。你因为便宜而选的那个 API,可能成为你模型账单上最贵的一行,而搜索发票上永远看不到它。
推论是:这些产品互为补充的时候,比互为替代的时候多。先用便宜的宽搜,再对通过相关性检查的那两三条做深度抽取。这与重排序 是同一套"先宽后窄"的纪律,只是往上提了一层。
究竟谁真的拥有一个索引
四家里有三家有自己的爬取;Tavily 与 Firecrawl 在搜索这一步都倚重聚合数据。这件事对质量的影响,小于对连续性的影响——一个聚合方的覆盖面与定价,取决于你看不见的合同。如果你产品的核心循环依赖网页搜索,让组合里至少有一个独立索引是笔便宜的保险,而符合条件的是 Brave 和 Exa。
延迟,以及评测没有测的那件事
公开的比较把这一品类的延迟拉开了约 20 倍,从几百毫秒到远超十秒。快的那一端由返回摘要的索引型 API 占据,慢的那一端则是任何要渲染页面或对结果跑模型的东西——那不是缺陷,那正是你点的活儿。该拿来做规划的数字,不是搜索 API 的中位延迟,而是把它算进去之后你智能体的单步延迟:因为一次五秒的搜索放进十五步的循环里,就是用户眼睁睁看着的一分多钟。
该选哪一个
场景 选 为什么 当心
通用助手,"这周发生了什么" 模型内置的搜索工具 带接地与引用,零检索代码。 你无法塑造或限制结果。
高频智能体循环,上下文预算紧 Brave 独立索引、摘要级结果、够快。 抓取与抽取归你。
研究型智能体、找相似、探索发现 Exa 语义检索,以及真正的"找相似"模式。 普通网页的长尾很薄。
这周就要上线一个研究功能 Tavily 预浓缩、便于引用、管道活儿最少。 页面与你之间多了一段不透明的处理。
你要的是文档本身,不是摘要 Firecrawl 抽取一流;按页固定计费。 截断从此是必做项,不是可选项。
核心产品循环,搜索不能丢 其中两家 一个独立索引,加一层抽取。 两种失败模式、两张账单要盯。
常见问题
如果模型已经有网页搜索工具,我还需要搜索 API 吗?
通常不需要。当你需要控制结果时才去拿一个——域名过滤、时效窗口、对返回令牌数的硬上限、缓存,或者把同一个查询跨厂商跑。如果你说不出自己需要上面哪一项,就用内置工具。
这四家里哪家最快?
像 Brave 这样返回摘要的索引型 API 处在最快的一端,通常在一秒以内;而任何要渲染页面或对结果跑模型的东西,按设计就更慢。请拿你自己的查询去比:这一品类的延迟随查询类型的波动,大过随厂商宣传的差别。
每千次查询 5–8 美元就是全部成本吗?
不是,而这正是本文的论点。更大的一块成本是每条结果给你模型上下文添上的令牌,而在智能体循环里,它此后每一步都会被重发一次。请衡量每个完成任务的成本,而不是每次查询的成本。
可以同时用不止一家吗?
可以,而且但凡是承重的场景,你大概都该这么做。常见模式是:用便宜的索引型 API 求广度,再用整页抽取器处理通过相关性检查的那几条——它们是互补品,不是竞品。
那 Perplexity、You.com、SerpAPI 或 Google 自家的 API 呢?
它们填的是同样这四个角色。Perplexity 与 You.com 站在 Tavily 的位置上,是答案与引用层;SerpAPI 和各类 SERP 抓取服务站在 Brave 的位置上,但转售的是别家引擎的索引而非自己拥有一个。给任何新来者定位,只需问它拥有的是哪一层。
它们支持 MCP 吗?
四家都提供了 MCP 服务器,所以把其中一个接进支持 MCP 的智能体是配置而非编码。这让互换的成本低到——你应该拿自己的查询去实测,而不是相信任何人的排行榜,包括这一篇。