> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl.web3doc.top/llms.txt
> Use this file to discover all available pages before exploring further.

# 搜索

> 通过一个API请求进行serp请求，并获取所有内容

## 使用Firecrawl搜索网页并抓取结果

Firecrawl将其SERP（搜索引擎结果页面）API与其强大的抓取基础设施集成，通过单一端点提供无缝的搜索和抓取功能。原因如下：

1. **统一的搜索查询：**
   用户通过SERP端点提交搜索查询。

2. **自动化结果抓取：**
   Firecrawl自动处理搜索结果，并利用其抓取能力从每个结果页面提取数据。

3. **数据交付：**
   从所有结果页面抓取的数据被编译并以干净的markdown格式交付，随时可用。

这种集成使用户能够高效地执行网络搜索，并以最少的努力从多个来源获得全面、抓取的数据。

有关更多详细信息，请参阅[搜索端点文档](https://docs.firecrawl.dev/api-reference/endpoint/search)。

## 搜索任何查询

### /search 端点

用于搜索网络，获取最相关的结果，抓取每个页面并返回markdown。

```bash theme={null}
curl -X POST https://api.firecrawl.dev/v0/search \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{
      "query": "firecrawl",
      "pageOptions": {
        "fetchPageContent": true // false for a fast serp api
      }
    }'
```

```json theme={null}
{
  "success": true,
  "data": [
    {
      "url": "https://docs.firecrawl.dev",
      "markdown": "# Markdown Content",
      "provider": "web-scraper",
      "metadata": {
        "title": "Firecrawl | Scrape the web reliably for your LLMs",
        "description": "AI for CX and Sales",
        "language": null,
        "sourceURL": "https://docs.firecrawl.dev/"
      }
    }
  ]
}
```

### 使用Python SDK

#### 安装Python SDK

```bash theme={null}
pip install firecrawl-py
```

#### 搜索查询

```python theme={null}
from firecrawl import FirecrawlApp

app = FirecrawlApp(api_key="YOUR_API_KEY")

result = app.search(query="What is firecrawl?")
```

响应将与上面的curl命令中显示的内容相似。

### 使用JavaScript SDK

#### 安装JavaScript SDK

```bash theme={null}
npm install @mendable/firecrawl-js
```

#### 搜索查询

```javascript theme={null}
import FirecrawlApp from '@mendable/firecrawl-js';

// 使用您的API密钥初始化FirecrawlApp
const app = new FirecrawlApp({ apiKey: 'YOUR_API_KEY' });

// 执行搜索
const result = await app.search('What is firecrawl?');
```

响应将与上面的curl命令中显示的内容相似。

### 使用Go SDK

#### 安装Go SDK

```bash theme={null}
go get github.com/mendableai/firecrawl-go
```

#### 搜索查询

```go theme={null}
import (
  "fmt"
  "log"

  "github.com/mendableai/firecrawl-go"
)

func main() {
  app, err := firecrawl.NewFirecrawlApp("YOUR_API_KEY")
  if err != nil {
      log.Fatalf("Failed to initialize FirecrawlApp: %v", err)
  }

  query := "What is firecrawl?"
  searchResult, err := app.Search(query)
  if err != nil {
    log.Fatalf("Failed to search: %v", err)
  }
  fmt.Println(searchResult)
}
```

### 使用Rust SDK

#### 安装Rust SDK

在您的`Cargo.toml`中添加以下内容：

```toml theme={null}
[dependencies]
firecrawl = "^0.1"
tokio = { version = "^1", features = ["full"] }
serde = { version = "^1.0", features = ["derive"] }
serde_json = "^1.0"
uuid = { version = "^1.10", features = ["v4"] }

[build-dependencies]
tokio = { version = "1", features = ["full"] }
```

#### 搜索查询

```rust theme={null}
async fn main() {
  let api_key = "YOUR_API_KEY";
  let api_url = "https://api.firecrawl.dev";
  let app = FirecrawlApp::new(api_key, api_url).expect("Failed to initialize FirecrawlApp");

  let query = "What is firecrawl?";
  let search_result = app.search(query).await;

  match search_result {
    Ok(data) => println!("Search Result: {}", data),
    Err(e) => eprintln!("Failed to search: {}", e),
  }
}
```
