POST
/
search
Search and optionally scrape search results
curl --request POST \
  --url https://api.firecrawl.dev/v2/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "query": "<string>",
  "limit": 5,
  "sources": [
    "web"
  ],
  "categories": [
    {
      "type": "github"
    }
  ],
  "tbs": "<string>",
  "location": "<string>",
  "timeout": 60000,
  "ignoreInvalidURLs": false,
  "scrapeOptions": {
    "formats": [
      "markdown"
    ],
    "onlyMainContent": true,
    "includeTags": [
      "<string>"
    ],
    "excludeTags": [
      "<string>"
    ],
    "maxAge": 172800000,
    "headers": {},
    "waitFor": 0,
    "mobile": false,
    "skipTlsVerification": true,
    "timeout": 123,
    "parsers": [
      "pdf"
    ],
    "actions": [
      {
        "type": "wait",
        "milliseconds": 2,
        "selector": "#my-element"
      }
    ],
    "location": {
      "country": "US",
      "languages": [
        "en-US"
      ]
    },
    "removeBase64Images": true,
    "blockAds": true,
    "proxy": "auto",
    "storeInCache": true
  }
}'
{
  "success": true,
  "data": {
    "web": [
      {
        "title": "<string>",
        "description": "<string>",
        "url": "<string>",
        "markdown": "<string>",
        "html": "<string>",
        "rawHtml": "<string>",
        "links": [
          "<string>"
        ],
        "screenshot": "<string>",
        "metadata": {
          "title": "<string>",
          "description": "<string>",
          "sourceURL": "<string>",
          "statusCode": 123,
          "error": "<string>"
        }
      }
    ],
    "images": [
      {
        "title": "<string>",
        "imageUrl": "<string>",
        "imageWidth": 123,
        "imageHeight": 123,
        "url": "<string>",
        "position": 123
      }
    ],
    "news": [
      {
        "title": "<string>",
        "snippet": "<string>",
        "url": "<string>",
        "date": "<string>",
        "imageUrl": "<string>",
        "position": 123,
        "markdown": "<string>",
        "html": "<string>",
        "rawHtml": "<string>",
        "links": [
          "<string>"
        ],
        "screenshot": "<string>",
        "metadata": {
          "title": "<string>",
          "description": "<string>",
          "sourceURL": "<string>",
          "statusCode": 123,
          "error": "<string>"
        }
      }
    ]
  },
  "warning": "<string>"
}

v2 新增功能

同时搜索多个来源

一次搜索网页、图片和新闻:
{
  "query": "firecrawl 网页抓取",
  "sources": [ "web", "images", "news" ]
}

响应格式已变更

v1:平铺的结果列表。v2:按来源类型分组:
{
  "success": true,
  "data": {
    "web": [/* 网页搜索结果 */],
    "images": [/* 图片搜索结果 */],
    "news": [/* 新闻搜索结果 */]
  }
}

新功能

  • 按时间范围筛选(“past week”、“past month”)
  • 目标定位至特定国家/地区
  • 分类筛选:在 GitHub 仓库或研究类网站内搜索
  • Alpha 阶段结果上限为 500
/search 端点将网页搜索(SERP)与 Firecrawl 的抓取能力结合,可为任意查询返回完整页面内容。 在请求中包含 scrapeOptions,并设置 formats: [{"type": "markdown"}],即可为每个搜索结果获取完整的 Markdown 内容;否则将默认仅返回 SERP 结果(url、title、description)。你也可以使用其他 formats,例如 {"type": "summary"} 来获取精简内容。

支持的查询运算符

我们支持多种查询运算符,帮助你更高效地筛选搜索结果。
运算符功能示例
""精确(非模糊)匹配一段文本"Firecrawl"
-排除特定关键词或对其他运算符取反-bad, -site:firecrawl.dev
site:仅返回来自指定网站的结果site:firecrawl.dev
inurl:仅返回在 URL 中包含某个词的结果inurl:firecrawl
allinurl:仅返回在 URL 中包含多个词的结果allinurl:git firecrawl
intitle:仅返回在页面标题中包含某个词的结果intitle:Firecrawl
allintitle:仅返回在页面标题中包含多个词的结果allintitle:firecrawl playground
related:仅返回与特定域相关的结果related:firecrawl.dev
imagesize:仅返回尺寸完全匹配的图片imagesize:1920x1080
larger:仅返回大于指定尺寸的图片larger:1920x1080

location 参数

使用 location 参数获取按地理位置定向的搜索结果。格式:“string”。示例:“Germany”、“San Francisco,California,United States”。 查看支持的位置完整列表,了解所有可用的国家和语言。

categories 参数

使用 categories 参数按特定类别筛选搜索结果:
  • github:在 GitHub 的仓库、代码、议题和文档中搜索
  • research:搜索学术与科研类网站(arXiv、Nature、IEEE、PubMed 等)

使用示例

{
  "query": "机器学习",
  "categories": ["github", "research"],
  "limit": 10
}

类别响应

每个结果都包含一个 category 字段,用于标示其来源:
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "机器学习项目",
        "description": "ML 算法实现",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "机器学习研究论文",
        "description": "机器学习最新进展"
        "category": "research"
      }
    ]
  }
}
使用 tbs 参数按时间范围筛选结果,支持自定义日期区间。详见搜索功能文档,其中包含详细示例和支持的 formats。

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
query
string
required

The search query

limit
integer
default:5

Maximum number of results to return

Required range: 1 <= x <= 100
sources
(Web · object | Images · object | News · object)[]

Sources to search. Will determine the arrays available in the response.

categories
(GitHub · object | Research · object)[]

Categories to filter results by

tbs
string

Time-based search parameter. Supports predefined time ranges (qdr:h, qdr:d, qdr:w, qdr:m, qdr:y) and custom date ranges (cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY)

location
string

Location parameter for search results

timeout
integer
default:60000

Timeout in milliseconds

ignoreInvalidURLs
boolean
default:false

Excludes URLs from the search results that are invalid for other Firecrawl endpoints. This helps reduce errors if you are piping data from search into other Firecrawl API endpoints.

scrapeOptions
object

Options for scraping search results

Response

Successful response

success
boolean
data
object

The search results. The arrays available will depend on the sources you specified in the request. By default, the web array will be returned.

warning
string | null

Warning message if any issues occurred