---
id: daily-anti-detect-browser
name: "anti-detect-browser"
url: https://skills.yangsir.net/skill/daily-anti-detect-browser
author: antibrow
domain: ai-agent-external-interaction
tags: ["anti-detection", "browser-automation", "playwright", "web-scraping", "fingerprinting"]
install_count: 15600
rating: 4.50 (20 reviews)
github: https://github.com/antibrow/anti-detect-browser-skills
---

# anti-detect-browser

> 通过Playwright API启动具有真实设备指纹的Chromium实例，绕过反机器人系统检测

**Stats**: 15,600 installs · 4.5/5 (20 reviews)

## Before / After 对比

### 反检测自动化

**Before**:

标准浏览器指纹被识别，触发反爬机制，频繁封IP，数据采集不稳定

**After**:

真实设备指纹绕过检测，稳定采集数据，无需频繁更换代理

| Metric | Before | After | Change |
|---|---|---|---|
| 成功率 | 40% | 95% | +138% |

## Readme

# anti-detect-browser

# Anti-Detect Browser SDK

Launch Chromium instances with real-device fingerprints via standard Playwright APIs. Each browser gets a unique, consistent digital identity - undetectable by anti-bot systems.

- npm package: `anti-detect-browser`

- Dashboard: `https://antibrow.com`

- REST API base: `https://antibrow.com/api/v1/`

- Documentation: `https://antibrow.com/docs`

## When to use

- **Multi-account management** - Run dozens of social media, e-commerce, or ad accounts on the same machine without linking. Each browser profile has its own fingerprint, cookies, and storage.

- **Web scraping & data collection** - Rotate fingerprints across scraping sessions to avoid detection and fingerprint-IP correlation bans.

- **Ad verification & competitive intelligence** - View ads and content as different user profiles across regions and device types.

- **Social media automation** - Manage multiple accounts with persistent profiles that survive browser restarts.

- **E-commerce operations** - Operate multiple seller/buyer accounts with fully isolated browser environments.

- **AI agent browser control** - Run as an MCP server so AI agents (Claude, GPT, etc.) can launch, navigate, and interact with anti-detect browsers through tool calls.

- **QA & cross-environment testing** - Test how your site behaves under different browser fingerprints, screen sizes, and device configurations.

## Quick start

```
npm install anti-detect-browser

```

```
import { AntiDetectBrowser } from 'anti-detect-browser'

// Get your API key at https://antibrow.com
const ab = new AntiDetectBrowser({ key: 'your-api-key' })

const { browser, page } = await ab.launch({
  fingerprint: { tags: ['Windows 10', 'Chrome'] },
  profile: 'my-account-01',
  proxy: 'http://user:pass@host:port',
})

// Standard Playwright API from here — zero learning curve
await page.goto('https://example.com')
await browser.close()

```

## Core concepts

### Profiles — persistent browser identities

A profile saves cookies, localStorage, and session data across launches. Same profile name = same stored state next time.

```
// First launch — fresh session
const { page } = await ab.launch({ profile: 'shop-01' })
await page.goto('https://shop.example.com/login')
// ... login ...
await browser.close()

// Later — session restored, already logged in
const { page: p2 } = await ab.launch({ profile: 'shop-01' })
await p2.goto('https://shop.example.com/dashboard') // no login needed

```

### Fingerprints — real device data from the cloud

Each launch fetches a real fingerprint collected from actual devices. Over 30 categories (Canvas, WebGL, Audio, Fonts, WebRTC, WebGPU, etc.) with 500+ individual parameters.

```
// Windows Chrome, version 130+
await ab.launch({
  fingerprint: { tags: ['Windows 10', 'Chrome'], minBrowserVersion: 130 },
})

// Mac Safari
await ab.launch({
  fingerprint: { tags: ['Apple Mac', 'Safari'] },
})

// Mobile Android
await ab.launch({
  fingerprint: { tags: ['Android', 'Mobile', 'Chrome'] },
})

```

Available filter tags: `Microsoft Windows`, `Apple Mac`, `Android`, `Linux`, `iPad`, `iPhone`, `Edge`, `Chrome`, `Safari`, `Firefox`, `Desktop`, `Mobile`, `Windows 7`, `Windows 8`, `Windows 10`

### Visual identification — tell windows apart at a glance

When running many browsers simultaneously, each window gets a floating label, title prefix, and unique theme color.

```
await ab.launch({
  profile: 'twitter-main',
  label: '@myhandle',       // floating label + window title
  color: '#e74c3c',         // unique window border color
})

```

### Proxy integration

Route each browser through a different proxy for geo-targeting or IP rotation.

```
await ab.launch({
  proxy: 'socks5://user:pass@us-proxy.example.com:1080',
  fingerprint: { tags: ['Windows 10', 'Chrome'] },
  profile: 'us-account',
})

```

### Live View — watch headless browsers in real time

Monitor headless sessions from the `https://antibrow.com` dashboard. Useful for debugging AI agent actions or letting team members observe.

```
const { liveView } = await ab.launch({
  headless: true,
  liveView: true,
})

console.log('Watch live:', liveView.viewUrl)
// Share this URL — anyone with access can see the browser screen

```

## Inject into existing Playwright setup

Already have Playwright scripts? Add fingerprints without changing your workflow.

