# Search（搜索）

`search` 端点将网页搜索与 Firecrawl 的抓取能力相结合，为任意查询返回完整页面内容。

在请求中包含 `scrapeOptions`，并设置 `formats: [{"type": "markdown"}]`，即可为每条搜索结果获取完整的 markdown 内容；否则默认只返回结果 (url、title、description) 。你也可以使用其他 formats，例如 `{"type": "summary"}` 来获取精简内容。

<div id="supported-query-operators">
  ## 支持的查询运算符
</div>

我们支持多种查询运算符，帮助你更高效地筛选搜索结果。

| 运算符 | 功能 | 示例 |
---|-|-|
| `""` | 精确 (非模糊) 匹配一段文本 | `"Firecrawl"`
| `-` | 排除特定关键词或对其他运算符取反 | `-bad`, `-site:firecrawl.dev`
| `site:` | 仅返回来自指定网站的结果 | `site:firecrawl.dev`
| `filetype:` | 仅返回具有特定文件扩展名的结果 | `filetype:pdf`, `-filetype:pdf`
| `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`

<div id="location-parameter">
  ## location 参数
</div>

使用 `location` 参数获取按地理位置定向的搜索结果。格式：&quot;string&quot;。示例：&quot;Germany&quot;、&quot;San Francisco,California,United States&quot;。

查看[支持的位置完整列表](https://firecrawl.dev/search_locations.json)，了解所有可用的国家和语言。

<div id="country-parameter">
  ## country 参数
</div>

使用 `country` 参数以 ISO 国家/地区代码指定搜索结果所属国家/地区。默认值：&quot;US&quot;。

示例：&quot;US&quot;、&quot;DE&quot;、&quot;FR&quot;、&quot;JP&quot;、&quot;UK&quot;、&quot;CA&quot;。

```json
{
  "query": "餐厅",
  "country": "DE"
}
```

<div id="categories-parameter">
  ## Categories 参数
</div>

使用 `categories` 参数按特定类别筛选搜索结果：

* **`research`**：将网页搜索限定为学术和研究**网站** (arxiv.org、nature.com、ieee.org、pubmed.ncbi.nlm.nih.gov、biorxiv.org、medrxiv.org 等) 。返回带 snippet 的常规网页结果，而非论文记录
* **`pdf`**：搜索 PDF
* **`developer`**：搜索 [Developer Index](/zh/features/developer)——包括公开代码仓库中的 issue、已合并的 pull request 和 README，以及精选文档网站

<Note>
  **`research` 是网站筛选条件，不是论文索引。**它会将此端点的网页结果限定在固定的学术域名列表中。

  如需直接搜索科学文献——包括 PubMed、bioRxiv、medRxiv 和 arXiv 中的论文摘要，以及读取论文内段落和扩展引用图谱——请使用 [研究索引](/zh/features/research) 的 [`GET /search/research/papers`](/zh/api-reference/endpoint/research-search-papers)。
</Note>

<div id="example-usage">
  ### 使用示例
</div>

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

<div id="domain-filters">
  ## 域名过滤
</div>

使用 `includeDomains` 可将结果限制在特定域名内，或使用 `excludeDomains` 将特定域名从搜索结果中排除。域名只能填写主机名，不包含协议或路径。

`includeDomains` 和 `excludeDomains` 不能同时使用。

<div id="include-domains-example">
  ### 包含域名示例
</div>

```json
{
  "query": "web scraping",
  "includeDomains": ["firecrawl.dev", "docs.firecrawl.dev"],
  "limit": 10
}
```

<div id="exclude-domains-example">
  ### 域名排除示例
</div>

```json
{
  "query": "web scraping tools",
  "excludeDomains": ["example.com"],
  "limit": 10
}
```

<div id="category-response">
  ### 分类响应
</div>

每个结果都包含一个 `category` 字段，用于表示其来源：

```json
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "ML Research Paper",
        "description": "Latest advances in machine learning",
        "category": "research"
      },
      {
        "url": "https://example.com/ml-survey.pdf",
        "title": "ML Survey",
        "description": "A survey of machine learning methods",
        "category": "pdf"
      }
    ]
  }
}
```

<div id="time-based-search">
  ## 基于时间的搜索
</div>

使用 `tbs` 参数按时间范围过滤搜索结果，包括自定义日期区间。详细示例及支持的 formats 请参见 [Search Feature 文档](https://docs.firecrawl.dev/features/search#time-based-search)。

> 你是需要 Firecrawl API 密钥的 AI 代理吗？如需自动化入门说明，请参见 [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md)。
