Local Mode (Self-Hosted)
Run rayobrowse as a Docker container on your own machine or server. Free tier includes 1 concurrent browser with no time limits.
rayobrowse is a Chromium-based browser built for web scraping, AI agents, and automation workflows. It runs on headless Linux servers (no GPU required) and works with any tool that speaks CDP: Playwright, Puppeteer, Selenium, and more.
Standard headless Chromium gets blocked immediately by modern bot detection. rayobrowse fixes this with realistic fingerprints — user agent, screen resolution, WebGL, fonts, timezone, and dozens of other signals — that make each session look like a real device.
Local Mode (Self-Hosted)
Run rayobrowse as a Docker container on your own machine or server. Free tier includes 1 concurrent browser with no time limits.
Cloud Mode
Connect to the managed rayobrowse cloud service. No Docker required — just an API key.
/connect endpointThe fastest way to use rayobrowse — just point any CDP client at a single URL. A browser is auto-created on connection and cleaned up when you disconnect. No SDK required.
from playwright.sync_api import sync_playwright
with sync_playwright() as p: browser = p.chromium.connect_over_cdp( "ws://localhost:9222/connect?headless=false&os=windows" ) page = browser.new_context().new_page() page.goto("https://example.com") print(page.title()) browser.close()const { chromium } = require('playwright');
(async () => { const browser = await chromium.connectOverCDP( 'ws://localhost:9222/connect?headless=false&os=windows' ); const page = await browser.newPage(); await page.goto('https://example.com'); console.log(await page.title()); await browser.close();})();const puppeteer = require('puppeteer-core');
(async () => { const browser = await puppeteer.connect({ browserWSEndpoint: 'ws://localhost:9222/connect?headless=false&os=windows', }); const page = (await browser.pages())[0] || await browser.newPage(); await page.goto('https://example.com'); console.log(await page.title()); await browser.disconnect();})();That’s it. No API key, no SDK, no setup beyond Docker. See /connect endpoint for all available parameters (proxy, OS fingerprint, language, screen size, etc.).
For programmatic control over browser lifecycle, reconnection, and VNC viewing, use the Python or Node.js SDK. The SDKs are not required — they’re a convenience wrapper for when you need more than /connect.
rayobrowse is compatible with any tool that speaks CDP:
Browser automation is the backbone of web interaction — not just for scraping, but for AI agents, workflow automation, and any tool that needs to navigate the real web. The problem is that standard headless Chromium gets detected and blocked by most websites.
rayobrowse gives these tools a browser that actually works. It looks like a real device, with a matching fingerprint across user agent, screen resolution, WebGL, fonts, timezone, and every other signal that detection systems check.
It’s developed as part of Rayobyte’s scraping platform and is actively used in production to scrape millions of pages per day.