Skip to content

最近装龙虾需要免费的搜索,找了两个API对比

youxiaohanpian
Published date:

最近用了龙虾,申请了俩搜索API,免费的应该能玩很久,关于区别我问了下豆包:

Tavily API 专为 AI Agent/RAG 场景深度优化 ,主打 结构化内容提取、深度爬取与事实检索 ;Brave API 则是 隐私优先的通用搜索 API ,依赖自建独立索引、支持丰富搜索语法,更像传统搜索引擎的 API 化。下面从核心定位、能力、价格、适用场景等维度详细对比:


一、核心定位与设计目标

Tavily API

Brave Search API


二、关键能力对比

1. 搜索与内容处理

特性Tavily APIBrave Search API
结果形态深度结构化(标题、URL、摘要、原文内容、引用),自动过滤低质量/付费墙/SEO 垃圾传统搜索结果(标题、URL、摘要),无内置全文提取
内容提取原生支持 /extract (单次最多 20 个 URL)、 /crawl 全站爬取无内置提取,需自行爬取解析
搜索深度支持 basic (快速)/ advanced (深度)两种策略标准网页搜索,无深度选项
过滤方式API 参数: include_domains / exclude_domains原生支持搜索语法: site: / -site: / filetype: / intitle: / inurl: / before: / after:
AI 优化专为 RAG 优化,结果直接可喂给 LLM;支持提示注入防护有 AI Grounding 模式,但非核心设计

2. 索引与覆盖

3. 隐私与数据

4. 免费额度与价格(2026 年)

5. 响应与集成


三、适用场景对比

优先选 Tavily API

优先选 Brave Search API


四、一句话总结


一、选型决策清单(快速判断)

决策维度选 Tavily API选 Brave Search API
核心场景AI Agent/RAG/深度内容提取隐私优先的通用搜索/垂直搜索
内容需求需要结构化正文、批量爬取/提取只需要标题/URL/摘要,无需提取
隐私要求一般隐私(不追踪)极高隐私(零数据留存)
技术集成对接 LangChain/LlamaIndex通用搜索场景,无 AI 框架依赖
搜索语法仅基础过滤(域名包含/排除)需要 site: / intitle: 等标准语法
免费额度1000 次/月2000 次/月
响应速度深度模式慢(10-30s),基础模式快稳定秒级响应

二、Python 快速调用示例

前置准备

  1. 注册并获取 API Key:

  2. 安装依赖(仅需 requests):

pip install requests

1. Tavily API 调用示例(AI/RAG 场景最优)

import requests

# 替换为你的 Tavily API Key
TAVILY_API_KEY = "your_tavily_api_key"
TAVILY_URL = "<https://api.tavily.com/search>"

def tavily_search(query, search_depth="advanced"):
    """
    Tavily 搜索核心函数
    :param query: 搜索关键词
    :param search_depth: basic(快速)/advanced(深度)
    :return: 结构化搜索结果(含正文提取)
    """
    payload = {
        "api_key": TAVILY_API_KEY,
        "query": query,
        "search_depth": search_depth,
        "include_answer": True,  # 是否返回 AI 总结答案
        "include_content": True,  # 是否返回网页正文
        "include_raw_content": False,
        "max_results": 5,  # 返回结果数
        "exclude_domains": ["youtube.com", "twitter.com"]  # 排除域名
    }

    try:
        response = requests.post(TAVILY_URL, json=payload)
        response.raise_for_status()  # 抛出 HTTP 错误
        results = response.json()

        # 解析结构化结果
        print("=== Tavily 搜索结果 ===")
        print(f"AI 总结答案: {results.get('answer', '无')}\\n")
        for idx, result in enumerate(results.get('results', [])):
            print(f"【结果 {idx+1}】")
            print(f"标题: {result.get('title')}")
            print(f"链接: {result.get('url')}")
            print(f"摘要: {result.get('description')[:100]}...")  # 截断摘要
            print(f"正文片段: {result.get('content', '无')[:100]}...\\n")
        return results
    except Exception as e:
        print(f"Tavily 调用失败: {e}")
        return None

# 调用示例:搜索 "2026 Python 最新特性"
tavily_search("2026 Python 最新特性")

2. Brave Search API 调用示例(隐私/通用搜索最优)

import requests

# 替换为你的 Brave API Key
BRAVE_API_KEY = "your_brave_api_key"
BRAVE_URL = "<https://api.search.brave.com/res/v1/web/search>"

def brave_search(query):
    """
    Brave 搜索核心函数(隐私优先)
    :param query: 搜索关键词(支持标准搜索语法)
    :return: 通用搜索结果
    """
    headers = {
        "Accept": "application/json",
        "X-Subscription-Token": BRAVE_API_KEY
    }
    params = {
        "q": query,  # 支持语法:比如 "Python 性能优化 site:stackoverflow.com"
        "count": 5,  # 返回结果数
        "safesearch": "moderate",  # 安全搜索:off/moderate/strict
        "country": "us",  # 地区筛选
        "lang": "en"  # 语言筛选
    }

    try:
        response = requests.get(BRAVE_URL, headers=headers, params=params)
        response.raise_for_status()
        results = response.json()

        # 解析结果
        print("=== Brave 搜索结果 ===")
        for idx, result in enumerate(results.get('web', {}).get('results', [])):
            print(f"【结果 {idx+1}】")
            print(f"标题: {result.get('title')}")
            print(f"链接: {result.get('url')}")
            print(f"摘要: {result.get('description')[:100]}...\\n")
        return results
    except Exception as e:
        print(f"Brave 调用失败: {e}")
        return None

# 调用示例:搜索 "Python 性能优化 site:stackoverflow.com"(带语法)
brave_search("Python 性能优化 site:stackoverflow.com")

3. LangChain 集成 Tavily(RAG 场景)

如果你的场景是 RAG/AI Agent,Tavily 与 LangChain 原生集成更便捷:

from langchain_community.tools.tavily_search import TavilySearchResults

# 初始化 Tavily 工具
tavily_tool = TavilySearchResults(
    api_key="your_tavily_api_key",
    search_depth="advanced",
    max_results=3
)

# 调用搜索
results = tavily_tool.run("2026 AI Agent 最新进展")
print(results)

总结

  1. 选 Tavily :做 AI Agent/RAG、需要提取网页正文、对接 LangChain/LlamaIndex 时优先用,核心优势是结构化内容和 AI 场景适配。
  2. 选 Brave :注重隐私、需要通用搜索语法(如 site: )、免费额度更高时优先用,核心优势是隐私和通用搜索能力。
  3. 调用核心差异:Tavily 支持直接提取网页正文,Brave 仅返回基础搜索结果,需自行爬取内容。
Previous
N8N 常用 UI 术语英中对照
Next
综合类读书笔记:心理·艺术·健康·教育