Firecrawl 的搜索 API 允许你进行网页搜索,并可选在一次操作中抓取搜索结果。
  • 选择特定输出 formats(markdown、HTML、links、screenshots)
  • 使用可自定义参数(如 location)进行网页搜索
  • 可选以多种 formats 从搜索结果中提取内容
  • 控制结果数量并设置超时
详情参见 Search Endpoint API Reference

使用 Firecrawl 进行搜索

/search 端点

用于执行网页搜索,并可选择从结果中获取内容。

安装

# 使用 pip 安装 firecrawl-py

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

基本用法

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

results = firecrawl.search(
    query="firecrawl",
    limit=3,
)
print(results)

响应

SDK 将直接返回数据对象;cURL 将返回完整的有效负载。
JSON
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://www.firecrawl.dev/",
        "title": "Firecrawl - The Web Data API for AI",
        "description": "The web crawling, scraping, and search API for AI. Built for scale. Firecrawl delivers the entire internet to AI agents and builders.",
        "position": 1
      },
      {
        "url": "https://github.com/mendableai/firecrawl",
        "title": "mendableai/firecrawl: Turn entire websites into LLM-ready ... - GitHub",
        "description": "Firecrawl is an API service that takes a URL, crawls it, and converts it into clean markdown or structured data.",
        "position": 2
      },
      ...
    ],
    "images": [
      {
        "title": "Quickstart | Firecrawl",
        "imageUrl": "https://mintlify.s3.us-west-1.amazonaws.com/firecrawl/logo/logo.png",
        "imageWidth": 5814,
        "imageHeight": 1200,
        "url": "https://docs.firecrawl.dev/",
        "position": 1
      },
      ...
    ],
    "news": [
      {
        "title": "Y Combinator startup Firecrawl is ready to pay $1M to hire three AI agents as employees",
        "url": "https://techcrunch.com/2025/05/17/y-combinator-startup-firecrawl-is-ready-to-pay-1m-to-hire-three-ai-agents-as-employees/",
        "snippet": "It's now placed three new ads on YC's job board for “AI agents only” and has set aside a $1 million budget total to make it happen.",
        "date": "3 months ago",
        "position": 1
      },
      ...
    ]
  }
}

搜索结果类型

除了常规网页结果外,Search 还可通过 sources 参数支持以下专用结果类型:
  • web:标准网页结果(默认)
  • news:新闻结果
  • images:图片搜索结果

搜索类别

使用 categories 参数按特定类别筛选搜索结果:
  • github:在 GitHub 的仓库、代码、议题和文档中搜索
  • research:搜索学术与科研网站(arXiv、Nature、IEEE、PubMed 等)
在 GitHub 仓库中进行定向搜索:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "Python 网页抓取",
    "categories": ["github"],
    "limit": 10
  }'
搜索学术与科研类网站:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "机器学习 transformer",
    "categories": ["研究"],
    "limit": 10
  }'
在一次搜索中合并多个类别:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "神经网络",
    "categories": ["github", "research"],
    "limit": 15
  }'

分类响应格式

每条搜索结果都包含一个 category 字段,用于标示其来源:
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/neural-network",
        "title": "神经网络实现",
        "description": "基于 PyTorch 的神经网络实现",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "神经网络架构的最新进展",
        "description": "探讨神经网络改进的研究论文"
        "category": "research"
      }
    ]
  }
}
示例:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "openai",
    "sources": ["news"],
    "limit": 5
  }'
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "jupiter",
    "sources": ["images"],
    "limit": 8
  }'

按尺寸筛选的高清图片搜索

使用 Google 图片的搜索运算符查找高分辨率图片:
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "sunset imagesize:1920x1080",
    "sources": ["images"],
    "limit": 5
  }'
cURL
curl -X POST https://api.firecrawl.dev/v2/search \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer fc-YOUR_API_KEY" \
  -d '{
    "query": "mountain wallpaper larger:2560x1440",
    "sources": ["images"],
    "limit": 8
  }'
