BCTRL
BCTRL gives your application or AI agent a managed browser it can control.
Launch an isolated browser Runtime. Drive it with Playwright or Selenium, call typed Tools, or send a goal through a Conversation. Every active browser session produces a Run that brings status, traces, events, files, usage, and an optional recording together.
Create a Runtime, perform browser work, and inspect the resulting Run.
Browse the public v1 operations and request schemas.
What can you build?
Connect Playwright, Puppeteer, or another CDP client to a browser hosted by BCTRL.
Send multi-step browser goals, stream progress, and make bounded Tools available when needed.
Isolate each customer with a subaccount, track usage separately, and provide hosted or embedded Views.
Follow active work and investigate traces, events, recordings, files, and usage.
Choose how to automate
- Connect your framework when you want full browser control or already use Playwright or Puppeteer or Selenium.
- Call a Tool for a bounded, typed operation such as opening a page, performing a semantic action, or extracting structured data.
- Start a Conversation when a browser goal spans multiple steps and you want to stream its progress.
All three approaches operate through an active Runtime, and BCTRL records their activity in its Run.
How BCTRL organizes access and work
Public API requests are authenticated with a BCTRL API key. The key sets the maximum account boundary:
- An Organization key can work at the Organization root or narrow supported requests to one of its Subaccounts.
- A Subaccount key stays inside its own Subaccount.
Account context can narrow access; it cannot expand it.
A Space configures the environment available to its Runtimes. A Runtime is the durable browser resource. Each time it starts, BCTRL creates a Run that records what happened.

