Skip to main content
Upload an extension to your account, then pass its UUID when starting a browser. You can load up to five extensions in one session.

Upload

Package an unpacked Chrome extension as a ZIP with manifest.json at the archive root. If you have a .crx, extract the extension files with a CRX-compatible tool before creating the ZIP.
Save the top-level uuid from the response. Use the returned value as-is in subsequent requests.

Use

Include extensions in a one-time or persistent-profile start request:
The extension is loaded into the browser for that session. Check its permissions and configuration before using it against your target site.

Manage

List the account’s extensions:
Rename an extension with a JSON request:
Delete an extension you no longer need:
To update extension code, upload a new ZIP and use its new UUID on the next browser start. The rename endpoint does not replace an archive. Deleting an upload does not change the copy already loaded in a running browser.

Persisting extension state

To retain extension data between sessions, enable extension storage when creating a persistent profile:
Supply the extension UUIDs on each start. The storage option preserves extension state; it does not select which extensions to load.

Limits and failure modes

If a page behaves differently with an extension loaded, compare the same workflow without it. Content scripts and request modifications can change both the page and the signals it observes. Use DevTools to inspect those differences.