Skip to main content

Go

Firecrawl Go SDK 是对 Firecrawl API 的封装,可帮助你轻松将网站转换为 Markdown。
2 min read

安装#

官方 Go SDK 维护在 Firecrawl 的 monorepo 仓库 apps/go-sdk 中。

要安装 Firecrawl Go SDK,请运行:

Note
需要 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() 支持以下函数式选项:

选项类型默认值描述
option.WithAPIKeystringFIRECRAWL_API_KEY 环境变量你的 Firecrawl API 密钥
option.WithAPIURLstringhttps://api.firecrawl.dev (或 FIRECRAWL_API_URL)API 基础 URL
option.WithTimeouttime.Duration5 * time.MinuteHTTP 客户端超时时间
option.WithMaxRetriesint3发生瞬时故障时自动重试
option.WithBackoffFactorfloat640.5以秒为单位的指数退避系数
option.WithHTTPClient*http.Client基于超时配置构建预先配置的 HTTP 客户端实例
option.WithHeaderstring, string为所有请求添加额外的请求头

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