{"_id":"anti-detect-browser","_rev":"12-514f69d955996c1f1e6c8ae3614fbdeb","name":"anti-detect-browser","dist-tags":{"latest":"1.2.4"},"versions":{"0.1.0":{"name":"anti-detect-browser","version":"0.1.0","keywords":["anti-detect","browser","fingerprint","playwright","cdp","stealth"],"license":"MIT","_id":"anti-detect-browser@0.1.0","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"homepage":"https://antibrow.com","bin":{"anti-detect-browser":"dist/cli.js"},"dist":{"shasum":"347686478cc66354c48b18da8f9c03326cf2c3df","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-0.1.0.tgz","fileCount":10,"integrity":"sha512-Pq8eUfy3fiJ48nhANkTDcUmI8O7CZdmOmqLvNB1oLq/0R6FEgLh0D+vPIOx/1gVr+/bFt2nGrk3p4jy9Z4aqJw==","signatures":[{"sig":"MEUCIQD64xTTr88aWIPqVm1WmmqUwtcxo70CkdHaIeukqg1VZAIgNjm7jMWG9PppGDsnB4iTixn2d0o9IVfNyP//QIs4dfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1178943},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8527ec42cc2e02cdfbd8ba9d6a1808b2d3201b3c","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"_npmVersion":"10.8.2","description":"Anti-detect browser client SDK with Playwright + CDP fingerprint injection","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","@types/ws":"^8.0.0","playwright":"^1.49.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/anti-detect-browser_0.1.0_1773643718161_0.22280464751445206","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"anti-detect-browser","version":"0.1.1","keywords":["anti-detect","browser","fingerprint","playwright","cdp","stealth"],"license":"MIT","_id":"anti-detect-browser@0.1.1","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"homepage":"https://antibrow.com","bin":{"anti-detect-browser":"dist/cli.js"},"dist":{"shasum":"db9a9e869c1ea71a2b45ad95dd9ef4c8e457dbb0","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-0.1.1.tgz","fileCount":11,"integrity":"sha512-toaJvupMt+Qnl2Bv0OActJQN4TvsBMneXz6onFsS3AANoWSCRSaJgzpv6IDqNu9LtFgAfCEMIyl/iZ4DI+BWXg==","signatures":[{"sig":"MEQCIFWm7iP1WTo4ZuP9wTcklKiCDLDg/nnnirqRNBK/e7VsAiAyKIDls6+Kt6IZ5HkNHKBy6l7Ln3GSfzEiSe536yOw3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1192466},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"14cd0f589c18ca1e0f34c39e464adc8c21f72587","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"_npmVersion":"10.8.2","description":"Anti-detect browser client SDK with Playwright + CDP fingerprint injection","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","@types/ws":"^8.0.0","playwright":"^1.49.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/anti-detect-browser_0.1.1_1773650024064_0.8292689764336152","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"anti-detect-browser","version":"0.1.2","keywords":["anti-detect","browser","fingerprint","playwright","cdp","stealth"],"license":"MIT","_id":"anti-detect-browser@0.1.2","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"homepage":"https://antibrow.com","bin":{"anti-detect-browser":"dist/cli.js"},"dist":{"shasum":"938c322a5721710af99884d2275f6de0703fef62","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-0.1.2.tgz","fileCount":11,"integrity":"sha512-OV0NWyNWNy6flmNfAzva8WechFobD3rydipgzm5vXRYaixLT+MhPcr9G7+UKdj+3n6W0W2QU0Vlz1JXE/2MvaA==","signatures":[{"sig":"MEUCIFm6xJ7IX3P5ICTKsQXorPCKMG64ICffMdBaA6loSxzCAiEApoIWirDjoQme7r/A0UnT3IgJwWAy7Y/eF4/jW4l2fBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1203606},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"14cd0f589c18ca1e0f34c39e464adc8c21f72587","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"_npmVersion":"10.8.2","description":"Anti-detect browser client SDK with Playwright + CDP fingerprint injection","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","@types/ws":"^8.0.0","playwright":"^1.49.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/anti-detect-browser_0.1.2_1773651049835_0.406965944563076","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"anti-detect-browser","version":"0.1.3","keywords":["anti-detect","browser","fingerprint","playwright","cdp","stealth"],"license":"MIT","_id":"anti-detect-browser@0.1.3","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"homepage":"https://antibrow.com","bin":{"anti-detect-browser":"dist/cli.js"},"dist":{"shasum":"7a70361513253d5caab37934ee3bac5b4aca3448","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-0.1.3.tgz","fileCount":11,"integrity":"sha512-v1bURcwQAdBGx7IpoHDE6EsNWsCYuNIaT7Y9UOPUc7cx3KwKfnABNM0quImPcBUDD5Gu34sDcVyEOsgF4l8GfA==","signatures":[{"sig":"MEUCIQDWpeZnJBwZKz16rWP5gVwqBDfH/5gJJErIJkjEFFVQKAIgEnYiq531J3gOsjhUkybttTfjBE576kjM76Hg3h+nl4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1203606},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"14cd0f589c18ca1e0f34c39e464adc8c21f72587","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"_npmVersion":"10.8.2","description":"Anti-detect browser client SDK with Playwright + CDP fingerprint injection","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","@types/ws":"^8.0.0","playwright":"^1.49.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/anti-detect-browser_0.1.3_1773651998553_0.09854579969448052","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"anti-detect-browser","version":"0.1.4","keywords":["anti-detect","browser","fingerprint","playwright","cdp","stealth"],"license":"MIT","_id":"anti-detect-browser@0.1.4","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"homepage":"https://antibrow.com","bin":{"anti-detect-browser":"dist/cli.js"},"dist":{"shasum":"000df4f6bad5f981fb49057824dd12cb6e0c015e","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-0.1.4.tgz","fileCount":11,"integrity":"sha512-jNF5nPvCluL7081xlbCq34T67y3Oqk1XRdNO8+P6o03mMuUF5xMVtstquyczbFzeH6P8qiXaNVliOIjhsyghsQ==","signatures":[{"sig":"MEYCIQCvoEBRL3M2kX4TMIDQO7pdncwIrg/6KhAZXGKWhZe3SgIhAPHKcl00UTr39gueQ301UxL1bK/I56roprt31Z7nzVOr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1223278},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"14cd0f589c18ca1e0f34c39e464adc8c21f72587","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"_npmVersion":"10.8.2","description":"Anti-detect browser client SDK with Playwright + CDP fingerprint injection","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.0.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","@types/ws":"^8.0.0","playwright":"^1.49.0","typescript":"^5.7.0","@types/node":"^22.0.0"},"peerDependencies":{"playwright":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/anti-detect-browser_0.1.4_1773652148140_0.3346312191988856","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"anti-detect-browser","version":"1.2.1","keywords":["anti-detect","browser","engine","playwright","stealth"],"license":"MIT","_id":"anti-detect-browser@1.2.1","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"homepage":"https://antibrow.com","os":["win32"],"bin":{"anti-detect-browser":"dist/cli.js"},"dist":{"shasum":"a2f8cb5af8edffcb30788f9caeb494c8ca3c1313","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-1.2.1.tgz","fileCount":10,"integrity":"sha512-9rrCS4/yWq1rBtuwzWknMcr6KXFp0jc6ONVvZYO4N1rke0VWc4ZQG/xvlBxRLqLxHa3uZzKcoeaeNwj1fducQA==","signatures":[{"sig":"MEUCICYY/zd2ky7DI65mOvaorZdpMF7zOJOHC8MFn9LdMrewAiEA3xDrwcUZlK4Q1C0AnQIboKdY+gdSH4SmCIoNDRtWN0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":804933},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ac661d50a3fc8fda984393620aff06c649fc1dcf","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist"},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"_npmVersion":"10.8.2","description":"Windows-only anti-detect browser client SDK powered by the Engine runtime and Playwright CDP","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.0.0","adm-zip":"^0.5.17","unzipper":"^0.12.3","puppeteer-core":"24.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","@types/ws":"^8.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/adm-zip":"^0.5.8","@types/unzipper":"^0.10.11","playwright-core":"^1.60.0"},"peerDependencies":{"playwright-core":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/anti-detect-browser_1.2.1_1781748334945_0.1649121280723156","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"anti-detect-browser","version":"1.2.3","keywords":["anti-detect","browser","engine","playwright","stealth"],"license":"MIT","_id":"anti-detect-browser@1.2.3","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"homepage":"https://antibrow.com","os":["win32"],"bin":{"anti-detect-browser":"dist/cli.js"},"dist":{"shasum":"b686dfd730a82962985aa2dd441020098692490d","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-1.2.3.tgz","fileCount":12,"integrity":"sha512-Jh3p+5MbA21ma5xS0KG/j65QHGrMm/J3NAFjnxIQ/gwIxmUV3V0XpUmSEBXBg+XeNK4ZF5Vyalzw5GaalAxGIQ==","signatures":[{"sig":"MEUCIGyFXsgVPK0AD7P8EPoh74lvFSffOO1cQXTN/YBcUA3hAiEAlWqZ9pnzbDaKXZgPOnn/RUnWmQW4JQhvKrA0EtpqZmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1191911},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ac661d50a3fc8fda984393620aff06c649fc1dcf","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","prepublishOnly":"tsup"},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"_npmVersion":"10.8.2","description":"Windows-only anti-detect browser client SDK powered by the Engine runtime and Playwright CDP","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.0.0","adm-zip":"^0.5.17","unzipper":"^0.12.3","puppeteer-core":"24.39.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","@types/ws":"^8.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/adm-zip":"^0.5.8","@types/unzipper":"^0.10.11","playwright-core":"^1.60.0"},"peerDependencies":{"playwright-core":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/anti-detect-browser_1.2.3_1781765842016_0.45730662607205463","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"anti-detect-browser","version":"1.2.4","description":"Windows-only anti-detect browser client SDK powered by the Engine runtime and Playwright CDP","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","bin":{"anti-detect-browser":"dist/cli.js"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","clean":"rm -rf dist","prepublishOnly":"tsup"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","adm-zip":"^0.5.17","puppeteer-core":"24.39.0","unzipper":"^0.12.3","ws":"^8.0.0"},"devDependencies":{"@types/adm-zip":"^0.5.8","@types/node":"^22.0.0","@types/unzipper":"^0.10.11","@types/ws":"^8.0.0","playwright-core":"^1.60.0","tsup":"^8.0.0","typescript":"^5.7.0","vitest":"^2.0.0"},"peerDependencies":{"playwright-core":">=1.40.0"},"keywords":["anti-detect","browser","engine","playwright","stealth"],"os":["win32"],"homepage":"https://antibrow.com","license":"MIT","engines":{"node":">=18"},"_id":"anti-detect-browser@1.2.4","gitHead":"87af3570971a0a3263ea4fdfd4ace03af1268adb","_nodeVersion":"22.22.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-HNoyjT8ty+5z2sDQhqcx00AcAQY8F0g5jKMFXMgwIgyb7TfTv/1WGfKLk4yQgo4yEx8eI40A2Amg5hu88bLGSQ==","shasum":"4733de83243bb6a7c857b324a3b42a5dfdddf050","tarball":"https://registry.npmjs.org/anti-detect-browser/-/anti-detect-browser-1.2.4.tgz","fileCount":12,"unpackedSize":1201022,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDP/mFKsS78RyJWzNCAHupEwam+M/DaSlqzId0J9LkyqgIgQi+SGwiWCC/wDA7EghBpKnyxs/alCpKahPV43HyuKt0="}]},"_npmUser":{"name":"antibrow","email":"zane79076@gmail.com"},"directories":{},"maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/anti-detect-browser_1.2.4_1782094916914_0.4323709797055695"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-16T06:48:38.160Z","modified":"2026-06-22T02:21:57.177Z","0.1.0":"2026-03-16T06:48:38.341Z","0.1.1":"2026-03-16T08:33:44.259Z","0.1.2":"2026-03-16T08:50:49.999Z","0.1.3":"2026-03-16T09:06:38.745Z","0.1.4":"2026-03-16T09:09:08.444Z","1.1.0":"2026-06-17T02:40:28.015Z","1.2.0":"2026-06-17T05:53:48.099Z","1.2.1":"2026-06-18T02:05:35.129Z","1.2.3":"2026-06-18T06:57:22.190Z","1.2.4":"2026-06-22T02:21:57.081Z"},"license":"MIT","homepage":"https://antibrow.com","keywords":["anti-detect","browser","engine","playwright","stealth"],"description":"Windows-only anti-detect browser client SDK powered by the Engine runtime and Playwright CDP","maintainers":[{"name":"antibrow","email":"zane79076@gmail.com"}],"readme":"# anti-detect-browser\n\n**Engine-level anti-detect browser for Node.js — real device fingerprints, the standard Playwright API, zero learning curve.**\n\nDrive an undetectable Chromium with the Playwright API you already know. Fingerprints are applied at the **engine level** (not fragile JS patches), so canvas, WebGL, audio, fonts, WebRTC, timezone and locale are spoofed deep enough to satisfy the strictest detectors — while you keep writing plain `page.goto(...)`.\n\n```typescript\nimport { AntiDetectBrowser } from 'anti-detect-browser'\n\nconst ab = new AntiDetectBrowser({ key: 'your-api-key' })\nconst { page } = await ab.launch({ profile: 'amazon-us', proxyId: 'your-proxy' })\n\nawait page.goto('https://example.com') // standard Playwright from here\n```\n\n## Why anti-detect-browser\n\n- 🛡️ **Engine-level spoofing** — fingerprints are generated from **real devices** and applied inside the browser engine, not injected via JavaScript that detectors can unmask.\n- 🎭 **Consistent identity** — UA, platform, canvas, WebGL, audio, fonts, WebRTC, timezone and language all line up. No tells, no contradictions.\n- 🌍 **Geo-aware** — point a profile at a proxy and the browser's timezone, locale and WebRTC automatically follow the proxy's location.\n- 💾 **Persistent profiles** — each profile keeps its own cookies, storage and login state across runs, and syncs to the cloud.\n- 🔌 **Standard Playwright** — `launch()` returns a real Playwright `Page` / `BrowserContext`. Everything you know still works.\n- 🏷️ **Account labels** — floating tag, window title and theme color per profile, so you never act in the wrong account.\n- 📺 **Live View** — stream any session to your dashboard and share a watch link.\n- 🤖 **MCP server** — expose the browser to AI agents via the Model Context Protocol out of the box.\n\n## Detection benchmarks\n\nVerified by launching a real profile through a US residential proxy (New York) with an engine-generated fingerprint, then opening the public detectors:\n\n| Detector | Result |\n|----------|--------|\n| **Whoer.net** | **100% disguise** — proxy **not detected**, no DNS leak, OS / browser / geo all consistent |\n| **CreepJS** | **0% headless**, **0% stealth**, confidence **high**, `navigator.webdriver = false` |\n| **WebRTC** | Exposes the **proxy IP only** — the real IP never leaks |\n| **Timezone / Locale** | Auto-aligned to the proxy: a US proxy IP yields a US timezone (e.g. `America/New_York`, `America/Los_Angeles`) + `en-US` \"American English\" |\n| **Device coherence** | UA `Chrome 137`, `userAgentData` (137.0.7151.69), platform, cores and memory all agree |\n\n> Results reflect one verification run; exact scores depend on the proxy and fingerprint. The point is consistency — every layer tells the same story.\n\n<p align=\"center\">\n  <img src=\"https://cdn.jsdelivr.net/npm/anti-detect-browser/assets/whoer.png\" width=\"100%\" alt=\"Whoer.net — 100% disguise, proxy not detected, no DNS leak\" />\n  <br/>\n  <em>Whoer.net: 100% disguise · proxy not detected · DNS/OS/browser/geo all consistent</em>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://cdn.jsdelivr.net/npm/anti-detect-browser/assets/creepjs.png\" width=\"100%\" alt=\"CreepJS — 0% headless, 0% stealth, high confidence\" />\n  <br/>\n  <em>CreepJS: 0% headless · 0% stealth · high confidence · timezone (<code>America/Los_Angeles</code>), locale and Worker thread all aligned to the proxy</em>\n</p>\n\n## Install\n\n```bash\nnpm install anti-detect-browser playwright-core\n```\n\n> Windows-only. The engine runtime and its fingerprint generation are Windows-native.\n\n## Quick start\n\n```typescript\nimport { AntiDetectBrowser } from 'anti-detect-browser'\n\nconst ab = new AntiDetectBrowser({ key: 'your-api-key' })\n\nconst { page } = await ab.launch({\n  profile: 'amazon-us',                 // persistent profile (cookies, storage, login)\n  proxy: 'http://user:pass@host:port',  // or proxyId for a managed proxy\n})\n\nawait page.goto('https://example.com')\n```\n\nThe engine applies the fingerprint at launch, so once `launch()` returns you have regular Playwright `Page` / `BrowserContext` objects with no extra setup.\n\n## Full options\n\n```typescript\nconst { browser, context, page } = await ab.launch({\n  profile: 'my-account',     // persistent profile\n  proxy: 'http://user:pass@host:port',\n  proxyId: 'managed-proxy-id', // managed proxy; takes precedence over `proxy`\n  label: 'account@example.com',\n  color: '#3366ff',\n  headless: false,\n  liveView: true,            // stream this session to your dashboard\n})\n\nawait page.goto('https://example.com')\nawait browser.close()\n```\n\n## MCP server\n\nRun as an MCP server for AI agent integration:\n\n```json\n{\n  \"mcpServers\": {\n    \"anti-detect-browser\": {\n      \"command\": \"npx\",\n      \"args\": [\"anti-detect-browser\", \"--mcp\"],\n      \"env\": {\n        \"ANTI_DETECT_BROWSER_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\nExposes tools such as `launch_browser`, `close_browser`, `navigate` and `screenshot`.\n\n## How it works\n\n1. Your API key authenticates an engine session with the server.\n2. The engine runtime is provisioned locally (cached after first use) and launched with a real-device fingerprint.\n3. The SDK connects over CDP and hands you a standard Playwright `BrowserContext`.\n4. Profiles persist locally and sync to the cloud; proxies set geolocation, timezone and language automatically.\n\n## Requirements\n\n- Windows\n- Node.js >= 18\n- An API key from [antibrow.com](https://antibrow.com)\n\n## Documentation\n\nVisit [antibrow.com](https://antibrow.com) for full documentation.\n","readmeFilename":"README.md"}