> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/test/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/test/compute/mcpg/web-search/serpapi.md).

# SerpApi

SerpApi是一家提供搜索API的公司，可以方便快速的调用Google搜索引擎的内容。我们完全对齐他们官方接口，只需要替换API Base URL即可。

## MCP 工具

### Search（搜索）

SerpApi是一家提供搜索API的公司，可以方便快速的调用Google搜索引擎的内容。我们完全对齐他们官方接口，只需要替换API Base URL即可。 我们这里的API只是做一个示范，详细用法请参考

#### 参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`chatgpt`

### MCP Cline 配置

此服务器需要通过您的 MCP 客户端进行配置。以下是不同环境下的示例：

需要替换你的租户ID和API Key（必需）

```
{
  "mcpServers": {
    "serpapi": {
      "type": "streamable_http",
      "url": "https://mcp.ecn.ai/{租户ID}/serpapi/mcp",
      "headers": {
        "Authorization": "Bearer 你的API Key"
      }
    }
  }
}
```

## API 接口

### Search（搜索）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`chatgpt`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&q='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "json_endpoint": "<string>",
        "pixel_position_endpoint": "<string>",
        "created_at": "<string>",
        "...": "更多字段"
    },
    "search_parameters": {
        "engine": "<string>",
        "q": "<string>",
        "google_domain": "<string>",
        "device": "<string>"
    },
    "search_information": {
        "query_displayed": "<string>",
        "total_results": 0,
        "time_taken_displayed": 0.0,
        "organic_results_state": "<string>"
    },
    "ads": [
        {
            "position": "...",
            "block_position": "...",
            "title": "...",
            "link": "...",
            "displayed_link": "...",
            "...": "更多字段"
        }
    ],
    "inline_videos": [
        {
            "position": "...",
            "title": "...",
            "link": "...",
            "thumbnail": "...",
            "channel": "...",
            "...": "更多字段"
        }
    ],
    "...": "更多字段"
}
```

### Search（新闻搜索）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google_news`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`openai`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&q='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "json_endpoint": "<string>",
        "created_at": "<string>",
        "processed_at": "<string>",
        "...": "更多字段"
    },
    "search_parameters": {
        "engine": "<string>",
        "q": "<string>",
        "google_domain": "<string>",
        "device": "<string>"
    },
    "news_results": [
        {
            "position": "...",
            "title": "...",
            "stories": "...",
            "topic_token": "...",
            "serpapi_link": "...",
            "...": "更多字段"
        }
    ],
    "menu_links": [
        {
            "title": "...",
            "topic_token": "...",
            "serpapi_link": "..."
        }
    ],
    "related_topics": [
        {
            "topic_token": "...",
            "serpapi_link": "...",
            "title": "..."
        }
    ],
    "...": "更多字段"
}
```

### Search（图片搜索）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google_images`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`openai`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&q='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "json_endpoint": "<string>",
        "created_at": "<string>",
        "processed_at": "<string>",
        "...": "更多字段"
    },
    "search_parameters": {
        "engine": "<string>",
        "q": "<string>",
        "google_domain": "<string>",
        "hl": "<string>",
        "gl": "<string>",
        "...": "更多字段"
    },
    "search_information": {
        "image_results_state": "<string>",
        "query_displayed": "<string>",
        "total_results": 0,
        "time_taken_displayed": 0.0,
        "organic_results_state": "<string>"
    },
    "suggested_searches": [
        {
            "name": "...",
            "link": "...",
            "uds": "...",
            "q": "...",
            "serpapi_link": "...",
            "...": "更多字段"
        }
    ],
    "images_results": [
        {
            "position": "...",
            "thumbnail": "...",
            "related_content_id": "...",
            "serpapi_related_content_link": "...",
            "source": "...",
            "...": "更多字段"
        }
    ],
    "...": "更多字段"
}
```

### Search（图搜图）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google_lens`
* `url` (string, 必需): Parameter defines the image url. This is the direct link to the image you want Google Lens to analyze. Ensure the URL points to a valid image format (e.g., .jpg, .png) and is accessible publicly. | 示例值：`https://ecn.ai/_astro/logo.33ec793a_Z1s8I78.webp`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&url='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "json_endpoint": "<string>",
        "created_at": "<string>",
        "processed_at": "<string>",
        "...": "更多字段"
    },
    "search_parameters": {
        "engine": "<string>",
        "url": "<string>",
        "q": "<string>",
        "google_domain": "<string>",
        "device": "<string>"
    },
    "search_information": {
        "images_results_state": "<string>",
        "query_displayed": "<string>",
        "total_results": 0,
        "time_taken_displayed": 0.0,
        "organic_results_state": "<string>"
    },
    "error": "<string>",
    "organic_results": [
        {
            "position": "...",
            "title": "...",
            "link": "...",
            "redirect_link": "...",
            "displayed_link": "...",
            "...": "更多字段"
        }
    ],
    "...": "更多字段"
}
```

### Search（视频搜索）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google_videos`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`ai`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&q='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "created_at": "<string>",
        "request_time_taken": 0.0,
        "parsing_time_taken": 0.0,
        "...": "更多字段"
    },
    "search_parameters": {
        "engine": "<string>",
        "q": "<string>",
        "google_domain": "<string>",
        "hl": "<string>",
        "gl": "<string>",
        "...": "更多字段"
    },
    "search_information": {
        "query_displayed": "<string>",
        "total_results": 0,
        "time_taken_displayed": 0.0,
        "detected_location": "<string>",
        "video_results_state": "<string>"
    },
    "knowledge_graph": {
        "kgmid": "<string>",
        "knowledge_graph_type": "<string>",
        "title": "<string>",
        "type": "<string>",
        "description": "<string>",
        "...": "更多字段"
    },
    "organic_results": [
        {
            "position": "...",
            "title": "...",
            "link": "...",
            "domain": "...",
            "displayed_link": "...",
            "...": "更多字段"
        }
    ],
    "...": "更多字段"
}
```

### Search（学术搜索）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google_scholar`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`ai`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&q='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "json_endpoint": "<string>",
        "created_at": "<string>",
        "processed_at": "<string>",
        "...": "更多字段"
    },
    "search_parameters": {
        "engine": "<string>",
        "q": "<string>",
        "hl": "<string>",
        "google_domain": "<string>",
        "gl": "<string>"
    },
    "search_information": {
        "organic_results_state": "<string>",
        "total_results": 0,
        "time_taken_displayed": 0.0,
        "query_displayed": "<string>",
        "detected_location": "<string>"
    },
    "organic_results": [
        {
            "position": "...",
            "title": "...",
            "result_id": "...",
            "link": "...",
            "snippet": "...",
            "...": "更多字段"
        }
    ],
    "related_searches": [
        {
            "query": "...",
            "link": "..."
        }
    ],
    "...": "更多字段"
}
```

### Search（专利搜索）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`google_patents`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`ai`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&q='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "json_endpoint": "<string>",
        "created_at": "<string>",
        "processed_at": "<string>",
        "...": "更多字段"
    },
    "search_parameters": {
        "engine": "<string>",
        "q": "<string>",
        "google_domain": "<string>",
        "hl": "<string>",
        "gl": "<string>"
    },
    "search_information": {
        "total_results": 0,
        "total_pages": 0,
        "page_number": 0,
        "query_displayed": "<string>",
        "time_taken_displayed": 0.0,
        "...": "更多字段"
    },
    "organic_results": [
        {
            "position": "...",
            "rank": "...",
            "patent_id": "...",
            "patent_link": "...",
            "serpapi_link": "...",
            "...": "更多字段"
        }
    ],
    "summary": {
        "assignee": [
            "..."
        ],
        "inventor": [
            "..."
        ],
        "cpc": [
            "..."
        ]
    },
    "...": "更多字段"
}
```

