/interact を呼び出して、そのページ上でアクションを開始します: ボタンのクリック、フォームへの入力、動的コンテンツの抽出、さらに深いページへの移動が可能です。やりたいことを記述するだけでもよく、完全に制御したい場合はコードを書くこともできます。
AIプロンプト
ページ上で実行したいアクションを記述します
コード実行
Playwright や agent-browser を使って、安全にコード実行で操作できます
ライブビュー
埋め込み可能なストリームを通じて、ブラウザーをリアルタイムで確認したり操作したりできます
動作の仕組み
POST /v2/scrapeで URL をスクレイピングします。レスポンスにはdata.metadata.scrapeIdにscrapeIdが含まれます。ブラウザの状態を保持したい場合は、このリクエストでprofileを渡します。promptまたは Playwright のcodeを指定してPOST /v2/scrape/{scrapeId}/interactを呼び出し、Interactします。ここではprofileを渡さないでください。Interact セッションはスクレイピングジョブからprofileを引き継ぎます。- 完了したら、
DELETE /v2/scrape/{scrapeId}/interactでセッションを停止します。書き込み可能なprofileでは、セッションの停止時に変更が保存されます。
クイックスタート
Response
プロンプトで操作する
output フィールドがあります。
Response
プロンプトは小さく、焦点を絞る
interact 呼び出しに分けてください。各呼び出しは同じブラウザセッションを再利用するため、それまでの状態が引き継がれます。
コードの実行
page 変数 (Playwright の Page オブジェクト) は Node.js と Python で利用できます。Bash モードには agent-browser がプリインストールされています。セッション内でスクリーンショットを撮ることもできます: Node.js では (await page.screenshot()).toString("base64")、Python では await page.screenshot(path="/tmp/screenshot.png")、Bash では agent-browser screenshot を使用してください。
Node.js (Playwright)
page はすでにブラウザに接続されています。
Python
language を "python" に設定します。
Bash (agent-browser)
@e1, @e2, …) 付きのアクセシビリティツリーを提供し、LLM による自動化に最適です。
ライブビュー
liveViewUrl が返されます。デバッグやデモ、ブラウザ駆動の UI の構築に便利です。
Response
インタラクティブ ライブビュー
interactiveLiveViewUrl も含まれます。閲覧専用の標準ライブビューとは異なり、インタラクティブ ライブビューでは、埋め込みストリームを通じてユーザーがブラウザセッションを直接クリック、入力、操作できます。これは、ログインフローや、エンドユーザーがブラウザを操作する必要があるガイド付きワークフローなど、ユーザー向けのブラウザUIを構築する場合に役立ちます。
CDP URL
cdpUrl も返されます。これは、ブラウザセッション用の生の Chrome DevTools Protocol (CDP) WebSocket URL です。これを使うと、Playwright、Puppeteer、または任意のCDPクライアントからライブセッションに直接接続し、自分のコードでブラウザを操作できます。
セッションのライフサイクル
作成
POST /v2/scrape/{scrapeId}/interact 呼び出しで、スクレイピングセッションが継続され、インタラクションが開始されます。
再利用
scrapeIdに対する後続のinteract呼び出しでは、既存のセッションが再利用されます。browserは開いたままで、呼び出し間でも状態が維持されるため、複数のインタラクションを連続して実行できます。
クリーンアップ
Scrape + Interact での永続プロファイル
profile を使うと、スクレイピング間でブラウザの状態 (cookies、localStorage、sessions) を保存して再利用できます。これは、ログイン状態を維持したり、設定を保持したりするのに便利です。
最初の POST /v2/scrape リクエストに profile オブジェクトを渡します。POST /v2/scrape/{scrapeId}/interact には profile を渡さないでください。interact セッションは、scrape ジョブのブラウザセッションとプロファイル設定を再利用します。書き込み可能なプロファイルの変更を保存できるように、DELETE /v2/scrape/{scrapeId}/interact で interact セッションを停止してください。
cURL
profile.nameとsaveChanges: trueを指定してスクレイピングを作成します。- 返された
scrapeIdに対して、プロンプトまたはコードで操作を実行します。 - セッションを停止して、cookies、localStorage、その他のブラウザの状態を保存します。
- 後続のスクレイピングを同じ
profile.nameで開始します。変更を書き戻さずに既存の状態だけを読み取りたい場合は、saveChanges: falseを使用します。
一度にプロファイルへ保存できるセッションは 1 つだけです。別のセッションがすでに保存中の場合は、
409 エラーが返されます。saveChanges: false で同じプロファイルを開くことはできますし、後でもう一度試すこともできます。永続化の検証
localStorage に値を書き込み、そのセッションを停止したあと、同じプロファイルを使う2つ目のセッションでその値を読み取ります。
cURL
localStorage が "saved"、cookie が true と表示されるはずです。
API 経由で作成したプロファイルは、まだ Dashboard > Interact > Profiles に表示されない場合があります。現在、Dashboard では API で作成された永続プロファイルの完全な一覧は確認できません。
使い分けの目安
Interact と Browser Sandbox の違い: Interact は Browser Sandbox と同じインフラ上に構築されていますが、最も一般的なパターン、つまりページをスクレイピングしてからさらに深く進む場合に、より使いやすいインターフェースを提供します。Browser Sandbox は、特定のスクレイピングに紐づかない独立したブラウザセッションが必要な場合に適しています。
料金
- コードのみ (
promptなし): セッション1分あたり2 credits - AI プロンプト あり: セッション1分あたり7 credits
- スクレイピング: スクレイピング自体の請求は別途行われます (スクレイピング1回あたり1 credit に加え、format ごとのコスト) 。
API リファレンス
- Execute Interact:
POST /v2/scrape/{scrapeId}/interact - Stop Interact:
DELETE /v2/scrape/{scrapeId}/interact
リクエスト本文 (POST)
レスポンス
フィードバックやサポートが必要な場合は、help@firecrawl.com にメールするか、Discord でお問い合わせください。

