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
taskIdright 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, orpress, 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, orextractAll.
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
- You send a task (with your list of actions) to
https://api.browserworker.app/v1/ - Server checks your API token
- Server picks a worker — either automatically or a specific one you choose
- Server sends the task to the worker securely
- The extension runs each action one by one in the browser
- The extension sends back the result
- 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
| Status | Meaning |
|---|---|
online | Available and ready for tasks |
busy | Currently executing a task |
reserve | Reserved by an active session |
offline | Not 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:
- Install a proxy extension from the Chrome Web Store
- Set it up with your proxy details
- 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
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:
- Install a captcha solver extension and add your API key
- When your task hits a page with a captcha, the solver extension handles it automatically
- Your task keeps running — no extra steps needed