### Search（百度搜索）

#### 请求信息

* **Method**: GET
* **Endpoint**: `/serpapi/search`

#### 请求参数

**Header 参数**

* `Authorization` (string, 可选): | 示例值：`Bearer {{YOUR_API_KEY}}`

**Query 参数**

* `engine` (string, 必需): Parameter defines an engine that will be used to retrieve real-time data. | 示例值：`baidu`
* `q` (string, 必需): Search Query. Parameter defines the query you want to search. | 示例值：`chatgpt`

#### 返回响应

* **200 成功**
  * Content-Type：`application/json`

#### 请求示例

```
curl -H "Authorization: Bearer {{YOUR_API_KEY}}" --location --request GET 'https://api.ecn.ai/serpapi/search?engine=&q='
```

#### 响应示例

```json
{
    "search_metadata": {
        "id": "<string>",
        "status": "<string>",
        "json_endpoint": "<string>",
        "created_at": "<string>",
        "processed_at": "<string>",
        "...": "更多字段"
    },
    "search_parameters": {
        "q": "<string>",
        "f": "<string>",
        "device": "<string>",
        "engine": "<string>",
        "google_domain": "<string>",
        "...": "更多字段"
    },
    "search_information": {
        "query_displayed": "<string>",
        "total_results": 0,
        "time_taken_displayed": 0.0,
        "detected_location": "<string>"
    },
    "organic_results": [
        {
            "position": "...",
            "title": "...",
            "link": "...",
            "snippet": "...",
            "thumbnail": "...",
            "...": "更多字段"
        }
    ],
    "answer_box": [
        {
            "position": "...",
            "title": "...",
            "link": "..."
        }
    ],
    "...": "更多字段"
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/test/compute/mcpg/web-search/serpapi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
