Skip to main content

Get Started

BrowserWorker lets you remotely automate real browsers via API using Chrome Extensions. Send HTTP requests to control browsers — click buttons, fill forms, upload files, take screenshots, and more.

Works with any Chromium-based browser — Google Chrome, Microsoft Edge, Brave, Opera, Arc, and more.

Quick Start​

1. Create an Account​

Sign up at browserworker.app

2. Install the Chrome Extension​

Install the BrowserWorker extension from the Chrome Web Store.

3. Connect a Worker​

  1. In the dashboard, copy your Worker API Key
  2. Click the BrowserWorker icon in your browser toolbar and paste the key
  3. Enter a worker name (e.g., "My PC")
  4. Click Connect

Your worker should now appear as online in the dashboard.

4. Get Your Bearer Token​

In the dashboard, find your Bearer Token under the API section. This is used to authenticate API requests.

5. Send Your First Request​

curl -X POST https://api.browserworker.app/v1/ \
-H "Authorization: Bearer <YOUR_BEARER_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"actions": [
{ "openNewTab": "https://example.com" },
{ "screenshot": "viewport" }
]
}'

Response​

{
"success": true,
"taskId": "task_abc123_1711234567",
"workerId": "-Om8E6V_dV3w8mb27ikb",
"workerName": "My PC",
"data": {
"success": true,
"url": "https://files.browserworker.app/screenshots/..."
},
"duration": 3200
}

Example: Fill a Form and Submit​

[
{ "openNewTab": "https://example.com/login" }, // Navigate to the login page
{ "fill": ["input[name=email]", "user@example.com"] }, // Type email into the input
{ "fill": ["input[name=password]", "mypassword"] }, // Type password
{ "click": "button[type=submit]" }, // Click the submit button
{ "waitForElement": ".dashboard" }, // Wait for dashboard to appear
{ "screenshot": "viewport" } // Take a screenshot
]

Example: Extract Data from a Page​

[
{ "openNewTab": "https://example.com/products" }, // Navigate to the products page
{ "waitForElement": ".product-card" }, // Wait for product cards to load
{
"extractAll": [ // Extract data from all matching elements
".product-card", // CSS selector to match
{
"title": "h3", // Get text from <h3>
"price": ".price", // Get text from .price element
"link": ["a", "href"] // Get href attribute from <a>
}
]
}
]

What's Next?​