Skip to main content

How It Works

BrowserWorker connects your tools (n8n, cURL, Python, etc.) to real Chrome browsers running on your own machines.

Architecture

┌─────────────────┐ Send actions ┌──────────────────┐
│ Your App │ ───────────────► │ │
│ │ ◄─────────────── │ API Server │
│ n8n / cURL / │ Get results │ │
│ Python / etc. │ └────────┬─────────┘
└─────────────────┘ │

Secure Connection

┌────────┴─────────┐
│ Chrome Extension │
│ │
│ • Click buttons │
│ • Fill forms │
│ • Screenshots │
│ • Upload files │
│ • Extract data │
│ • etc. │
└──────────────────┘

Components

API Server

  • Receives your list of browser actions
  • Verifies your API token
  • Picks an available worker (or one you choose)
  • Sends the task to the worker securely
  • Waits for the result and sends it back to you
  • Also supports async mode — get a taskId right away and check back for results later

Chrome Extension (Worker)

  • Installed on any Chromium-based browser (Chrome, Edge, Brave, Opera, Arc, etc.)
  • Stays connected to the API server securely
  • Runs your actions in real browser tabs — clicking, typing, taking screenshots, and more
  • Sends results back to the server

Dashboard

  • Manage your account and workers
  • See which workers are online, offline, or busy
  • Find your API keys
  • Try out API calls with the built-in Playground

Security & Privacy

Your Data Stays on Your Machine

Your browser data never leaves your computer. The server only passes instructions (like "click this" or "type that") to your browser through a secure connection. We never touch your cookies, passwords, or page content.

Nothing is Stored

Once a task is done, all the data is deleted right away. We don't keep your actions or results on our servers.

For async tasks, results are kept for up to 1 hour so you can check them, then permanently deleted.

You Control What Gets Sent

You decide what information leaves your browser.

  • Clicking and typing only — If your task only does things like click, fill, or press, no page content is ever sent to the server.
  • Reading data — Page content is only sent when you specifically ask for it with commands like getText, getHTML, or extractAll.
Use Chrome's Built-in Password Manager

For login flows, you don't need to send passwords through the API. Let Chrome autofill your saved credentials, then just click the submit button. Your passwords never leave your browser.

You Own the Browser

Since you use your own Chrome, you stay in full control of your machine, your IP address, and your browser settings. No third-party cloud browsers involved.

Tasks and Actions

A task is a single API request you send to BrowserWorker. Each task contains a list of actions — the individual steps you want the browser to perform, like clicking a button, filling a form, or taking a screenshot.

{
"actions": [
{ "openNewTab": "https://example.com" }, // Action 1: Open a page
{ "fill": ["input[name=email]", "hi@example.com"] }, // Action 2: Type an email
{ "click": "button[type=submit]" }, // Action 3: Click submit
{ "screenshot": "viewport" } // Action 4: Take a screenshot
]
}

When a worker receives a task, it runs each action one by one in order. If any action fails, you can choose to stop the task or keep going (see Error Handling).

One task = one API call = one response with the final result.

How a Request Flows

  1. You send a task (with your list of actions) to https://api.browserworker.app/v1/
  2. Server checks your API token
  3. Server picks a worker — either automatically or a specific one you choose
  4. Server sends the task to the worker securely
  5. The extension runs each action one by one in the browser
  6. The extension sends back the result
  7. Server returns the response to you

From your side, it works just like a normal API call — send a request, get back a response with the results.

For longer tasks, you can also use async execution — send a task and check back for the result later.

Worker Status

StatusMeaning
onlineAvailable and ready for tasks
busyCurrently executing a task
reserveReserved by an active session
offlineNot connected (extension closed or disconnected)

Workers check in every 60 seconds. If a worker hasn't checked in for 2 minutes, it's automatically marked as offline.

Chrome Extensions Support

Because BrowserWorker runs in your own Chrome browser, you can install and use any Chrome extension you want — just like normal browsing. Unlike cloud-based automation tools, you're not limited to a locked-down environment.

Just install any extension from the Chrome Web Store and it will work alongside BrowserWorker without any extra setup.

Proxy Support

Since BrowserWorker uses your own browser, you can use any proxy by installing a proxy extension in Chrome.

How to set up:

  1. Install a proxy extension from the Chrome Web Store
  2. Set it up with your proxy details
  3. Turn it on — all browser traffic, including automated tasks, will go through the proxy

This makes it easy to:

  • Switch between different proxies for web scraping
  • Browse from different locations by country or city
  • Use different proxies per worker with separate Chrome profiles
note

Proxy settings are handled entirely by your proxy extension. BrowserWorker doesn't manage proxies — it just uses whatever network setup your browser already has.

Captcha Bypass

You can solve captchas automatically by installing a captcha-solving extension in Chrome. Since BrowserWorker runs in your real browser, these extensions work just like they would during normal browsing.

How to set up:

  1. Install a captcha solver extension and add your API key
  2. When your task hits a page with a captcha, the solver extension handles it automatically
  3. Your task keeps running — no extra steps needed