API & Runtime Documentation

BrowserAutomation.online provides ephemeral, isolated Chromium and WebKit microVMs accessible via Chrome DevTools Protocol (WSS) and synchronous REST endpoints.

# Base WebSocket Endpoint
wss://connect.browserautomation.online?apiKey=YOUR_API_KEY
# Base REST Endpoint
https://api.browserautomation.online/v1

WebSocket Connection (Playwright / Puppeteer / Java)

Pass query parameters directly in your WebSocket handshake URL to configure browser fingerprinting, residential proxy routing, and session persistence.

Parameter Type Description
stealth boolean Enables kernel-level JA4 TLS spoofing, WebGL canvas noise, and navigator patching (Default: true).
proxy string ISO country code for residential proxy routing (e.g., res_us, res_gb, res_de, res_in).
solveCaptcha boolean Automatically intercepts and solves Cloudflare Turnstile, hCaptcha, and reCAPTCHA v2/v3 challenges.
sessionId string Mounts encrypted cookies and LocalStorage from the Persistent Session Vault across runs.
timeout integer Maximum session duration in milliseconds (30,000 to 1,800,000).
LLM & AGENT NATIVE

AI Agent Runtime & Claude MCP Integration

Our platform powers autonomous web agents using Anthropic Claude (Computer Use & Sonnet/Haiku tool-calling), OpenAI, and LangGraph. You can attach our hosted Model Context Protocol (MCP) server directly to your agent workflow or extract structured JSON schemas from live DOM trees.

// claude_desktop_config.json or Agent MCP Client
{
  "mcpServers": {
    "browserautomation-cloud": {
      "command": "npx",
      "args": ["-y", "@browserautomation/mcp-server"],
      "env": {
        "BA_API_KEY": "ba_live_your_api_key_here",
        "BA_STEALTH_MODE": "strict",
        "BA_PROXY_REGION": "res_us"
      }
    }
  }
}

Synchronous Structured Extraction (POST /v1/extract)

Render any JavaScript-heavy SPA in a stealth browser and extract clean Markdown or LLM-parsed JSON in a single HTTP call.

curl -X POST https://api.browserautomation.online/v1/extract \
  -H "Authorization: Bearer ba_live_98a7f6..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example-ecommerce.com/product/492",
    "waitForSelector": ".price-box",
    "proxy": "res_us",
    "outputFormat": "json",
    "schema": {
      "productName": "string",
      "price": "number",
      "inStock": "boolean"
    }
  }'

Rate Limits & Status Codes

Concurrency limits depend on your plan tier (5 concurrent browsers on Developer, 50 on Production, 500+ on Enterprise). Exceeding concurrency queues incoming WebSocket handshakes for up to 15 seconds before returning HTTP 429 Too Many Requests.