Deploy browser work anywhere
Run the same browser logic in serverless functions, queued jobs, remote workers, and AI systems without designing around a long-lived socket.
Workflow automation
Recurring browser work in queues, workers, and serverless.
Browser tool for AI agents
browser-use and Stagehand on the same session runtime.
Web scraping
Real browser extraction on modern JS-heavy websites.
AI
Browser infrastructure for agent-first products.
Healthcare
Secure automation flows for regulated teams.
Supply chain
Automate portal and logistics workflows at scale.
GTM
Automate growth, outreach, and ops browser tasks.
Tax
Reduce manual browser work across filing processes.
Legal
Reliable browser automation for legal operations.

Control remote environments using your favorite automation frameworks over one stateless API.
Explore the platform →Traditional browser automation assumes you can keep a live browser process and a persistent WebSocket connection open for the entire run. That gets awkward fast in serverless functions, queued jobs, remote workers, and AI systems.
BCTRL wraps Playwright, Puppeteer, Stagehand, and Selenium in a stateless session layer, so browser work fits modern infrastructure. You keep the APIs you know while BCTRL adds the services browser workloads actually need: profiles, storage, vault access, CAPTCHA solving, and replay.
Deploy browser work anywhere
Run the same browser logic in serverless functions, queued jobs, remote workers, and AI systems without designing around a long-lived socket.
Keep the driver API you know
Playwright, Puppeteer, Stagehand, and Selenium still feel familiar at the call site. The runtime model changes, not the ergonomics.
Attach services to the same session
Vault access, workspace files, CAPTCHA solving, live view, and replay become part of the browser session instead of extra infrastructure.
Runtime Model
BCTRL
HTTP-backed session control
Wrap browser frameworks in a session model that fits backend systems and AI tools.
Traditional
With BCTRL
Most AI browser tooling asks you to build a separate local agent stack and wire everything together yourself. BCTRL keeps agents and drivers on the same browser runtime.
Start with Playwright, Puppeteer, Stagehand, or Selenium. Add AI when a task benefits from it. The same session can access browser state, vault secrets, workspace files, profiles, and replay without extra local setup.
Start with a driver
Keep Playwright, Puppeteer, Stagehand, or Selenium instead of replatforming your automation around a new control model.
Add AI without a second stack
browser-use and Stagehand ride on the same session instead of forcing a separate local agent setup.
Bring session services with you
Vault credentials, workspace files, CAPTCHA solving, and replay stay attached to the browser session.
SDK Surface
// Playwright session with BCTRL runtime servicesimport { Bctrl } from '@bctrl/sdk'const bctrl = new Bctrl({ apiKey: process.env.BCTRL_API_KEY! })const session = await bctrl.session.playwright({ humanize: true, solveCaptchas: true,})await session.page.goto('https://example.com/login')await session.page.locator('button[type="submit"]').click()BCTRL is not just a way to start a browser. It gives each session the operational pieces that are painful to bolt on later: persistence, secrets, files, AI access, and replay.
Runtime
Fit browser work into serverless jobs, queued workers, and AI systems instead of keeping a live socket open for the entire run.
Observability
Open a live iframe during the run, replay it later, and inspect event history when a workflow needs debugging or auditability.
Watch
Open a live browser iframe while the session is active.
Replay
Review the recording after the run finishes.
Inspect
Trace session events when something breaks.
Persistence
Create browsers by name, reconnect later, and keep cookies, storage, and auth across runs.
Detection
Attach proxy-aware profiles and humanized behavior to the browser instead of rebuilding anti-detection logic in every worker.
Security
Store credentials once, scope access per session, and generate TOTP codes when login flows ask for them.
Files
Upload inputs, browse outputs, and give every run a default workspace for agents and scripts.
Execution
Use session.run() and defined scripts when you want one round trip instead of a long chain of client calls.
Agents
browser-use and Stagehand can use the same page, vault, files, and browser state your driver session already has.
Captcha
Native detection and solving live on the session, so browser runs can recover without bolted-on side flows.
The point is not to invent another browser API. The point is to make browser work easier to deploy, easier to enrich with services, and easier to debug after the run.
Give agents a real browser with session state, vault credentials, workspace files, and replayable runs instead of a fragile local stack.
Run scraping on modern, JS-heavy sites with persistent profiles, proxies, and humanized browser behavior already attached to the session.
Run browser automation for clients under your own service or product brand, with isolated sessions, profiles, vault access, and replay built into each account.
Move recurring browser work into serverless jobs, queues, or backend workers without babysitting a persistent browser connection.
BCTRL gives you one SDK for remote browser sessions, AI agents, vault access, workspace files, and replay. You do not need a separate local stack just to make browser work fit modern infrastructure.
Self-hosted and enterprise support available. Talk to us
Install
pnpm add @bctrl/sdk Fastest path
Start with an anonymous session when you need quick execution, or move to named profiles when you want persistence.
When the task gets harder
Add browser-use, Stagehand, vault policies, workspace files, and replay without changing the core session model.
Meet BCTRL — a unified platform for remote browser and desktop automation. Connect with Playwright, Puppeteer, Stagehand, and more.
Major update with desktop automation, improved AI integrations, and 50% faster session initialization.
AI-powered browser automation with natural language commands and intelligent element detection.