Real-device fingerprints, controlled with the standard Playwright API you already write. Unlimited local profiles that live on your own disk - free, no card.
Identities that survive re-login, data that never leaves your disk unless you say so, and detector results you can reproduce yourself.
Every profile carries the fingerprint of a real device - not randomized noise that anti-bot systems flag. Consistent across Canvas, WebGL, fonts and the engine layer.
A profile that reports a Chrome version nobody is running any more is a profile that stands out. We rebuild on each new Chromium major and publish it within days, so your identities are as current as the browsers around them. Older majors stay downloadable and selectable per profile - an aged account keeps the version it was aged on.
Standard Playwright API, no proprietary SDK to learn: connect your agent or script in one line and it just runs. Point an MCP client at it instead and the agent drives a profile directly. And when you only want the data, a recipe is one command - recipe run reddit/hot returns JSON, and fanout runs that same command across N isolated identities at once. Recipes →
Every profile carries its own virtual authenticator. When a site enrols a passkey, AntiBrow captures it automatically and replays it on the next sign-in - passwordless logins stay warm per identity, no re-enrolment. On by default for every new profile. How passkeys work here →
Every paid plan includes managed residential proxies - bind one to a profile and timezone, locale and geo follow the exit IP. Bring your own HTTP or SOCKS5 instead if you'd rather; credentials are answered inside the engine, so no helper extension is loaded and chrome://extensions stays empty. Managed proxies →
SOCKS5 and HTTP CONNECT announce themselves before your first byte moves. The AntiBrow relay doesn't: the engine speaks it natively over one WebSocket, sealing every frame with AES-256-GCM, so there is no CONNECT line, no SOCKS5 handshake and no fixed-length header to match on. It's MIT-licensed and meant to be self-hosted on a domain you control. How the relay works →
Set deviceType: 'android' on a profile and it simulates a full Android phone - user agent, Client Hints, touch, screen - entirely on the Windows, macOS or Linux machine you already have. Nothing installs on an actual device, because none is involved. Free on every plan, including Free.
Cookies, storage and passkeys persist across restarts, so an account you warm up once stays warm. All of it is written to your machine, and cloud sync is opt-in per profile - a profile you don't sync is a profile we can't read. Create as many identities as you want at zero cost: paid plans buy concurrency, sync and proxies, never the right to make one more profile.
Stream a running session to your dashboard in real time - no black box about what your agents and accounts are doing. When someone else needs that environment, there are three ways to pass it on: export it as a file, share a link to it, or transfer ownership outright. Only one of the three can be revoked afterwards. Which one to use →
Next: Everything API. An account signed in inside a synced profile, reachable as an HTTP call - same session, same fingerprint, same proxy exit you use by hand. In internal testing right now. Get notified at launch →
Randomized fingerprints betray themselves: a Windows user-agent paired with a font list no matching machine would have, or a GPU string no real card ever shipped. Anti-bot systems are built to catch exactly those contradictions.
We sample each profile whole, from a coherent device profile, and spoof it at the kernel level through the Engine runtime. Canvas, WebGL, audio, fonts and the protocol layer all agree - by construction, not by luck.
Verified by launching a real profile through a residential proxy, then opening the checks anyone can run - the public fingerprint detectors Whoer.net and CreepJS, plus live enterprise anti-bot walls from DataDome and Kasada. Live capture, not mockups.
webdriver=false, timezone & locale aligned to the proxy.
x-datadome: protected) served its real listings; no CAPTCHA wall, no captcha-delivery redirect.
x-kpsdk-*) threw its 429 proof-of-work challenge; the profile solved it in-browser and the real storefront rendered.Every check here is public: whoer.net and abrahamjuliot.github.io/creepjs report on themselves, and the DataDome and Kasada walls are the live production defences on leboncoin.fr and footlocker.com. Nothing here needs our cooperation to verify, and the free tier is enough to run all four yourself.
Detection is an arms race and results move - exact scores vary with proxy, target and fingerprint. We publish runs, not guarantees: every dated run is here, including the ones we fail.
Pick a target OS and locale. We assign a coherent, real-device fingerprint - every signal aligned, nothing to give it away.
Open it in the desktop app, or grab a Playwright handle in code. Same fingerprint, same session, either way.
Run dozens of isolated identities side by side. Sessions persist, labels keep you oriented, agents take the wheel.
A no-code cockpit to create, label, launch and watch every profile. No terminal required - and the Playwright API is one click away when you want it.
Each window shows its profile's colour, name and label right in the address bar.
Duplicate a configured profile, or roll a fresh self-consistent fingerprint in a click.
Bind a managed or custom HTTP/SOCKS5 proxy - timezone, locale and geo follow the exit IP. Username/password proxies authenticate in the engine, never through an extension.
Launch from the app, or drive the identical profile from the SDK and AI agents.
// Launch a real-device profile, get Playwright back import { AntiDetectBrowser } from "anti-detect-browser" const ab = new AntiDetectBrowser({ key: "your-api-key" }) const { browser, page } = await ab.launch({ profile: "ads-us-east", fingerprint: { tags: ["Windows 10", "Chrome"] }, proxyId: "us-east-01", }) await page.goto("https://example.com") // → standard Playwright Browser + Page
# Same product, same profiles - from Python from antibrow import launch browser = launch( profile="ads-us-east", proxy="http://user:pass@gate.example.com:8080", ) page = browser.new_page() page.goto("https://example.com") # → standard Playwright Page, plus browser.cdp_url
// Drop into any MCP client - Claude included { "mcpServers": { "anti-detect-browser": { "command": "npx", "args": ["anti-detect-browser", "--mcp"], "env": { "ANTI_DETECT_BROWSER_KEY": "your-api-key" } } } } // → agent gets launch, navigate, click, screenshot tools
Hand any AI agent a fully fingerprinted browser over MCP, or wire it up with the standard Playwright API you already write - in TypeScript or Python, with no proprietary SDK to learn.
browser and page behave exactly as you expect.Unlimited local profiles, free forever. Paid plans add concurrency, cloud sync and managed proxies - billed per account, never per seat and never per profile.
Each fingerprint is sampled as a coherent device profile - actual WebGL renderers, canvas hashes, audio stacks and font lists. Nothing is randomly generated, so signals never contradict each other.
Not unless you turn cloud sync on for that profile. Profiles are created on your own disk and stay there: cookies, localStorage, IndexedDB and passkeys are all local files. Cloud sync is opt-in per profile and available on paid plans; a profile with sync off never leaves the machine. Deleting a synced profile removes the cloud copy too. See exactly what crosses the network →
No. launch() returns standard Playwright Page and BrowserContext instances. Existing scripts work out of the box - only the launch line changes.
Run npx anti-detect-browser --mcp and the SDK exposes launch, navigate, click, type, read and screenshot tools. Drop it into Claude or any MCP client and your agent operates a fully fingerprinted browser.
Local profiles keep working. They are ordinary directories on your disk, launched by a browser binary already installed on your machine, and the free tier has no expiry - so downgrading only lowers your concurrency cap. Every profile also exports to a portable archive file you keep.
Partly, today. AntiBrow imports and exports its own portable profile archives, which carry the fingerprint, cookies, storage, bookmarks and passkeys, so moving between machines is lossless. Direct importers for other vendors’ formats are not shipped yet - tell us which one you use and we’ll prioritise it.
Yes. Cookies, localStorage, IndexedDB and session state are stored per profile, so logged-in accounts stay warm across restarts.
Yes. Every profile gets its own virtual authenticator, so passkeys enrolled on a site are captured automatically and replayed on later logins - passwordless sign-ins persist per identity across restarts, just like cookies. Passkey capture & replay is on by default when you create a profile, and can be turned off per profile.
Yes, SOCKS5 included. The credentials are answered inside the engine: HTTP and HTTPS 407 challenges in the network stack, SOCKS5 by RFC 1929 username/password negotiation. Nothing is installed to make that work, so chrome://extensions stays empty - a proxy-auth helper extension sitting there is itself a tell, and it is one most antidetect browsers still leave behind.
No browser can promise otherwise. Detection also depends on your proxy quality, your behaviour and the account history you bring - any vendor claiming a guarantee is selling you something. What we do promise is that the fingerprint is coherent and checkable: run the public detectors yourself before you trust a profile with anything valuable, and start on the free tier so that check costs you nothing.
Windows, macOS and Linux are all supported. The desktop app, the MCP server and both automation SDKs run on all three - Node 18+ for the TypeScript SDK, Python 3.9+ for the Python one.
Yes - unlimited local profiles with the full fingerprint engine, no credit card required. Paid plans start at $9.9/mo and add concurrency, cloud sync, managed proxies and Live View.
Real-device fingerprints, driven by the Playwright you already write. Check it against the detectors yourself before you trust it.
Building a platform on top of it? The kernel can ship inside your own product, under your own name - see Engine licensing.