Developers

Developer API

Build authorised local browser workflows with the Local API, MCP or the versioned RPA SDK. Desktop Runners execute the work; people review and approve it.

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://example.com');

// 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 (AI-assisted building and operations)

Connect a compatible client such as Claude Desktop or Cursor to the Argus MCP server to build structured plans, validate scripts, inspect runs and diagnose failures. Saving, publishing, running, scheduling and destructive actions require the relevant permission and explicit confirmation.

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 and OpenClaw — install the argus-browser skill with one command. The skill teaches the agent the Local API and governed RPA tools; it does not remove human approval or acceptable-use boundaries.

Install

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

After installation, ask the agent to read the SDK contract, draft a reviewable workflow, or diagnose a specific run. Skill source: github.com/ArgusBrowser/argus-browser.