Skip to main content

安装

官方 PHP SDK 在 Firecrawl 的 monorepo 中维护,位于 apps/php-sdk 要安装 Firecrawl PHP SDK,请通过 Composer 添加此依赖:
需要 PHP 8.1 或更高版本。

Laravel 集成

该 SDK 提供对 Laravel 的原生支持,并支持自动发现。安装该软件包后,请发布配置文件:
然后将你的 API 密钥添加到 .env 文件中:
支持以下环境变量:

使用方式

  1. firecrawl.dev 获取 API 密钥
  2. 将 API 密钥设置为名为 FIRECRAWL_API_KEY 的环境变量,或通过 FirecrawlClient::create(apiKey: ...) 传入 API 密钥
以下是一个基于当前 SDK API 的简要示例:

使用 Laravel 门面

在 Laravel 应用中,可以使用 Firecrawl 门面,或通过依赖注入:

抓取 URL

如需抓取单个 URL,请使用 scrape 方法。

JSON 提取

通过 scrape 端点,使用 JsonFormat 提取结构化 JSON:

爬取网站

要爬取网站并等待其完成,请使用 crawl

开始爬取

使用 startCrawl 启动任务,无需等待。

查看爬取状态

使用 getCrawlStatus 查看爬取进度。

取消爬取

使用 cancelCrawl 取消正在进行中的爬取。

爬取错误

使用 getCrawlErrors 获取爬取过程中的错误 (如有) 。

网站映射

使用 map 发现网站中的链接。

搜索网页

使用 search 并可选配搜索设置进行搜索。

批量抓取

使用 batchScrape 并行抓取多个 URL。
如需手动控制异步流程,请使用 startBatchScrapegetBatchScrapeStatuscancelBatchScrape

代理

使用 agent 运行 AI 代理。
使用结构化输出的 JSON schema:
如需手动控制异步执行,请使用 startAgentgetAgentStatuscancelAgent

使用方式与指标

查看并发数和剩余额度:

浏览器

PHP SDK 提供了 浏览器 Sandbox 辅助函数。

创建会话

执行代码

与抓取任务绑定的交互式会话

使用抓取任务 ID,在同一重放上下文中运行后续浏览器代码:
  • interact(...) 会在与抓取任务绑定的浏览器会话中运行代码 (首次使用时会自动初始化该会话) 。
  • stopInteractiveBrowser(...) 会在你使用完毕后显式停止该交互式会话。

列出并关闭会话

配置

FirecrawlClient::create() 支持以下选项:

自定义 HTTP 客户端

你可以传入一个预先配置的 GuzzleHttp\ClientInterface 实现,用于控制连接池、中间件、代理设置及其他 HTTP 功能。提供该实现后,timeoutSeconds 设置将被忽略,改为以客户端自身的配置为准。

错误处理

SDK 会抛出位于 Firecrawl\Exceptions 命名空间下的运行时异常。
你是需要 Firecrawl API 密钥的 AI 代理吗?请参见 firecrawl.dev/agent-onboarding/SKILL.md 了解自动化接入说明。