Skip to main content

安装

官方 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 并按需配置搜索选项进行搜索。

Alexandria 数据工具

Alexandria 是 Firecrawl 的第三方数据提供商目录。你可以使用 FindTools 免费浏览提供商并查看工具契约,然后使用 ScrapeAlexandria 运行工具。
请检查每个结果中的 Error,因为即使请求本身成功,其中的单个调用仍可能失败。如果结果不确定、需要重试,请传入相同的 AlexandriaOptions.RequestID 和相同的调用。使用 Sources: []interface{}{"alexandria"} 调用 Search 时,还会在 Tools 中返回匹配的工具。

批量抓取

使用 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 了解自动化入门说明。