Skip to main content

インストール

公式PHP SDKは、Firecrawl の monorepo 内にある apps/php-sdk で管理されています。 Firecrawl PHP SDK をインストールするには、Composer で依存関係を追加します。
PHP 8.1 以降が必要です。

Laravel 連携

SDK は、自動検出に対応した Laravel 向けの充実したサポートを備えています。パッケージをインストールしたら、設定ファイルを公開してください。
次に、.env ファイルにAPIキーを追加してください:
以下の環境変数に対応しています:

使い方

  1. firecrawl.dev でAPIキーを取得します
  2. APIキーを FIRECRAWL_API_KEY という名前の環境変数に設定するか、FirecrawlClient::create(apiKey: ...) に渡します
以下は、現在のSDK APIを使った簡単な例です。

Laravel ファサードの使用

Laravel アプリケーションでは、Firecrawl ファサードまたは依存性注入を利用できます:

URLをスクレイピングする

単一のURLをスクレイピングするには、scrape メソッドを使用します。

JSON抽出

JsonFormat を使用して、scrape エンドポイントから構造化された JSON を抽出します:

Web サイトのクロール

Web サイトをクロールして完了を待つには、crawl を使用します。

クロールを開始する

結果を待たずにジョブを開始するには、startCrawl を使用します。

クロールのステータスを確認する

getCrawlStatus を使ってクロールの進行状況を確認します。

クロールのキャンセル

実行中のクロールは cancelCrawl を使ってキャンセルできます。

クロールエラー

getCrawlErrors を使って、クロール単位のエラーがあれば取得できます。

Web サイトのマッピング

map を使ってサイト内のリンクを検出します。

Web を検索

search を使うと、任意の検索設定で検索できます。

バッチスクレイピング

batchScrape で複数のURLを並列にスクレイピングします。
非同期処理を手動で制御するには、startBatchScrapegetBatchScrapeStatuscancelBatchScrape を使用します:

エージェント

agent を使って AI エージェントを実行します。
構造化された出力用のJSON schema:
非同期を手動で制御するには、startAgentgetAgentStatuscancelAgent を使用します:

使用状況とメトリクス

並列実行数と残りのクレジットを確認する:

Browser

PHP SDK には、ブラウザサンドボックスを利用するためのヘルパーが含まれています。

セッションの作成

コードの実行

スクレイピングに紐づくインタラクティブセッション

同じリプレイコンテキストで後続のブラウザコードを実行するには、スクレイピングジョブ ID を使用します。
  • interact(...) は、スクレイピングに紐づくブラウザセッションでコードを実行します (初回使用時に初期化されます) 。
  • stopInteractiveBrowser(...) は、作業完了後にインタラクティブセッションを明示的に停止します。

セッションの一覧表示と終了

設定

FirecrawlClient::create() は、次のオプションに対応しています。

カスタムHTTPクライアント

接続プーリング、ミドルウェア、プロキシ設定、その他のHTTP機能を制御するために、事前に設定したGuzzleHttp\ClientInterface実装を渡せます。これを指定すると、timeoutSeconds設定は無視され、代わりにクライアント側の設定が使用されます。

エラーハンドリング

SDK は Firecrawl\Exceptions 配下の実行時例外をスローします。
Firecrawl APIキーが必要なAIエージェントの方は、自動オンボーディング手順について firecrawl.dev/agent-onboarding/SKILL.md を参照してください。