关于 duckduckgo
duckduckgo 通过 Apify 托管的抓取器提供结构化 DuckDuckGo 搜索结果,适合需要 SERP 数据的开发者和助手。结果支持本地化,并涵盖自然搜索列表以外的页面内容。
主要功能
- 01提取自然搜索及丰富结果区块
- 02支持 40 多种地区和语言组合
- 03按安全搜索级别和日期筛选
- 04按可配置上限获取多页结果
- 05返回含页面元数据的结构化 JSON
适用场景
- 01持续监测搜索排名变化
- 02比较不同地区的搜索结果
- 03收集新闻、广告和相关搜索
- 04向助手提供搜索数据
MCP 相关
Apify 托管的 MCP 服务将 DuckDuckGo 抓取器作为工具提供给 MCP 客户端。可通过专用 Actor 的 MCP URL 和 Apify 身份验证启用。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.apify.com/?tools=johnvc/DuckDuckGo-Scraper-for-serp-rankingsclaude mcp add --transport http johnisanerd-duckduckgo https://mcp.apify.com/?tools=johnvc/DuckDuckGo-Scraper-for-serp-rankings{"mcpServers":{"johnisanerd-duckduckgo":{"type":"http","url":"https://mcp.apify.com/?tools=johnvc/DuckDuckGo-Scraper-for-serp-rankings"}}}在 Cursor 中打开{"servers":{"johnisanerd-duckduckgo":{"type":"http","url":"https://mcp.apify.com/?tools=johnvc/DuckDuckGo-Scraper-for-serp-rankings"}}}在 VS Code 中打开{"mcpServers":{"johnisanerd-duckduckgo":{"type":"http","url":"https://mcp.apify.com/?tools=johnvc/DuckDuckGo-Scraper-for-serp-rankings"}}}{"mcpServers":{"johnisanerd-duckduckgo":{"serverUrl":"https://mcp.apify.com/?tools=johnvc/DuckDuckGo-Scraper-for-serp-rankings"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
🦆 DuckDuckGo API:以简洁 JSON 格式获取结构化 DuckDuckGo 搜索结果
使用 DuckDuckGo API 的高效、可靠且对开发者友好的方式。
Actor 页面: apify.com/johnvc/DuckDuckGo-Scraper-for-serp-rankings 输入架构: apify.com/johnvc/DuckDuckGo-Scraper-for-serp-rankings/input-schema
DuckDuckGo API 会根据任意查询执行 DuckDuckGo 搜索,并返回简洁、结构化的 JSON。每一页搜索结果都会作为一个条目返回,其中包含自然搜索结果(标题、链接、摘要、排名位置、站点链接)、广告、知识图谱面板、新闻结果、内嵌图片、内嵌视频和相关搜索,以及每页的元数据。它支持 40 多种地区和语言组合、安全搜索级别、日期筛选和自动分页。由于 DuckDuckGo 不会个性化搜索结果,因此多次运行的输出保持一致。
视频演示
快速入门
前提条件
- Python 3.11 或更高版本
- Apify 账户和 API 密钥(在此免费获取密钥)
-
克隆代码库
git clone https://github.com/johnisanerd/Apify-DuckDuckGo-Search-Scraper.git cd Apify-DuckDuckGo-Search-Scraper -
使用 UV 安装依赖项
# Install UV if you do not have it: curl -LsSf https://astral.sh/uv/install.sh | sh # Install project dependencies: uv sync -
配置 API 密钥
cp .env.example .env # Edit .env and add your Apify API key # Get your free API key at: https://apify.com?fpr=9n7kx3 -
运行示例
uv run python duckduckgo-search-scraper.py
另一种方式:直接设置 API 密钥
export APIFY_API_TOKEN="your_api_key_here"
uv run python duckduckgo-search-scraper.py
为什么使用这个 DuckDuckGo API?
全面覆盖搜索结果页。 一次调用即可将整个 DuckDuckGo 搜索结果页作为结构化数据返回:自然搜索结果、广告、知识图谱面板、新闻、内嵌图片、内嵌视频和相关搜索。你获取的是完整页面,而不只是自然搜索链接。
结果一致、不受个性化影响。 DuckDuckGo 不会个性化搜索结果,因此多次运行会返回具有可比性的搜索结果页,非常适合排名分析和长期监测。
支持本地化和筛选。 可指定 40 多种地区和语言组合,设置安全搜索级别,并按日期筛选(过去一天、一周、一个月、一年或自定义范围)。
价格可预测,按使用量付费。 费用按运行次数和处理页数计算,无月租费。你可以通过页面数量上限直接控制成本。
易于自动化。 只需几行 Python 代码即可调用,也可以将其加载为 MCP 工具,让 Claude 和 Cursor 等助手按需为你执行 DuckDuckGo 搜索。
功能
核心能力
- 关键词搜索:搜索 DuckDuckGo 并完整提取搜索结果页
- 本地化:支持 40 多种地区和语言组合
- 安全搜索控制:可设置为严格、适中或关闭
- 日期筛选:支持相对时间段或自定义日期范围
- 多页分页:可配置页面数量上限
数据质量
- 结构化自然搜索结果:包含标题、链接、摘要、排名位置、显示链接、日期和站点链接
- 丰富的结果区块:广告、知识图谱、新闻、内嵌图片、内嵌视频、相关搜索
- 每页元数据:包含结果数量和分页详情
- 一致的 JSON 结构:适用于每次查询
- 按页计费:让大型搜索的费用保持透明
使用示例
基本示例
搜索一个关键词并返回一页结果。这是试用 API 成本最低的方式。
{
"query": "machine learning",
"max_pages": 1
}
高级示例
执行英国本地化搜索,设置严格安全搜索,筛选过去一周的结果,并返回两页。
{
"query": "machine learning",
"localization": "uk-en",
"safe": "strict",
"date_filter": "w",
"max_pages": 2
}
输入参数
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
query | string | 是 | - | 搜索查询。 |
localization | string | 否 | us-en | 地区和语言代码,例如 uk-en、fr-fr、de-de、ja-jp(支持 40 多种)。 |
safe | string | 否 | moderate | 安全搜索级别:strict、moderate 或 off。 |
date_filter | string | 否 | (无) | d(过去一天)、w(一周)、m(一个月)、y(一年),或自定义范围 YYYY-MM-DD..YYYY-MM-DD。 |
max_pages | integer | 否 | 2 | 要获取的最大页数(0 = 不限)。 |
output_file | string | 否 | (无) | 用于保存结果的可选文件名;省略时会自动生成。 |
输出格式
针对查询 machine learning 的真实数据集条目。每页结果为一个条目;为便于阅读,此处省略了第一个结果的站内链接。
{
"query": "machine learning",
"localization": "us-en",
"safe_search": -1,
"max_pages": 1,
"search_timestamp": "2026-05-29T09:56:11.848097",
"total_results_found": 11,
"pages_processed": 1,
"page_number": 1,
"search_metadata": {
"localization": "us-en",
"localization_name": "United States (English)",
"safe_search": -1,
"safe_search_description": "Moderate",
"max_pages": 1,
"pagination_limit_reached": true
},
"pagination_info": {
"total_pages": 1,
"max_pages_set": 1,
"pagination_stopped_by_limit": true,
"results_per_page": { "first_page": 11, "subsequent_pages": 50 }
},
"organic_results": [
{
"position": 1,
"title": "Machine Learning Tutorial - GeeksforGeeks",
"link": "https://www.geeksforgeeks.org/machine-learning/machine-learning/",
"date": "Apr 15, 2026",
"snippet": "Machine learning is a branch of Artificial Intelligence that focuses on developing models and algorithms that let computers learn from data without being explicitly programmed for every task.",
"favicon": "https://external-content.duckduckgo.com/ip3/www.geeksforgeeks.org.ico",
"sitelinks": [
{
"title": "Gradient Descent in Linear Regression",
"link": "https://www.geeksforgeeks.org/machine-learning/gradient-descent-in-linear-regression/"
}
]
},
{
"position": 2,
"title": "Machine learning - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Machine_learning",
"snippet": "Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of statistical algorithms that can learn from data and generalize to unseen data.",
"favicon": "https://external-content.duckduckgo.com/ip3/en.wikipedia.org.ico"
}
],
"ads": [],
"knowledge_graph": [],
"news_results": [],
"inline_images": [],
"inline_videos": [],
"related_searches": []
}
用作 MCP 工具
你可以将 DuckDuckGo API 加载为 MCP 工具,让助手代你调用。MCP 服务 URL 预先加载了这一个 Actor:
https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings
出现提示时,请在浏览器中使用 OAuth 进行身份验证,或使用你的 Apify API 令牌(与 Python 示例中使用的 APIFY_API_TOKEN 相同)。前往 https://console.apify.com/settings/integrations 获取令牌,并在 https://apify.com?fpr=9n7kx3 注册免费的 Apify 账户。
在 Claude Cowork Desktop 中安装

