Real Chrome, over CDP
Drive it with Playwright, Puppeteer or raw DevTools. Watch it live, or take over when a person needs to step in.
Browsers, shells, storage and isolated machines, through one API. One call starts Chrome, bash and a shared disk on its own machine, billed by the second.
Real agent tasks cross the line between browsing and computing. Pick a job and see which layers of the session it uses.
Drive it with Playwright, Puppeteer or raw DevTools. Watch it live, or take over when a person needs to step in.
Bash on the same machine as the browser, with Python, Node and ffmpeg ready. Run the code your agent just wrote.
Downloads from the browser land where the shell can read them. Pull results out through the files API.
Every session runs on its own machine under gVisor. Its browser, shell and disk belong to one customer only.
import { chromium } from "playwright-core";import { Boxline } from "@boxline/sdk"; const bx = new Boxline(); // reads BOXLINE_API_KEY // One call: Chrome, bash and /workspace on one machineconst session = await bx.sessions.create({ shell: true }); const browser = await chromium.connectOverCDP(session.connectUrl!);const page = browser.contexts()[0].pages()[0];await page.goto("https://portal.acme.com/reports");await page.click("text=Download CSV"); // The download is already on the shared diskawait session.files.waitFor("downloads/*.csv");await session.exec("python3 summarise.py downloads/report.csv"); await session.stop(); // billing stops here; resume it later, or delete itGet a page as Markdown, HTML or text in one call. Screenshots and PDFs have calls of their own.
Start from one address and follow links across a site, with a webhook when the crawl finishes.
Get web results for a query, and the top pages as Markdown in the same call.
Agents open untrusted pages and run code they wrote a moment ago. Each session stays contained, and nothing is shared between customers.
How we handle isolation and dataProcesses in a session never talk to the host kernel directly.
A session's browser, shell and disk belong to one customer only.
Stopping a session frees its machine and stops billing at that second. Delete removes what it saved.
Coming next. We'll announce it in the changelog.
Usage-based, with no per-session fee. Plans add included usage, more concurrency and longer sessions.
By the second, from the moment a session starts until you stop it. There is no per-session fee, and a stopped session costs nothing.
Stopping saves the whole browser (every tab, cookies and storage) and the files in /workspace, frees the machine and stops billing at that second. A stopped session is free and is kept for your plan's retention, 7 to 90 days. Resume it any time with the same id, as it was, or delete it.
Yes. Every session exposes a Chrome DevTools Protocol endpoint, so Playwright, Puppeteer and other CDP clients connect with one line.
Chrome, bash, Python, Node and ffmpeg, with sudo. Browser downloads and shell output share the same /workspace disk.
Each session runs in its own gVisor sandbox and is never shared between customers. MicroVM isolation is on the roadmap.
A $5 usage credit every month and up to 3 concurrent sessions of up to 15 minutes, with the browser, shell and /workspace included.
The free plan comes with $5 of usage credit every month. Sessions are billed by the second and stop billing the moment you stop them.