```
import { chromium } from 'playwright'
import { applyFingerprint } from 'anti-detect-browser'

const browser = await chromium.launch()
const context = await browser.newContext()

await applyFingerprint(context, {
  key: 'your-api-key',
  fingerprint: { tags: ['Windows 10', 'Chrome'] },
  profile: 'my-profile',
})

const page = await context.newPage()
await page.goto('https://example.com')

```

## MCP server mode — for AI agents

Run as an MCP server so AI agents can launch and control fingerprint browsers via tool calls.

```
{
  "mcpServers": {
    "anti-detect-browser": {
      "command": "npx",
      "args": ["anti-detect-browser", "--mcp"],
      "env": { "ANTI_DETECT_BROWSER_KEY": "your-api-key" }
    }
  }
}

```

Available tools:

Tool
What it does

`launch_browser`
Start a new fingerprint browser session

`close_browser`
Close a running session

`navigate`
Go to a URL

`screenshot`
Capture the current screen

`click` / `fill`
Interact with page elements

`evaluate`
Run JavaScript on the page

`get_content`
Extract text from the page or a specific element

`start_live_view`
Stream the browser screen to `https://antibrow.com` dashboard

`stop_live_view`
Stop live streaming

`list_sessions`
List all running browser instances

`list_profiles`
List all saved profiles

## Workflow examples

### Multi-account social media

```
const accounts = [
  { profile: 'twitter-1', label: '@brand_main', color: '#1DA1F2' },
  { profile: 'twitter-2', label: '@support', color: '#FF6B35' },
  { profile: 'twitter-3', label: '@personal', color: '#6C5CE7' },
]

for (const acct of accounts) {
  const { page } = await ab.launch({
    fingerprint: { tags: ['Windows 10', 'Chrome'] },
    proxy: getNextProxy(),
    ...acct,
  })
  await page.goto('https://twitter.com')
}

```

### Scraping with fingerprint rotation

```
for (const url of urlsToScrape) {
  const { browser, page } = await ab.launch({
    fingerprint: { tags: ['Desktop', 'Chrome'], minBrowserVersion: 125 },
    proxy: rotateProxy(),
  })
  await page.goto(url)
  const data = await page.evaluate(() => document.body.innerText)
  saveData(url, data)
  await browser.close()
}

```

### Headless monitoring with live view

```
const { page, liveView } = await ab.launch({
  headless: true,
  liveView: true,
  profile: 'price-monitor',
  fingerprint: { tags: ['Windows 10', 'Chrome'] },
})

// Share the live view URL with your team
console.log('Dashboard:', liveView.viewUrl)

while (true) {
  await page.goto('https://shop.example.com/product/123')
  const price = await page.textContent('.price')
  if (parseFloat(price) < targetPrice) notify(price)
  await page.waitForTimeout(60_000)
}

```

## REST API

Base URL: `https://antibrow.com/api/v1/` — all endpoints require `Authorization: Bearer <api-key>` header.

### Fingerprints

Method
Endpoint
Description

`GET`
`/fingerprints/fetch`
Fetch a fingerprint matching filter criteria. Returns `{ dataUrl }` — download the presigned URL for full fingerprint data.

`GET`
`/fingerprints/versions`
List available browser versions

Query parameters for `/fingerprints/fetch`: `tags`, `id`, `minBrowserVersion`, `maxBrowserVersion`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight`

### Profiles

Method
Endpoint
Description

`GET`
`/profiles`
List all profiles

`POST`
`/profiles`
Create a new profile (server assigns a random fingerprint). Returns profile info including `dataUrl` for immediate fingerprint data download.

`GET`
`/profiles/:name`
Get profile details with `dataUrl` for fingerprint data download

`DELETE`
`/profiles/:name`
Delete a profile

**POST `/profiles` request body:**

```
{ "name": "my-profile", "tags": ["Windows 10", "Chrome"] }

```

**POST `/profiles` response (201):**

```
{
  "name": "my-profile",
  "tags": ["Windows 10", "Chrome"],
  "ua": "Mozilla/5.0 ...",
  "browserVersion": 131,
  "width": 1920,
  "height": 1080,
  "createdAt": "2025-01-01T00:00:00.000Z",
  "dataUrl": "https://r2.example.com/fingerprints/..."
}

```

The `dataUrl` is a presigned R2 URL (valid for 10 minutes) pointing to the full fingerprint JSON data (~9MB). Download it directly — no additional API call needed.

## Get started

- Sign up at `https://antibrow.com` (free tier: 2 browser profiles)

- Get your API key from the dashboard

- `npm install anti-detect-browser`

- Launch your first anti-detect browser

Full documentation: `https://antibrow.com/docs`
Weekly Installs216Repository[antibrow/anti-d…r-skills](https://github.com/antibrow/anti-detect-browser-skills)First Seen1 day agoSecurity Audits[Gen Agent Trust HubPass](/antibrow/anti-detect-browser-skills/anti-detect-browser/security/agent-trust-hub)[SocketWarn](/antibrow/anti-detect-browser-skills/anti-detect-browser/security/socket)[SnykFail](/antibrow/anti-detect-browser-skills/anti-detect-browser/security/snyk)Installed ongemini-cli216github-copilot216codex216kimi-cli216amp216cline216

---
*Source: https://skills.yangsir.net/skill/daily-anti-detect-browser*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-anti-detect-browser/markdown*