/devtools エンドポイントは、Chrome DevTools Protocol(CDP) ↗ に沿ったセッション管理機能を提供します。これらのエンドポイントでは、永続的なブラウザーセッションの作成、複数タブの管理、CDP コマンドによるブラウザー操作ができます。高度な自動化、デバッグ、リモートからのブラウザー制御に向いています。
CDP エンドポイントは、WebSocket 接続に対応する任意の環境から利用できます。ローカルの開発マシン、外部サーバー、CI/CD パイプラインも含まれます。つまり、Node.js スクリプト、Puppeteer、Playwright、または任意の CDP 対応クライアントから Browser Run に接続できます。
始める前に、Browser Rendering - Edit 権限付きの カスタム API トークンを作成 してください。
Chrome DevTools Protocol(CDP)は、Chromium ベースのブラウザーを計測、検査、デバッグ、プロファイリングするためのリモートデバッグプロトコルです。Chrome DevTools がブラウザーを制御・監視するときと同じプロトコルです。Puppeteer や Playwright などの一般的なブラウザー自動化ライブラリは、Chrome DevTools Protocol の上に高レベル API を提供し、よくある作業を自動化しやすくしています。
ブラウザーセッションのエンドポイントでは、次のことができます。
- 永続的なブラウザーセッションの作成と管理 — 長時間稼働するブラウザーインスタンスを起動します
- ブラウザータブ(ターゲット)の開閉と一覧表示 — 1 つのブラウザーインスタンス内で、複数のデバッグ可能なターゲット(ページ、iframe など)を管理します
- WebSocket で接続して CDP コマンドを送信 — ブラウザー操作をプログラムから自動化します
- Chrome DevTools UI でライブセッションを確認 — リモートのブラウザーセッションを視覚的にデバッグ・検査します
- 既存の CDP クライアントと統合 — Puppeteer や独自の WebSocket 実装など、標準の CDP クライアントを使えます
ブラウザーセッションを取得したら、次の 2 とおりで操作できます。
WebSocket エンドポイント /devtools/browser に接続すると、セッションを取得し、CDP コマンド ↗ を接続上で直接送信できます。これは CDP の標準的な使い方で、Puppeteer、Playwright、MCP クライアント を含む任意の CDP クライアントで動作します。
WebSocket を使わずにブラウザーのライフサイクルを管理する HTTP エンドポイントもあります。これらは標準の CDP HTTP エンドポイント ↗ に従います。
- セッションの作成 —
POST /devtools/browser - タブの一覧 —
GET /devtools/browser/{session_id}/json/list - タブの作成 —
PUT /devtools/browser/{session_id}/json/new - タブのクローズ —
DELETE /devtools/browser/{session_id}/json/close/{target_id} - セッションのクローズ —
DELETE /devtools/browser/{session_id}
エンドポイントの全一覧は API リファレンス を確認してください。
質問がある場合やエラーが発生した場合は、Browser Run の FAQ とトラブルシューティングガイド を参照してください。