常见高清分辨率:
  • imagesize:1920x1080 - 全高清(1080p)
  • imagesize:2560x1440 - QHD(1440p)
  • imagesize:3840x2160 - 4K UHD
  • larger:1920x1080 - 高清及以上
  • larger:2560x1440 - QHD 及以上

搜索并抓取内容

在一次操作中完成搜索并从结果中提取内容。
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

# Search and scrape content
results = firecrawl.search(
    "firecrawl web scraping",
    limit=3,
    scrape_options={
        "formats": ["markdown", "links"]
    }
)
通过 scrapeOptions 参数,该搜索端点支持 /scrape 端点中的所有选项。

包含爬取内容的响应

{
  "success": true,
  "data": [
    {
      "title": "Firecrawl - 终极网页抓取 API",
      "description": "Firecrawl 是强大的网页抓取 API,可将任意网站转化为干净且结构化的数据,供 AI 与分析使用。",
      "url": "https://firecrawl.dev/",
      "markdown": "# Firecrawl\n\n终极网页抓取 API\n\n## 将任意网站转化为干净且结构化的数据\n\nFirecrawl 让从网站提取数据变得简单高效,适用于 AI 应用、市场研究、内容聚合等场景……",
      "links": [
        "https://firecrawl.dev/pricing",
        "https://firecrawl.dev/docs",
        "https://firecrawl.dev/guides"
      ],
      "metadata": {
        "title": "Firecrawl - 终极网页抓取 API",
        "description": "Firecrawl 是强大的网页抓取 API,可将任意网站转化为干净且结构化的数据,供 AI 与分析使用。"
        "sourceURL": "https://firecrawl.dev/",
        "statusCode": 200
      }
    }
  ]
}

高级搜索选项

Firecrawl 的搜索 API 支持通过多种参数自定义搜索:

位置定制

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

# Search with location settings (Germany)
search_result = firecrawl.search(
    "web scraping tools",
    limit=5,
    location="Germany"
)

# Process the results
for result in search_result.data:
    print(f"Title: {result['title']}")
    print(f"URL: {result['url']}")
使用 tbs 参数按时间过滤结果:
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

results = firecrawl.search(
    query="firecrawl",
    limit=5,
    tbs="qdr:d",
)
print(len(results.get('web', [])))
常用 tbs 值:
  • qdr:h - 过去 1 小时
  • qdr:d - 过去 24 小时
  • qdr:w - 过去 1 周
  • qdr:m - 过去 1 个月
  • qdr:y - 过去 1 年
若需更精确的时间过滤,可使用自定义日期范围格式指定确切的区间:
from firecrawl import Firecrawl

# 使用你的 API key 初始化客户端
firecrawl = Firecrawl(api_key="fc-YOUR_API_KEY")

# 搜索 2024 年 12 月的结果
search_result = firecrawl.search(
    "firecrawl updates",
    limit=10,
    tbs="cdr:1,cd_min:12/1/2024,cd_max:12/31/2024"
)

自定义超时

为搜索操作设置自定义超时时间:
from firecrawl import FirecrawlApp

# 使用你的 API key 初始化客户端
app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

# 设置 30 秒超时
search_result = app.search(
    "complex search query",
    limit=10,
    timeout=30000  # 30 秒(毫秒)
)

成本相关说明

使用此端点的费用为每个搜索结果 1 个点数。对每个搜索结果进行基础抓取不收取额外费用。 但请注意以下成本因素:
  • PDF 解析:每个 PDF 页面 1 个点数(多页 PDF 成本会显著增加)
  • 隐身代理模式:每个搜索结果额外 +4 个点数
  • JSON 模式:每个搜索结果额外 +4 个点数
为控制成本:
  • 如不需要 PDF 内容,设置 parsers: []
  • 在可行情况下使用 proxy: "basic",而非 "stealth"
  • 通过 limit 参数限制搜索结果数量

高级抓取选项

有关抓取选项的更多信息,请参阅 Scrape 功能文档。除 FIRE-1(代理)和 changeTracking 功能外,其余均受此 Search 端点支持。