Cowork 是桌面应用的自动化模式。若要将 DuckDuckGo API 用作工具,请将 Apify MCP 服务添加为连接器。
- 打开 Claude 桌面应用,前往 Settings → Connectors(或前往 Settings → Developer → Edit Config,直接编辑
claude_desktop_config.json)。- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- 添加 Apify MCP 服务,其中仅预先加载了此 Actor:
{
"mcpServers": {
"apify": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings"
]
}
}
}
- 重启应用。Cowork 首次调用工具时,请在浏览器中完成 OAuth 提示,或在连接器设置中添加 Apify API 令牌以跳过 OAuth。
- 在 Cowork 聊天中,确认工具可用,并让它运行 DuckDuckGo API。
下载桌面应用并开始免费试用:https://claude.ai/referral/uIlpa7nPLg 更多帮助:https://docs.apify.com/platform/integrations/claude-desktop
在 Claude Code 中安装

Claude Code 是命令行工具。使用一条命令添加 Actor 的 MCP 服务:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings"
若要使用令牌而非浏览器 OAuth:
claude mcp add --transport http apify \
"https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings" \
--header "Authorization: Bearer YOUR_APIFY_TOKEN"
然后使用 claude mcp list 验证,或在会话中运行 /mcp。让 Claude Code 调用 DuckDuckGo API。
免费试用 Claude Code:https://claude.ai/referral/uIlpa7nPLg Claude Code MCP 文档:https://code.claude.com/docs/en/mcp
在 Claude(网站)中安装

