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.

POST /api/v1/engine/session

Returns a sealed engine service key and encrypted engine package URL for the current account.

POST /api/v1/profiles

Creates metadata for a profile. The fingerprint is generated locally by the engine launcher on first use.

GET / POST /api/v1/profiles/:name/archive

Returns presigned download and upload URLs for the profile cache archive.

GET /api/v1/profiles/:name

Reads 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.