跳到主要内容
apiactors14 · $1.19

Apify × n8n:从 Actor run 到可用数据的最小工作流

披露:本页含联盟推广链接。你通过本页链接注册 Apify 并付费,我们可能获得佣金——不影响你支付的价格,也不改变我们如实记录的实测数据。 我们如何实测 →

证据口径:本页于 2026-07-30 按 Apify n8n 官方集成文档 核对。示例没有连接本站账户、没有触发新 run,因此不写“本站已跑通”。

Apify 在 n8n 中使用 community node,包名是 @apify/n8n-nodes-apify。它能运行 Actor/Task、读取 run 与存储,也能在 Actor/Task 运行结束时触发工作流。

官方节点也提供“运行并返回 Dataset items”的组合操作。它适合短流程;需要审计状态、日志与结果归属时,保留显式步骤更容易定位失败:

Manual Trigger
  → Apify: Run Actor (Wait for finish = true)
  → IF Run.status = SUCCEEDED
  → Apify: Get Dataset Items
     Dataset ID = 同一个 Run 的 defaultDatasetId
  → 你的下游:Google Sheets / 数据库 / HTTP

Wait for finish 返回后,SUCCEEDEDFAILEDTIMED-OUTABORTED 都可能是终态。只有 SUCCEEDED 进入取数分支;其他终态记录 runIdstatusstatusMessage 后停止写入。不要在第一次就加入 AI 总结、十个分支和自动群发,先证明一条输入能产生正确 Dataset,再扩工作流。

安装与认证怎么选

环境节点安装认证建议
n8n Cloud从 canvas 搜索并安装允许的 verified community node可按官方当前支持选择 OAuth2 或 API key
自托管 n8n在 Community Nodes 安装包名API key 放 n8n Credentials,不进节点字段

API key 只放 Credentials。不要把 token 写进 HTTP URL、Code node、工作流名称或可导出的 JSON。

自托管 n8n 只有在使用 Apify 完成事件 trigger 时,才需要把 WEBHOOK_URL 配成 Apify 可访问的外部地址;默认指向 localhost 的 webhook 无法接收平台回调。纯 Manual/Cron → Run Actor action 流程不依赖这个外部回调。

节点配置顺序

  1. 在任务页确认 Actor slug、输入字段和小样本上限。
  2. 添加 Run Actor,先用固定 JSON 输入,并开启 Wait for finish。
  3. 从等待完成后的 Run 输出读取 idstatusstatusMessagedefaultDatasetId,不要拿启动时的旧响应猜最终状态。
  4. 加状态门禁:仅 SUCCEEDED 进入结果分支;FAILEDTIMED-OUTABORTED 进入告警或人工复核。
  5. 添加 Get Dataset Items,Dataset ID 使用同一个 Run 的 defaultDatasetId,不写死测试 ID。
  6. 在结果后检查 0 条、必需字段、字段选择与去重,再写入下游;从 Run 输出显式补充追踪字段。
  7. 需要持续运行时,最后才换成 Cron 或 Apify trigger。若使用 trigger,同样只让成功事件进入取数分支。

一份 Actor 专属的输入边界示例

{
  "queries": "coffee shops in Shanghai",
  "maxCrawledPlacesPerSearch": 10
}

这两个字段来自特定 Google Maps 类 Actor 的结构示例,不是 Apify Actor 的通用输入。必须以所选 Actor 的当前 input schema 为准;换 Actor 时不要照抄字段名。上线前把数量、地区、语言、允许的目标域名和最大费用写成工作流约束。Actor、Task 与输入复用的区别见 Actors 与 Store 指南

常见故障

现象先查哪里不要怎么做
Run 节点结束但没有数据终态是否为 SUCCEEDED,Dataset 是否确有 items把 Wait for finish 当作成功
下游读到旧数据defaultDatasetId 是否来自同一次、已完成的 run写死旧 Dataset ID
节点超时run 的 TIMED-OUT 状态、Actor 日志与输入上限无上限地重复启动 Actor
自托管 trigger 不触发WEBHOOK_URL 是否能从外部访问用 localhost URL 等待 Apify 回调
同一批数据写入多次用 Run ID + 业务键做幂等只靠“节点执行一次”的假设
字段映射突然报错保存原始 item,核对 Actor schema 变化用空字符串吞掉所有错误

把 Google Sheets 当交付层,而不是数据库

小批量名单和人工复核适合写进 Sheets;大结果、嵌套字段、长期历史或多人并发更新更适合数据库/对象存储。先在 n8n 里选择需要的列,再从 Run 节点显式补充来源 URL、Run ID 和采集时间后写表格。完整交付路线见 Apify → Google Sheets 指南

自动化的完成标准是:能从下游的一行数据追溯到同一次 Actor run,而不是画布上所有节点都变绿。

先用 10 条可人工检查的数据跑通三节点闭环。

compass/crawler-google-places 按 $0.004/条计,$5 免费额度约合 1,250 条;不绑卡,跑完再决定要不要付费。

免费跑我自己的第一批 →