在 claude.ai 上,你可以将 Apify 添加为连接器,然后仅启用此 Actor 的工具。
- 前往 Settings → Connectors → Browse connectors,搜索 Apify MCP server。安装它(如果出现提示,则启用或更新)。
- 连接时,使用你的 Apify API 令牌进行身份验证,并启用工具
johnvc/DuckDuckGo-Scraper-for-serp-rankings。 - 在任意聊天中,打开 + → Connectors,并启用 Apify。
- 或者,选择 Add custom connector,粘贴完整的 MCP URL
https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings,并在出现提示时使用 OAuth。 - 让 Claude 运行 DuckDuckGo API。
在网页上打开 Claude:https://claude.ai/referral/uIlpa7nPLg
在 Cursor 中安装

Cursor 从项目文件 .cursor/mcp.json 中读取 MCP 服务。
- 在项目中创建
.cursor/mcp.json:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings"
}
}
}
- 如果你更倾向于使用令牌身份验证,而非浏览器 OAuth,请添加一个请求头:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}
- 打开 Cursor → Settings → MCP,确认 apify 服务已连接(显示绿点)。
- 在 Composer 或 Chat 中,让 Cursor 调用 DuckDuckGo API。
刚开始使用 Cursor?在此获取:https://cursor.com/referral?code=XQP4VBLI3NNX
在 ChatGPT 中安装

ChatGPT 通过开发者模式连接到 Apify MCP 服务(适用于 ChatGPT Pro、Plus、Business、Enterprise 和 Education 方案)。
- 点击个人资料图标,然后前往 Settings > Apps。如果看不到 Create app 按钮,请打开 Advanced settings 并启用 Developer mode。
- 点击 Create app 并填写表单:
- 名称: Apify
- MCP 服务 URL:
https://mcp.apify.com/?tools=actors,docs,johnvc/DuckDuckGo-Scraper-for-serp-rankings - 身份验证: OAuth
- 点击 Create,并授权与 Apify 的连接。
- 若要在对话中使用该应用,请点击聊天中的 +,选择 Developer mode,然后选择 Apify。
更多帮助:https://docs.apify.com/platform/integrations/mcp
使用 DuckDuckGo API,以可靠、结构化的结果为搜索和 SEO 工作流提供支持。
🤖 向 AI 助手咨询此 Actor
打开一条关于 DuckDuckGo Scraper 的现成提示词,可发送给你选择的 AI:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
最后更新:2026.10.27
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
