安装#
官方 Go SDK 维护在 Firecrawl 的 monorepo 仓库 apps/go-sdk 中。
要安装 Firecrawl Go SDK,请运行:
使用方式#
- 前往 firecrawl.dev 获取 API 密钥
- 将 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.WithAPIKey | string | FIRECRAWL_API_KEY 环境变量 | 你的 Firecrawl API 密钥 |
option.WithAPIURL | string | https://api.firecrawl.dev (或 FIRECRAWL_API_URL) | API 基础 URL |
option.WithTimeout | time.Duration | 5 * time.Minute | HTTP 客户端超时时间 |
option.WithMaxRetries | int | 3 | 发生瞬时故障时自动重试 |
option.WithBackoffFactor | float64 | 0.5 | 以秒为单位的指数退避系数 |
option.WithHTTPClient | *http.Client | 基于超时配置构建 | 预先配置的 HTTP 客户端实例 |
option.WithHeader | string, 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 了解自动化入门说明。

