Developers

Developer API

Automate your local Argus Browser with the Local API or MCP — launch/stop profiles, get the CDP endpoint, then drive the browser with Puppeteer / Selenium / Playwright. Protocol aligned with the AdsPower Local API.

Quick start

Make sure the Argus Browser desktop client is running — the Local API starts with it on your machine, listening on port 50325. Requests from localhost need no auth.

Auth & API Key

Requests from localhost (127.0.0.1) require no auth. If you expose the client remotely on your LAN, pass Authorization: Bearer <your API Key>. Generate and view your API Key under Settings → Developer API in the desktop client.

Response envelope

Every endpoint returns { code, msg, data }. code === 0 means success — check only code.

{ "code": 0, "msg": "success", "data": { /* ... */ } }

Core endpoints

The most-used endpoints for automation (the client is the source of truth for the full list):

MethodPathDescription
GET/statusHealth check
POST/api/v2/browser-profile/startLaunch profile, returns CDP / WebDriver endpoints
POST/api/v2/browser-profile/stopStop a profile
POST/api/v2/browser-profile/stop-allStop all running profiles
GET/api/v2/browser-profile/activeGet a profile's running status
POST/api/v2/browser-profile/listList profiles (paginated)
POST/api/v2/browser-profile/createCreate a profile
POST/api/v2/browser-profile/updateUpdate a profile
POST/api/v2/browser-profile/deleteBatch soft-delete profiles
GET/api/v2/browser-profile/cookiesExport a profile's cookies
POST/api/v2/proxy-list/createAdd proxy
POST/api/v1/proxies/checkCheck proxy reachability + exit IP
GET/api/v1/group/listList groups

Example: launch a profile and drive it with Playwright

// 1. Launch the profile, get its CDP endpoint
const r = await fetch('http://localhost:50325/api/v2/browser-profile/start', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({ profile_id: 'your-profile-id', headless: '0' }),
}).then((res) => res.json());

if (r.code !== 0) throw new Error(r.msg);
const debugPort = r.data.debug_port;

// 2. Attach with Playwright over CDP
import { chromium } from 'playwright';
const browser = await chromium.connectOverCDP('http://127.0.0.1:' + debugPort);
const ctx = browser.contexts()[0];
const page = ctx.pages()[0] ?? await ctx.newPage();
await page.goto('https://browserleaks.com/canvas');

// 3. Stop when done
await fetch('http://localhost:50325/api/v2/browser-profile/stop', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({ profile_id: 'your-profile-id' }),
});
Note: With Puppeteer, never call browser.pages() or browser.newPage() — both enable the CDP Network domain and this engine crashes on that path. Prefer the Playwright connectOverCDP approach above; to open a new tab in a running browser, use the Local API open-url endpoint.

MCP (natural-language control)

To let AI clients like Claude Desktop / Cursor operate profiles in natural language ("launch profile 3 with a Brazil proxy"), configure the Argus MCP server. It exposes 45 tools, each bridging to the Local API above.

Configure in Claude Desktop / Cursor

{
  "mcpServers": {
    "argus-browser": {
      "command": "npx",
      "args": ["-y", "@argus-browser/mcp-server"]
    }
  }
}

Skill (one-command setup for AI coding agents)

In AI coding agents that support skills — Claude Code, Codex, Cursor, OpenClaw — install the argus-browser skill with a single command. Zero configuration: the agent learns to operate Argus through the Local API — launch/stop profiles, batch-create accounts, assign proxies, orchestrate the synchronizer.

Install

npx skills add https://github.com/ArgusBrowser/argus-browser --skill argus-browser

Then just talk to your agent: "open hello 001", "create 5 profiles in the TikTok group with socks5 proxies". Skill source: github.com/ArgusBrowser/argus-browser.