Usage Examples
Connect to Evomi Scraping Browser using the Chrome DevTools Protocol (CDP) WebSocket. Use your preferred framework and language; examples below show idiomatic setups.
ℹ️
CDP URL format:
wss://browser.evomi.com?key=YOUR_API_KEY&os=windows&proxy_country=US&adblock=true
Optional: os
, proxy_country
, adblock=true
. Disable Turnstile solving with solve_cloudflare=false
.
Puppeteer (Node.js)
const puppeteer = require('puppeteer');
(async () => {
const cdpUrl = 'wss://browser.evomi.com?key=YOUR_API_KEY&os=windows&proxy_country=US&adblock=true';
const browser = await puppeteer.connect({ browserWSEndpoint: cdpUrl, defaultViewport: null });
const page = await browser.newPage();
await page.goto('https://check.evomi.com', { waitUntil: 'networkidle2' });
console.log(await page.title());
await browser.close();
})();
Playwright (Node.js)
const { chromium } = require('playwright');
(async () => {
const ws = 'wss://browser.evomi.com?key=YOUR_API_KEY&proxy_country=US';
const browser = await chromium.connectOverCDP(ws);
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('https://check.evomi.com');
console.log(await page.textContent('body'));
await browser.close();
})();
Patchwright (Python)
from patchwright.sync_api import sync_playwright
cdp = 'wss://browser.evomi.com?key=YOUR_API_KEY&proxy_country=US&adblock=true'
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(cdp)
context = browser.contexts[0] if browser.contexts else browser.new_context()
page = context.new_page()
page.goto('https://check.evomi.com')
print(page.title())
browser.close()
Rod (Go)
package main
import (
"fmt"
"github.com/go-rod/rod"
)
func main() {
cdp := "wss://browser.evomi.com?key=YOUR_API_KEY&proxy_country=US&solve_cloudflare=false"
browser := rod.New().ControlURL(cdp).MustConnect()
page := browser.MustPage("https://check.evomi.com")
fmt.Println(page.MustEval("() => document.title"))
browser.MustClose()
}
Tips for scale
- Reuse a single session to perform multiple tasks sequentially when possible.
- For high concurrency, create multiple independent sessions with separate CDP URLs.
- Use
proxy_country
to route traffic geographically without code changes. - Toggle
solve_cloudflare=false
for debugging site flows without auto‑solving.