For developers, scrapers and AI agent builders
Scrape and automate without detection.
Start a Donut profile from the local API and connect Playwright, Puppeteer or Selenium to it over the Chrome DevTools Protocol. Run it on your computer, or on a cloud VM with the profile’s own operating system.
- Local REST API on port 10108
- Playwright, Puppeteer, Selenium over CDP
- Remote runs on Windows, macOS or Linux VMs
What is free, and what runs on Pro
Managing profiles from code is free. Running them from code is what Pro and Team add.
Free
- Profiles, groups and tags
- Proxies and VPNs
- Extensions and extension groups
- Browser versions
Pro and Team
runstart a profile and get its CDP port, headed or headless- open-url, kill, batch run and batch stop
run-remotea cloud VM with the profile’s OS- Browser tools for AI agents over Remote MCP
Remote runs need Regular sync and last up to 2 hours each. Pro includes 200 remote hours a month; Team pools 200 hours per paid seat.
Questions, answered.
Is this really a puppeteer-stealth alternative and undetected-chromedriver alternative?
Yes, and a different category. puppeteer-stealth and undetected-chromedriver patch a headless Chrome to hide automation markers. Donut Browser ships a real anti-detect browser engine (Wayfern) with native fingerprint randomization, and exposes it over CDP. There are no plugin hooks to detect, no navigator.webdriver to wipe; you connect Puppeteer, Playwright, or Selenium over Chrome DevTools Protocol to a normal-looking browser process.
How do I bypass Cloudflare and DataDome without writing a custom solver?
You usually don't need a solver. Launch a profile with a residential proxy, get the CDP port from the REST API, and drive it with Playwright or Puppeteer. Cloudflare sees a real browser, not a bot signature. DataDome's heuristics see a normal user session. If a site challenges you anyway, slow down, add humanized interaction, and rotate profiles; each one is a different identity.
What is remote MCP and what can Claude do with it?
MCP (Model Context Protocol) is the open standard for tool-using LLMs. Donut Browser exposes 30+ tools over remote MCP, which relays each call through Donut cloud to your desktop app. They cover profiles, proxies, VPN, fingerprints, and extensions, plus launch, navigate, click, type, and read DOM: that's Claude browser automation, AI-driven web scraping, and LLM browser control with no glue code. Solo includes remote MCP without the browser tools; Pro, Team and Enterprise include all of them.
How do Puppeteer, Playwright, and Selenium connect?
Call POST /v1/profiles/{id}/run, read remote_debugging_port from the response, then connectOverCDP('http://127.0.0.1:') in Playwright or puppeteer.connect({ browserURL }) in Puppeteer. Selenium attaches the same way via debuggerAddress. No custom SDK, no wrapper library, no rebuilding your scraper.
How do I scrape without getting blocked at scale?
Distribute work across many profiles, each with its own residential proxy and headless browser fingerprint. That beats raw IP rotation because each profile is a separate browser identity, not just a different exit node. Add natural pacing between actions. Sessions persist between runs, so you can spread a job across hours or days without losing login state.
Does headless mode still spoof the fingerprint?
Yes. Headless profiles run the same anti-detect engine as headed ones. Set headless: true on the launch endpoint and your CI/CD jobs get the same Pixelscan-class profile as your desktop runs. Pro plan.
Is the API free?
Profile, proxy, group, tag, and version management endpoints are free forever and run locally on port 10108. The CDP-launch endpoint (the one that gives Puppeteer/Playwright/Selenium a port to attach to) is on the Pro plan. Remote MCP for AI agents starts with Solo; its browser tools need Pro or higher.
Your scripts, a real browser, any OS.
Build against the free management API today. Add Pro when your scripts need to start profiles, here or on a cloud VM.