/ 目錄 / 演練場 / Apify
● 官方 apify 🔑 需要你的金鑰

Apify

作者 apify · apify/apify-mcp-server

透過 Apify 存取 3000+ 個預建 Actor,抓取 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 金鑰 — console.apify.com → Settings → Integrations → API token
  • Apify 平台上足夠的執行點數 — 免費方案每月提供 $5 點數;大多數 Google Maps 執行約需每 1000 筆地點 $1
步驟
  1. 為目標選擇合適的 Actor
    找出最適合爬取 Google Maps 地點、維護狀況最佳的 Apify Actor,優先選擇評分 5 顆星以上且近期有更新的。✓ 已複製
    → Actor slug,例如 compass/crawler-google-places,以及其輸入 schema
  2. 使用你的查詢條件執行
    使用 searchStringsArray=['coffee shop Berlin']、maxCrawledPlacesPerSearch=500、language='en' 執行該 Actor,等待完成。✓ 已複製
    → 執行狀態為 SUCCEEDED,並附有資料集 id
  3. 提取並清理資料集
    取得資料集項目,只保留 name、address、phone、website、rating、reviewsCount,刪除沒有電話的地點,輸出為 CSV。✓ 已複製
    → 400–500 筆已清理潛在客戶的 CSV 檔案

結果: 一份去重後可直接匯入 CRM 的客戶名單,通常花費 Apify 點數 $1–3。

注意事項
  • 使用了錯誤的 Actor——市集中存在許多可靠性較差的仿冒品 — 在 Apify 商店中依使用次數與最後更新時間篩選;針對同一目標只使用排名前 3 的 Actor
  • 龐大的資料集在行內回傳時會撐爆 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 Product Scraper Actor
    使用 urls=<我的清單>、maxReviews=0、scrapeProductDetails=true 執行 Actor junglee/amazon-crawler✓ 已複製
    → 執行完成並產生商品資料集
  2. 正規化價格與庫存
    從資料集中提取 asin、title、price、currency、in_stock(bool)、seller,並標記任何與上次快照 [貼上] 相比價格下降的 asin。✓ 已複製
    → 每個 ASIN 的目前值與歷史值比較
  3. 設定每日排程
    為此 Actor 建立每日 Apify 排程,使用相同的輸入參數,命名為 '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,起始日期為 30 天前。✓ 已複製
    → 包含推文與互動數的資料集
  3. 摘要語調與主題的變化
    將這些貼文分群為 5 個主題,並顯示每個主題的平均互動數,特別標出某主題有急遽上升的情況。✓ 已複製
    → 主題表格與趨勢分析說明

結果: 一份結構化社群貼文資料集,以及一頁主題趨勢摘要。

注意事項
  • 爬取私人或需登入的內容違反平台服務條款,且隨時可能中斷 — 只限爬取公開個人頁面;將部分失敗視為預期情況,而非需要追查的 bug
搭配使用: notion · postgres

非同步執行大型爬取任務並於稍後收集結果

👤 執行超過 10k 頁面爬取的工程師 ⏱ ~45 min advanced

何時使用: 當你的爬取任務需要 30 分鐘至 6 小時——你不希望 MCP 呼叫阻塞這麼長的時間。

步驟
  1. 啟動執行而不等待結果
    使用 startUrls=[...]、maxCrawlPages=10000 啟動 Actor apify/website-content-crawler,回傳 runId,不需等待完成。✓ 已複製
    → 立即回傳 runId
  2. 定期輪詢狀態
    查詢執行 <runId> 的狀態,已完成幾頁、幾頁發生錯誤,預計完成時間?✓ 已複製
    → 進度數據
  3. 完成後串流取得結果
    執行已 SUCCEEDED,每次讀取 1000 筆分頁瀏覽資料集,將每頁儲存至 /crawls/<runId>/page-<n>.jsonl。✓ 已複製
    → 本地 JSONL 檔案已備妥,可供後續處理

結果: 大型爬取任務在不阻塞對話視窗的情況下完成,結果存於磁碟,隨時可供建立索引。

注意事項
  • 讓 Claude 一次性拉取完整資料集——將導致 context OOM — 永遠使用分頁;切勿一次請求整個資料集
  • 深層爬取若沒有設定上限,費用會急速膨脹 — 在啟動 Actor 前同時設定 maxCrawlPages 以及記憶體與 CPU 限制
搭配使用: filesystem · qdrant

組合

與其他 MCP 搭配,撬動十倍槓桿

apify + postgres

透過 Apify Actor 爬取資料後,將正規化的資料列更新插入至你的產品資料庫

針對我的 ASIN 清單執行 Amazon Actor,然後將每筆結果連同今天的日期更新插入至 product_prices 資料表。✓ 已複製
apify + qdrant

爬取文件網站後,將每個頁面向量化並建立索引,供 RAG 使用

使用 Website Content Crawler 爬取 docs.stripe.com,然後將每個頁面向量化並更新插入至 Qdrant stripe_docs 集合。✓ 已複製
apify + filesystem

在進行後續處理前,將原始爬取結果以 JSONL 格式儲存至本地

針對「巴黎牙醫」執行 Google Maps Actor,將原始資料集儲存至 /data/leads/paris-dentists.jsonl。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
search-actors query: str, limit?: int 在執行前先探索哪個 Actor 符合你的目標 free
get-actor actorId: str 在呼叫前查看 Actor 的輸入 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 本身相當寬鬆;Actor 執行本身以平台點數計費
每次呼叫 Token 數
Actor 的輸入與輸出回應通常為 500–3000 tokens;大型資料集應分頁讀取
費用
免費方案:每月 $5 平台點數。付費方案從 $49/月起,提供 $49 以上點數。各 Actor 定價不同(每 1000 筆結果通常為 $0.25–$5)。
提示
呼叫前務必透過 get-actor 查看 Actor 定價;每次執行都要設定 maxResults/maxCrawlPages 以控制費用上限。

安全

權限、密鑰、影響範圍

最小權限: Apify API token with default scope
憑證儲存: API 金鑰存於環境變數 APIFY_TOKEN
資料出站: 呼叫 api.apify.com;Actor 本身可能依照你的指示存取任何公開 URL
切勿授予: Root/admin tokens if user-scoped tokens suffice

故障排查

常見錯誤與修復

401 Unauthorized

APIFY_TOKEN 遺失或已撤銷,請至 console.apify.com/settings/integrations 重新產生。

驗證: curl -H 'Authorization: Bearer $APIFY_TOKEN' https://api.apify.com/v2/users/me
Actor run FAILED with 'Not enough platform credits'

至 Apify 主控台帳單頁面加值點數,或改用較便宜的 Actor 變體;下次執行時設定 maxResults 以限制費用。

Run succeeds but dataset is empty

輸入 schema 有誤——執行 get-actor 確認必填欄位名稱,Actor 可能靜默忽略了你的輸入。

Timeout waiting for call-actor

長時間爬取超過 MCP 呼叫逾時;請先啟動執行取得 runId,再用 get-run 輪詢,而非阻塞等待。

替代方案

Apify 對比其他方案

替代方案何時用它替代權衡
Firecrawl MCP需要對任意網站進行通用的頁面轉 Markdown 爬取對 Amazon 或 Maps 等特定目標的專業化程度較低
Bright Data MCP需要重量級住宅代理伺服器與 SERP API費用較高;側重於突破封鎖,而非提供預建 Actor
Playwright MCP需要自訂操作流程(登入、多步驟點擊流程)需要自行撰寫並維護爬蟲邏輯

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills