/ 目录 / 演练场 / Apify
● 官方 apify 🔑 需要你的密钥

Apify

作者 apify · apify/apify-mcp-server

在 Apify 上直接调用 3000+ 预构建的 Actors 抓取 Google、Amazon、LinkedIn、TikTok、Maps 等网站数据,无需维护自定义爬虫代码。

Apify 官方 MCP 将 Apify Actor 市场作为可调用的工具暴露出来。与其为每个网站自己写爬虫,不如直接挑选现成的、久经考验的 Actor,传入参数,拿回结构化 JSON。最适合那些细分的爬虫目标(Google Maps 商户、Amazon 商品、Twitter 资料),因为通用爬虫需要不断维护。

为什么要用

核心特性

实时演示

实际使用效果

apify.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "apify",
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "apify": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@apify/actors-mcp-server"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add apify -- npx -y @apify/actors-mcp-server

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Apify

从 Google Maps 抓取商户信息用于本地业务开发

👤 销售 / SDR 团队构建地域客户清单 ⏱ ~15 min beginner

何时使用: 你需要 500 个'柏林咖啡馆'的地址、电话、网站和评分——并且不想被中途拦截。

前置条件
  • Apify 账户 + API token — console.apify.com → Settings → Integrations → API token
  • Apify 平台余额足够支持你的运行规模 — 免费计划每月送 $5 额度;大多数 Google Maps 运行成本约为 $1/千条结果
步骤
  1. 为目标选择合适的 Actor
    找最好维护的 Apify Actor 用于爬 Google Maps 商户。选星级>5、有近期更新的。✓ 已复制
    → Actor slug 如 compass/crawler-google-places 及其 input schema
  2. 用查询条件运行 Actor
    用 searchStringsArray=['coffee shop Berlin'], maxCrawledPlacesPerSearch=500, language='en' 运行该 Actor,等待完成。✓ 已复制
    → 运行状态为 SUCCEEDED,附带 dataset id
  3. 拉取并清洗数据集
    获取数据集项目。只保留 name、address、phone、website、rating、reviewsCount。删除没有电话的商户。输出为 CSV。✓ 已复制
    → 400~500 条清洗后的商户 CSV

结果: 去重后的商户清单,可直接导入 CRM,通常费用 $1~3 Apify 额度。

注意事项
  • 运行了错误的 Actor——很多山寨品存在且可靠性差 — 在 Apify 商城按使用次数和最后更新时间筛选;对某个目标坚持用前 3 名的。
  • 巨大数据集一次返回会炸爆 context window — 让 Claude 分页拉取(limit+offset),或先保存到文件系统再处理
搭配使用: filesystem · postgres

定时追踪 Amazon 商品价格和库存状态

👤 电商、联盟营销、竞价团队 ⏱ ~20 min intermediate

何时使用: 你想每天自动获取 200 个 ASIN 的价格和库存快照,无需照看爬虫。

前置条件
  • ASIN 列表或商品 URL — CSV 格式的 URL,如 https://www.amazon.com/dp/B0XXXXXX
步骤
  1. 调用 Amazon 商品爬虫 Actor
    用 urls=<列表>, maxReviews=0, scrapeProductDetails=true 运行 Actor junglee/amazon-crawler✓ 已复制
    → 运行完成,返回商品数据集
  2. 规范化价格和库存
    从数据集提取 asin、title、price、currency、in_stock (bool)、seller。标记价格相比上次快照下降的 ASIN [粘贴]。✓ 已复制
    → 每个 ASIN 的当前 vs 历史对比
  3. 设置每日定时
    为该 Actor 创建每日定时任务,参数相同。名称为 'amazon-price-tracker-<category>'。✓ 已复制
    → 定时任务已创建,显示下次运行时间

结果: 一个每日自动运行的价格和库存监控,200 个 ASIN 每天成本约 $0.30。

注意事项
  • Amazon 会主动限流,即使用住宅代理——运行也可能部分失败 — 启用 Actor 重试,并接受 5~10% 的项目可能缺失;用小批量重新运行失败的 ASIN
搭配使用: postgres · notion

从公开的 Twitter/X 或 TikTok 账号收集近期帖子

👤 社交媒体监听分析师、内容研究员 ⏱ ~20 min intermediate

何时使用: 你追踪某个公众人物或品牌,想要他们最近 30 天的帖子作为结构化数据用于分析。

前置条件
  • 目标账号的资料 URL — 仅限公开资料——不要尝试抓私有或需要登录的内容
步骤
  1. 选择有信誉的 Twitter/TikTok Actor
    找最好的 Apify Actor 用于获取某账号的公开推文。显示每 1000 条推文的价格。✓ 已复制
    → Actor 候选名单及价格/千条
  2. 为每个目标运行
    用 maxTweets=300 和 start_date=30天前 为这些账号运行。✓ 已复制
    → 返回推文数据集及互动计数
  3. 总结语气和话题的变化
    把帖子聚类为 5 个话题,显示每个话题的平均互动。指出任何话题的尖锐上升。✓ 已复制
    → 话题表 + 趋势评论

