安装
需要 Go 1.23 或更高版本。
使用方式
- 前往 evocrawl.com 获取 API 密钥
- 将 API 密钥设置为名为
FIRECRAWL_API_KEY的环境变量,或通过option.WithAPIKey(...)传入
抓取 URL
Scrape 方法。
JSON 提取
JsonOptions 通过 Scrape 端点提取结构化 JSON:
爬取网站
Crawl。
开始爬取
StartCrawl 启动任务,无需等待其完成。
查看爬取状态
GetCrawlStatus 查看爬取进度。
取消爬取
CancelCrawl 取消正在进行的爬取。
网站映射
Map 发现网站中的链接。
搜索网页
Search 并按需配置搜索选项进行搜索。
批量抓取
BatchScrape 可并行抓取多个 URL。
代理
Agent 运行一个 AI 代理。
使用方式 & 指标
浏览器
创建会话
执行代码
与抓取任务绑定的交互会话
Interact(...)会在与抓取任务绑定的浏览器会话中运行代码 (首次使用时会初始化该会话) 。StopInteractiveBrowser(...)会在使用完成后显式停止该交互会话。
列出 & 关闭会话
配置
firecrawl.NewClient() 支持以下函数式选项:
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
option.WithAPIKey | string | FIRECRAWL_API_KEY 环境变量 | 你的 Evocrawl API 密钥 |
option.WithAPIURL | string | https://api.evocrawl.com (或 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 作为第一个参数,用于控制取消和截止时间:
错误处理
firecrawl 包中定义的类型化错误。
重试逻辑
- **会重试:**408、409、5xx 错误以及连接失败
- **不会重试:**401、429 和其他 4xx 错误
- **退避:**采用可配置因子的指数退避策略
指针辅助函数
你是需要 Evocrawl API 密钥的 AI 代理吗?请参见 evocrawl.com/agent-onboarding/SKILL.md 了解自动化入门说明。

