SDK Documentation
AntiBrow is now a Windows-only SDK backed by the Engine runtime. You launch a profile and receive standard Playwright objects over CDP.
import { AntiDetectBrowser } from 'anti-detect-browser'
const ab = new AntiDetectBrowser({
key: 'your-api-key',
})
const { browser, page } = await ab.launch({
profile: 'account-01',
label: 'account-01',
proxyId: 'managed-proxy-id',
})
await page.goto('https://example.com')
await browser.close() launch()
Use ab.launch() for the managed SDK flow. It creates or loads profile metadata, downloads the encrypted Engine runtime package when needed, restores the profile archive, launches the browser, and returns browser, context, page, and profileDir.
Supported options: profile, label, color, tags, proxy, proxyId, headless, userDataDir, and liveView.
Profiles
Profiles are metadata records plus a cloud-synced engine cache archive. The server stores name, labels, tags, notes, colors, and proxy references. Browser state is stored as a per-profile archive so the same profile can continue on another Windows machine.
import { openProfile } from 'anti-detect-browser'
const session = await openProfile({
key: 'your-api-key',
profileName: 'account-01',
})
const page = session.context.pages()[0] ?? await session.context.newPage()
await page.goto('https://example.com')
await session.close() Server API
All endpoints require Authorization: Bearer <api-key>. The SDK calls these for you.
/api/v1/engine/sessionReturns a sealed engine service key and encrypted engine package URL for the current account.
/api/v1/profilesCreates metadata for a profile. The fingerprint is generated locally by the engine launcher on first use.
/api/v1/profiles/:name/archiveReturns presigned download and upload URLs for the profile cache archive.
/api/v1/profiles/:nameReads profile metadata.
Configuration
Use ANTI_DETECT_BROWSER_KEY, ANTI_DETECT_BROWSER_SERVER, and ANTI_DETECT_BROWSER_CACHE_DIR for environment-based configuration. Desktop builds also point the SDK at the bundled Rust vault executable.