结果: 一份结构化的社交帖子数据集加 1 页话题趋势总结。

注意事项
  • 抓私有或需要登录的内容违反平台 ToS,且随时可能失效 — 只抓公开资料;把部分失败视为正常,而非 bug 去追查
搭配使用: notion · postgres

异步运行大规模爬取任务,之后收集结果

👤 运行 10k+ 页面爬取的工程师 ⏱ ~45 min advanced

何时使用: 爬取耗时 30 分钟到 6 小时——你不想 MCP 调用阻塞这么久。

步骤
  1. 启动运行而不等待
    用 startUrls=[...], maxCrawlPages=10000 启动 Actor apify/website-content-crawler。立即返回 runId,不等待。✓ 已复制
    → 立即返回 runId
  2. 定期轮询状态
    检查运行 <runId> 的状态。完成多少页?出错多少?预计完成时间?✓ 已复制
    → 进度数字
  3. 就绪后流式获取结果
    运行已完成。每次分页拉 1000 项,保存到 /crawls/<runId>/page-<n>.jsonl。✓ 已复制
    → 本地 JSONL 文件可供下游处理

结果: 大规模爬取完成,不阻塞聊天会话,结果存储在本地待索引处理。

注意事项
  • 一次性让 Claude 拉取全部数据集——会 OOM — 始终分页;永不一次请求整个数据集
  • 深度爬取成本无限增长 — 启动前设置 maxCrawlPages 和 Actor 内存/CPU 限额
搭配使用: filesystem · qdrant

组合

与其他 MCP 搭配,撬动十倍杠杆

apify + postgres

通过 Apify Actor 爬取,然后将规范化行 upsert 到你的商品数据库

为我的 ASIN 列表运行 Amazon Actor,然后将每条结果 upsert 到 product_prices 表,附加今天的日期。✓ 已复制
apify + qdrant

爬取文档站点,然后将每一页嵌入向量集合用于 RAG

在 docs.stripe.com 上用 Website Content Crawler,然后嵌入每一页并 upsert 到 Qdrant 的 stripe_docs 集合。✓ 已复制
apify + filesystem

将原始爬取输出持久化为本地 JSONL,再做下游处理

为 'dentist Paris' 运行 Google Maps Actor,将原始数据集保存到 /data/leads/paris-dentists.jsonl。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
search-actors query: str, limit?: int 运行前发现哪个 Actor 适合你的目标 free
get-actor actorId: str 调用前检查 Actor 的 input schema 和价格 free
call-actor actorId: str, input: object, timeout?: int 运行 Actor 并等待完成(仅限短任务) Actor-specific; billed in Apify platform credits
get-dataset-items datasetId: str, limit?: int, offset?: int 分页拉取已完成运行的数据集 free
get-run runId: str 轮询长任务的运行状态 free

成本与限制

运行它的成本

API 配额
Apify API 很慷慨;Actors 本身按平台额度计费
每次调用 Token 数
Actor 的输入输出响应通常 500~3000 token;大数据集应分页
费用
免费计划:每月 $5 平台额度。付费计划从 $49/月起(含 $49+ 额度)。具体 Actor 价格不同($0.25~$5/千条结果较常见)。
提示
调用前始终通过 get-actor 检查 Actor 价格;每次运行都设置 maxResults/maxCrawlPages 来控制成本。

安全

权限、密钥、影响范围

最小权限: Apify API token,使用默认权限范围
凭据存储: API token 存储在环境变量 APIFY_TOKEN
数据出站: 调用 api.apify.com;Actors 可能会访问你指定的任何公网 URL
切勿授予: 如果用户范围 token 足够,就不要用 root/admin token

故障排查

常见错误与修复

401 Unauthorized

APIFY_TOKEN 丢失或已撤销。在 console.apify.com/settings/integrations 重新生成。

验证: curl -H 'Authorization: Bearer $APIFY_TOKEN' https://api.apify.com/v2/users/me
Actor 运行失败:'平台额度不足'

在 Apify 控制台充值,或选择更便宜的 Actor 变体;下次设置 maxResults 来控制成本。

运行成功但数据集为空

Input schema 错误——运行 get-actor 查看必需字段名,Actor 可能静默忽略了你的输入。

等待 call-actor 超时

长任务超过 MCP 调用超时;启动运行,获取 runId,然后用 get-run 轮询而非阻塞。

替代方案

Apify 对比其他方案

替代方案何时用它替代权衡
Firecrawl MCP跨任何网站的通用页面转 markdown 爬取不专门针对 Amazon 或 Maps 等特定目标
Bright Data MCP你需要强力住宅代理和搜索结果 API更贵;专注于反爬虫破解而非预构建 Actors
Playwright MCP你需要脚本化自定义流程(登录、多步点击)你需要自己编写和维护爬虫逻辑

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills