跳转到主要内容
从你的 Node.js 应用中抓取单个页面、爬取整个站点,并映射 URL。SDK 会处理分页、重试和异步任务轮询,让你能够专注于使用返回的数据。

安装

使用 npm 安装 SDK:
Node

使用

  1. firecrawl.dev 获取 API 密钥
  2. 将该密钥设置为名为 FIRECRAWL_API_KEY 的环境变量,或作为参数传递给 Firecrawl 类。
没有 API 密钥? 你可以在不提供密钥的情况下构造 Firecrawl,并在免密钥的 Free 档位中使用 scrapesearchinteract (按 IP 限流——请参见 限流) 。所有其他方法都需要密钥。
以下是一个包含错误处理的 SDK 使用示例:
Node

抓取单个 URL

使用 scrape 方法抓取单个 URL,并返回结构化的页面数据。
Node

解析上传的文件

当你想上传本地文件 (htmlpdfdocxxlsx 等) ,而不是通过 URL 抓取时,请使用 parseparse 不支持 changeTracking,也不支持仅适用于浏览器的选项,例如 screenshotbrandingactionswaitForlocationmobile
Node

爬取网站

使用 crawl 方法从单个 URL 开始爬取整个网站。你可以设置页面上限,将范围限制在特定域名内,并选择输出格式。请参见 Pagination 了解自动和手动分页。
Node(Node.js)

仅爬取 Sitemap

使用 sitemap: "only" 仅爬取 sitemap 中的 URL (起始 URL 始终会被包含,并且会跳过 HTML 链接发现过程) 。
Node

启动 爬取

使用 startCrawl 可启动一次爬取且无需等待其完成。该方法会返回一个任务 ID,供你稍后轮询。若需要阻塞等待直到完成,请改用 crawl。分页行为和限制详见 Pagination
Node

检查爬取状态

使用 checkCrawlStatus 方法检查爬取任务当前是仍在运行、已完成还是已失败。传入 startCrawl 返回的任务 ID。
Node

取消爬取

使用 cancelCrawl 方法取消正在运行中的爬取。传入由 startCrawl 返回的任务 ID。
Node

网站映射

使用 map 方法可发现网站上的所有 URL。传入起始 URL,即可返回已发现页面的列表。
Node

使用 WebSockets 爬取网站

使用 crawlUrlAndWatch 方法实时流式获取爬取结果。你会在每个页面完成爬取时立即收到结果,无需等待整个任务结束。
Node
当有更多数据可用时,Firecrawl 的 /crawl 和 batch 端点会返回一个 next URL。Node SDK 默认会自动分页并汇总所有文档;在这种情况下,next 将为 null。你可以禁用自动分页或设置上限。

抓取

使用 waiter 方法 crawl 以获得最简便的体验,或启动一个任务并手动逐页处理。
简单爬取 (自动分页,默认)
手动抓取与分页控制 (单页)
  • 先启动作业,然后将 autoPaginate: false 设置为禁用自动分页,逐页获取。
节点
设有限制的手动抓取 (自动分页 + 提前停止)
  • 保持自动分页开启,但可通过 maxPagesmaxResultsmaxWaitTime 提前停止。
节点

批量抓取

使用等待器方法 batchScrape,或手动启动作业并逐页处理。
简单批量抓取 (自动分页,默认)
手动批量抓取并控制分页 (单页)
  • 启动作业,将 autoPaginate: false 以禁用自动分页,并按页逐一获取。
Node
手动批量抓取并设定限制 (自动分页 + 提前停止)
  • 保持自动分页开启,但可通过 maxPagesmaxResultsmaxWaitTime 提前停止。
Node

浏览器

在云端启动浏览器会话并远程执行代码。

创建会话

Node

执行代码

Node
使用 JavaScript,而不是 Python:
Node
通过 agent-browser 执行 bash:
Node

浏览器配置

保存浏览器状态 (cookies、localStorage 等) ,以便跨会话复用:
Node

通过 CDP 连接

要获得对 Playwright 的完全控制能力,请使用 CDP URL 直接连接:
Node

查看并关闭会话

Node

绑定到抓取任务的交互式会话

使用抓取任务 ID,可在该次抓取回放后的页面上下文中继续交互:
  • interact(jobId, {...}) 会在绑定到抓取任务的浏览器会话中运行代码。
  • 首次调用 interact 时,会基于抓取上下文自动初始化会话。
  • 对同一任务 ID 再次调用 interact 时,会复用当前的浏览器状态。
  • 完成后,可使用 stopInteraction(jobId) 停止交互式会话。
Node

错误处理

SDK 会针对 Firecrawl API 返回的任何错误抛出包含详细信息的异常。请像上面的示例所示,使用 try/catch 代码块包装调用。
你是需要 Firecrawl API 密钥的 AI 代理吗?请参阅 firecrawl.dev/agent-onboarding/SKILL.md 了解自动化接入说明。