search_web
以 JSON 形式获取 Google 的索引。每条结果包含标题、URL、摘要片段以及 Google 自带的高亮版本,另附一个元数据块,给出匹配总数和搜索耗时。站点、文件类型、语言、时间范围和安全搜索过滤都会转换为真正的 Google 运算符。
使用场景
研究流水线
先找到某个主题的信息源,再把 URL 直接送入 batch_scrape 或 extract_content。
站内搜索
设置 site 即可在单个域名内搜索——用来替代不存在或很难用的站内搜索框。
文档检索
把 file_type 与查询词结合,查找某个主题的 PDF、表格或幻灯片。
时效监测
用 time_range 限定最近一天或一周,捕捉某个主题或品牌的新报道。
竞争态势发现
查看 Google 对你关心的关键词会呈现哪些页面,以及总共有多少结果。
为智能体提供依据
给模型提供当下的搜索结果作为依据,而不是依赖它记住的内容。
Endpoint
/api/v1/tools/search_webParameters
limit 最大可填 100,但 Google 每次请求最多返回 10 条——填更大的值不会报错,只是仍然只给 10 条。其余结果请用 offset 翻页,每页一次搜索(5 credits)。| Name | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Required | - | 搜索词。你在这里写的 Google 运算符与在搜索框中输入的效果一致,`site` 和 `file_type` 会作为附加运算符追加上去。 Example: mcp server for web scraping |
limit | number | Optional | 10 | 返回的结果数,取值 1-100——但 Google 单次请求上限为 10,因此超过 10 的值等同于 10。 Example: 10 |
offset | number | Optional | 0 | 首条结果的下标,从 0 开始。翻页时依次用 10、20、30。每一页都是一次独立搜索,收取 5 credits。 Example: 10 |
lang | string | Optional | - | 限定为某一种语言的文档,使用 ISO 639-1 代码。该值会在 `search_metadata.lang` 中回显;省略时默认为 `en`。 Example: es |
site | string | Optional | - | 限定为单个域名。会以 `site:<domain>` 追加到查询词后,效果与手动输入完全一致。 Example: docs.anthropic.com |
safe_search | boolean | Optional | - | 开启 Google 的 SafeSearch 过滤。不设置时为关闭。 Example: true |
time_range | string | Optional | - | 按时间范围限定:`day`、`week`、`month`、`year` 或 `all`。`all` 表示不加限制,同时也是默认值。 Example: week |
file_type | string | Optional | - | 限定为单一文件扩展名。会以 `filetype:<ext>` 追加,因此 `pdf`、`xlsx`、`pptx` 都可用。 Example: pdf |
请求示例
curl -X POST https://crawlforge.dev/api/v1/tools/search_web \
-H "X-API-Key: cf_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "mcp server for web scraping",
"limit": 10,
"time_range": "month",
"safe_search": true
}'响应示例
{ "success": true, "data": { "query": "mcp server for web scraping", "search_metadata": { "total_results": 48200, "results_returned": 1, "offset": 0, "search_time": 0.312, "lang": "en", "safe_search": false, "time_range": "month", "site": null, "file_type": null }, "results": [ { "title": "CrawlForge MCP Server — 29 web tools for Claude", "url": "https://www.crawlforge.dev/", "snippet": "Search, scrape, crawl and extract from any site through one MCP server.", "displayLink": "www.crawlforge.dev", "formattedUrl": "https://www.crawlforge.dev/", "htmlSnippet": "Search, scrape, crawl and extract from any site through one MCP server.", "htmlTitle": "CrawlForge MCP Server — 29 web tools for Claude", "cacheId": "x8Kd0PqR2mUJ", "pagemap": { "metatags": [ { "og:type": "website" } ] } } ], "spelling_correction": "mcp server for web scraping", "related_searches": [ "mcp web scraping tools", "model context protocol scraper" ] }, "credits_used": 5, "credits_remaining": 995, "processing_time": 460}data.queryGoogle 实际使用的检索词,可能与你发送的不同data.search_metadata.total_resultsGoogle 对匹配文档数量的估计。这是估算值,并不是你可以逐页翻完的数量data.search_metadata.results_returned`results` 的长度——最多为 10data.search_metadata.search_timeGoogle 自己报告的耗时(秒)。不是你这次请求的延迟data.results[].url目标链接。`formattedUrl` 是 Google 对同一地址的展示版本data.results[].htmlSnippet保留了 Google `<b>` 关键词高亮的摘要片段。渲染前请先转义data.results[].cacheIdGoogle 的缓存标识符(如果有)。Google 未缓存的结果不会包含该字段data.results[].pagemapGoogle 从页面上提取的结构化数据——meta 标签、图片、schema.org 类型。每条结果的结构不同,也可能完全没有data.spelling_correctionGoogle 给出的拼写建议;没有时为 `null`data.related_searches相关查询建议。经常是空数组credits_used每次搜索固定 5 credits,与你请求的 `limit` 无关错误处理
查询无效(400 Bad Request)
VALIDATION_ERROR。query 为必填且不能为空。limit 超出 1-100、offset 为负数,或 time_range 不属于五个允许值之一,也返回同一状态码。
搜索失败(500 Internal Server Error)
TOOL_ERROR。涵盖上游 Google 报错、当日配额耗尽,以及 10 秒后超时。错误消息会指出具体原因。失败的搜索不计费。
results 为空数组且 total_results: 0——这不是错误。请检查 results_returned,而不要只看状态码。credits 费用
offset 翻页意味着又一次搜索,因此十页需要 50 credits。失败的搜索不计费。包含内容:
Google 的实时索引,而不是缓存副本
标题、URL、摘要片段以及 Google 的高亮版本
匹配总数估算与搜索耗时
site、file_type、lang、time_range 与安全搜索过滤
在 Google 提供时返回拼写纠正与相关搜索
计划推荐:
Free 计划: 1,000 个一次性试用 credits = 200 次搜索
Hobby 计划: 5,000 credits = 1,000 次搜索($19/mo)
Professional 计划: 50,000 credits = 10,000 次搜索($99/mo)