跳转到主要内容

安装

官方 Go SDK 维护在 Firecrawl 的 monorepo 仓库 apps/go-sdk 中。 要安装 Firecrawl Go SDK,请运行:
需要 Go 1.23 或更高版本。

使用方式

  1. 前往 firecrawl.dev 获取 API 密钥
  2. 将 API 密钥设置为名为 FIRECRAWL_API_KEY 的环境变量,或通过 option.WithAPIKey(...) 传入
下面是一个基于当前 SDK API 的快速示例:

抓取 URL

如需抓取单个 URL,可使用 Scrape 方法。

JSON 提取

使用 JsonOptions 通过 Scrape 端点提取结构化 JSON:

爬取网站

要爬取网站并等待完成,请使用 Crawl

开始爬取

使用 StartCrawl 启动任务,无需等待其完成。

查看爬取状态

使用 GetCrawlStatus 查看爬取进度。

取消爬取

使用 CancelCrawl 取消正在进行的爬取。

网站映射

使用 Map 发现网站中的链接。

搜索网页

使用 Search 并按需配置搜索选项进行搜索。

批量抓取

使用 BatchScrape 可并行抓取多个 URL。

代理

使用 Agent 运行一个 AI 代理。
使用结构化输出的 JSON schema:

使用方式 & 指标

查看并发数和剩余额度:

浏览器

Go SDK 提供了 Browser Sandbox 辅助函数。

创建会话

执行代码

与抓取任务绑定的交互会话

使用抓取任务 ID,在同一重放上下文中运行后续浏览器代码:
  • Interact(...) 会在与抓取任务绑定的浏览器会话中运行代码 (首次使用时会初始化该会话) 。
  • StopInteractiveBrowser(...) 会在使用完成后显式停止该交互会话。

列出 & 关闭会话

配置

firecrawl.NewClient() 支持以下函数式选项:

自定义 HTTP 客户端

你可以传入一个预先配置的 *http.Client,以控制传输设置、代理配置、TLS 设置等。提供该客户端后,WithTimeout 设置会被忽略,改为使用客户端自身的配置。

Context 支持

所有方法都接受 context.Context 作为第一个参数,用于控制取消和截止时间:

错误处理

SDK 使用 firecrawl 包中定义的类型化错误。

重试逻辑

SDK 会自动重试临时性故障:
  • **会重试:**408、409、5xx 错误以及连接失败
  • **不会重试:**401、429 和其他 4xx 错误
  • **退避:**采用可配置因子的指数退避策略

指针辅助函数

SDK 为可选指针字段提供了便捷函数:
你是需要 Firecrawl API 密钥的 AI 代理吗?请参见 firecrawl.dev/agent-onboarding/SKILL.md 了解自动化入门说明。