安装
需要 PHP 8.1 或更高版本。
Laravel 集成
.env 文件中:
| 变量 | 默认值 | 描述 |
|---|---|---|
FIRECRAWL_API_KEY | — | 你的 Firecrawl API 密钥 (必填) |
FIRECRAWL_API_URL | https://api.firecrawl.dev | API 基础 URL |
FIRECRAWL_TIMEOUT | 300 | HTTP 请求超时时间 (秒) |
FIRECRAWL_MAX_RETRIES | 3 | 临时故障时的自动重试次数 |
FIRECRAWL_BACKOFF_FACTOR | 0.5 | 指数退避系数 (秒) |
使用方式
- 从 firecrawl.dev 获取 API 密钥
- 将 API 密钥设置为名为
FIRECRAWL_API_KEY的环境变量,或通过FirecrawlClient::create(apiKey: ...)传入 API 密钥
使用 Laravel 门面
Firecrawl 门面,或通过依赖注入:
抓取 URL
scrape 方法。
JSON 提取
scrape 端点,使用 JsonFormat 提取结构化 JSON:
爬取网站
crawl。
开始爬取
startCrawl 启动任务,无需等待。
查看爬取状态
getCrawlStatus 查看爬取进度。
取消爬取
cancelCrawl 取消正在进行中的爬取。
爬取错误
getCrawlErrors 获取爬取过程中的错误 (如有) 。
网站映射
map 发现网站中的链接。
搜索网页
search 并可选配搜索设置进行搜索。
批量抓取
batchScrape 并行抓取多个 URL。
startBatchScrape、getBatchScrapeStatus 和 cancelBatchScrape:
代理
agent 运行 AI 代理。
startAgent、getAgentStatus 和 cancelAgent:
使用方式与指标
浏览器
创建会话
执行代码
与抓取任务绑定的交互式会话
interact(...)会在与抓取任务绑定的浏览器会话中运行代码 (首次使用时会自动初始化该会话) 。stopInteractiveBrowser(...)会在你使用完毕后显式停止该交互式会话。
列出并关闭会话
配置
FirecrawlClient::create() 支持以下选项:
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
apiKey | string | FIRECRAWL_API_KEY 环境变量 | 你的 Firecrawl API 密钥 |
apiUrl | string | https://api.firecrawl.dev (或 FIRECRAWL_API_URL) | API 基础 URL |
timeoutSeconds | float | 300 | HTTP 请求超时时间 (秒) |
maxRetries | int | 3 | 发生临时故障时自动重试 |
backoffFactor | float | 0.5 | 指数退避系数 (秒) |
httpClient | GuzzleHttp\ClientInterface | 根据 timeout 构建 | 自定义的 Guzzle 兼容 HTTP 客户端 |
自定义 HTTP 客户端
GuzzleHttp\ClientInterface 实现,用于控制连接池、中间件、代理设置及其他 HTTP 功能。提供该实现后,timeoutSeconds 设置将被忽略,改为以客户端自身的配置为准。
错误处理
Firecrawl\Exceptions 命名空间下的运行时异常。
你是需要 Firecrawl API 密钥的 AI 代理吗?请参见 firecrawl.dev/agent-onboarding/SKILL.md 了解自动化接入说明。

