Core API
Fleet
Launch many profiles and drive them concurrently. Loop launches over REST or use the fleet_* MCP tools. The browsers run on your hardware, so a fleet does not scale a meter.
Run many profiles
A fleet is just many launched profiles driven at once. Each launch returns its own CDP endpoint, so you connect an independent driver session per profile and operate them in parallel.
Because the browsers run on hardware you own, the practical ceiling is your CPU, memory, and proxies rather than a per browser hour charge.
Over REST
Loop the launch call across your profile ids and attach a driver to each ws_endpoint.
import { chromium } from "playwright"; const ids = ["de-store-01", "de-store-02", "de-store-03"]; const browsers = await Promise.all( ids.map(async (id) => { const res = await fetch( `http://127.0.0.1:8378/api/profiles/${id}/launch`, { method: "POST", headers: { Authorization: `Bearer ${process.env.OCULR_TOKEN}` } }, ).then((r) => r.json()); return chromium.connectOverCDP(res.ws_endpoint); }),);Over MCP
The MCP server provides fleet_* tools to launch and act across many profiles in one call, for agents that operate a fleet without writing the loop themselves.
fleet_launchto start a set of profiles.fleet_navigate,fleet_click,fleet_type,fleet_evaluateto act across them.fleet_statusandfleet_stop_allto monitor and shut the fleet down.