Stealth browser API via CDP

Stealth browser.
One CDP URL.
Any agent.

Spectrae exposes hosted Camoufox as the stealth engine — the hardened Firefox built for bot-detection bypass — over a standard CDP WebSocket. Connect agent-browser, Puppeteer, browser-use, or compatible CDP tools with a single URL. No local browser, no server to run.

Stealth browser at $0.05/min. Standard browser at $0.003/min. Free $1 credit to start.

agent-browser — connect in one command

agent-browser connect \
  "wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY"

CDP

Protocol

Firefox

Stealth Engine

$0.05/min

Stealth Rate

< 1s

Session Start

01 — Compatibility

Works with every
CDP-based tool.

Chrome DevTools Protocol is the universal wire format for browser automation. Any tool that accepts a WebSocket CDP URL connects to Spectrae without modification.

agent-browser

docs →

CLI browser automation for AI agents. Connect with one command, then use snapshot, click, fill normally.

agent-browser connect "wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY"

Puppeteer

docs →

Drop-in replacement for a local Chrome. Pass the CDP URL to browserWSEndpoint.

puppeteer.connect({ browserWSEndpoint: "wss://browser.spectrae.dev/stealth/cdp?key=..." })

browser-use

docs →

AI-native browser framework (Python). Set cdp_url in BrowserConfig — works with LangChain, Claude, GPT.

BrowserConfig(cdp_url="wss://browser.spectrae.dev/stealth/cdp?key=...")

Playwright (CDP mode)

docs →

Use Playwright's connectOverCDP() instead of Playwright's own WSS connect — same API, raw CDP wire.

chromium.connectOverCDP("wss://browser.spectrae.dev/stealth/cdp?key=...")

Raw CDP

docs →

Any WebSocket CDP client — go.dev/x/tools/chrome/devtools, cdp4j, or hand-rolled — connects directly.

ws = websocket.connect("wss://browser.spectrae.dev/stealth/cdp?key=...")
02 — Agent CLI

Agent CLIs
+ stealth browser.

agent-browser is a CLI browser automation tool designed for AI agents. It drives Chrome via CDP and exposes a high-level command interface — snapshot, click, fill, screenshot — that maps well to LLM tool-calling.

By default it spins up a local Chrome. Point it at Spectrae's stealth browser CDP endpoint instead and every agent-browser session runs inside a managed stealth Firefox — with no local browser binary, no fingerprint leakage, and per-second billing.

Use named sessions to run multiple agent-browser instances in parallel, each connected to an isolated stealth browser instance on Spectrae.

Connect commandagent-browser connect <url>
ProtocolCDP (WebSocket)
EngineStealth browser (Camoufox)
Parallel sessions--session <name>
Snapshot outputAccessibility tree refs
Screenshotagent-browser screenshot
Billing$0.05/min per stealth session
Cleanupagent-browser close

Single session — connect, browse, close

terminal
# Connect agent-browser to hosted Camoufox
agent-browser connect "wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY"

# Then use agent-browser normally — no local browser required
agent-browser open https://target-site.com
agent-browser wait --load networkidle
agent-browser snapshot -i
agent-browser screenshot --full result.png
agent-browser close

Parallel agents — isolated stealth sessions

terminalParallel
# Named session — run parallel agents
agent-browser --session agent1 connect \
  "wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY"

agent-browser --session agent2 connect \
  "wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY"

# Each session is isolated — separate Camoufox instances
agent-browser --session agent1 open https://site-a.com
agent-browser --session agent2 open https://site-b.com
03 — Other Tools

Same URL.
Compatible frameworks.

Puppeteer

scrape.ts
import puppeteer from "puppeteer-core";

// Camoufox — stealth Firefox via CDP
const browser = await puppeteer.connect({
  browserWSEndpoint:
    "wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY",
});

const page = await browser.newPage();
await page.goto("https://target-site.com");
const title = await page.title();
console.log(title);
await browser.close();

browser-use (Python AI agents)

agent.pyAI native
from browser_use import Agent, Browser, BrowserConfig
from langchain_anthropic import ChatAnthropic

# Point browser-use at hosted Camoufox
browser = Browser(
    config=BrowserConfig(
        cdp_url="wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY"
    )
)

agent = Agent(
    task="Go to hacker news and summarise the top 5 stories",
    llm=ChatAnthropic(model="claude-opus-4-5"),
    browser=browser,
)
await agent.run()

Playwright — CDP mode

scrape.ts
import { chromium } from "playwright";

// Use Playwright's connectOverCDP with Camoufox
const browser = await chromium.connectOverCDP(
  "wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY"
);

const page = await browser.newPage();
await page.goto("https://target-site.com");
await page.waitForLoadState("networkidle");
const content = await page.content();
await browser.close();
04 — Stealth Engine

AI agents get flagged
more than humans do.

Firefox fingerprint — not Chrome

AI agents running Chromium share the same fingerprint surface as every other headless bot. Camoufox presents as real Firefox, with JA3/JA4 TLS profiles and hardware signatures that Chrome-based tools can't replicate.

Per-session fingerprint randomisation

Each new browser session gets a fresh canvas noise seed, randomised hardware signatures, and a different WebGL renderer string. High-volume agent runs don't cluster into a detectable fingerprint pattern.

No local install, no crash recovery

Managed infrastructure means your agent never stalls on a browser crash. Spectrae handles spin-up, cleanup, and container isolation — your code just reconnects.

Pay per second of agent time

Agents spend most of their time thinking, not browsing. Per-second billing at $0.05/min means you only pay for the seconds the browser is actually open — not idle fleet time.

05 — Endpoints

CDP endpoint
reference.

Stealth browser — Camoufox engine

wss://browser.spectrae.dev/stealth/cdp?key=YOUR_KEY

$0.05/minRecommended

Hardened Firefox with fingerprint randomisation. Use for sites protected by Cloudflare, DataDome, Kasada, or similar.

Standard browser — fast default

wss://browser.spectrae.dev/standard/cdp?key=YOUR_KEY

$0.003/min

Standard browser for unprotected scraping, testing, and lower-friction automation where stealth isn't required.

Billing

Usage is billed per second and rounded up to the nearest second. Every browser session has a 20-second minimum charge. At $0, new sessions are blocked and active sessions terminate gracefully. New accounts start with $1 in trial credits.

Switching from Browserless or Browserbase?

Same browserWSEndpoint pattern. Replace the URL and gain a managed stealth browser.

"wss://production.browserless.io?token=..."

"wss://browser.spectrae.dev/stealth/cdp?key=..."

Stealth browser API. CDP. For agents.

Your agent.
Protected sites.

Get your API key

Free $1 credit. Usage-based billing.