インストール
PHP 8.1 以降が必要です。
Laravel 連携
.env ファイルにAPIキーを追加してください:
| 変数 | デフォルト | 説明 |
|---|---|---|
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: ...)に渡します
Laravel ファサードの使用
Firecrawl ファサードまたは依存性注入を利用できます:
URLをスクレイピングする
scrape メソッドを使用します。
JSON抽出
JsonFormat を使用して、scrape エンドポイントから構造化された JSON を抽出します:
Web サイトのクロール
crawl を使用します。
クロールを開始する
startCrawl を使用します。
クロールのステータスを確認する
getCrawlStatus を使ってクロールの進行状況を確認します。
クロールのキャンセル
cancelCrawl を使ってキャンセルできます。
クロールエラー
getCrawlErrors を使って、クロール単位のエラーがあれば取得できます。
Web サイトのマッピング
map を使ってサイト内のリンクを検出します。
Web を検索
search を使うと、任意の検索設定で検索できます。
バッチスクレイピング
batchScrape で複数のURLを並列にスクレイピングします。
startBatchScrape、getBatchScrapeStatus、cancelBatchScrape を使用します:
エージェント
agent を使って AI エージェントを実行します。
startAgent、getAgentStatus、cancelAgent を使用します:
使用状況とメトリクス
Browser
セッションの作成
コードの実行
スクレイピングに紐づくインタラクティブセッション
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実装を渡せます。これを指定すると、timeoutSeconds設定は無視され、代わりにクライアント側の設定が使用されます。
エラーハンドリング
Firecrawl\Exceptions 配下の実行時例外をスローします。
Firecrawl APIキーが必要なAIエージェントの方は、自動オンボーディング手順について firecrawl.dev/agent-onboarding/SKILL.md を参照してください。

