Skip to content

Browser extensions

Augment your browser sessions with your own Chrome extensions.

Updated View as Markdown

You can load your own Chrome extensions into Browsers sessions.

Sample extension

Here’s a simple example extension that modifies page titles. It consists of two files:

{
    "manifest_version": 3,
    "version": "1.0",
    "name": "My Test Extension",
    "description": "Test of a simple browser extension",
    "content_scripts": [
        {
            "matches": [
                "https://www.sfmoma.org/*"
            ],
            "js": [
                "content-script.js"
            ]
        }
    ]
}
document.title += " -- Title updated by browser extension";

Upload your extension

Once you have your extension files zipped up, you can upload it using the SDK:

import { Browsers } from '@agentmq/browsers';
import fs from 'fs';

const browsers = new Browsers({ apiKey: process.env.AGENTMQ_TOKEN });

const file = fs.createReadStream('extension.zip');
const extension = await browsers.extensions.create({ file });

const extensionId = extension.id;
console.log(`Extension uploaded with ID: ${extensionId}`);
from agentmq.browsers import Browsers
import os

browsers = Browsers(api_key=os.environ["AGENTMQ_TOKEN"])

with open("extension.zip", "rb") as f:
    extension = browsers.extensions.create(file=f)

extension_id = extension.id
print(f"Extension uploaded with ID: {extension_id}")

Create a session with your extension

To use your extension, create a new session with the extension enabled:

import { Browsers } from '@agentmq/browsers';

const browsers = new Browsers({ apiKey: process.env.AGENTMQ_TOKEN });

const session = await browsers.sessions.create({
    extensionId: 'your-extension-id'
});

console.log(`Session created with ID: ${session.id}`);
from agentmq.browsers import Browsers
import os

browsers = Browsers(api_key=os.environ["AGENTMQ_TOKEN"])

session = browsers.sessions.create(
    extension_id="your-extension-id"
)

print(f"Session created with ID: {session.id}")

Verify the extension

To verify your extension is working:

  1. Connect to your session using Playwright or Selenium
  2. Navigate to a page where your extension should be active
  3. Check for the expected modifications or behaviors

For the sample extension above, navigate to https://www.sfmoma.org and verify that the page title has been modified with the additional text.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close