/browser-automation | Type: Embedded | PCID required: No
AI-powered browser automation using natural language or Playwright code. Navigates, clicks, fills forms, extracts data, and downloads files.
For a guided walkthrough, see the Browser Automation guide.
Tools
| Tool | Description |
|---|---|
operator_run | Start a browser task using natural language |
operator_run_continue | Poll for Browser Operator completion |
playwright_run | Run Playwright JavaScript code in a cloud browser |
playwright_run_continue | Poll for Playwright completion |
logins_list | List saved browser login contexts |
operator_run
Start a browser automation task using natural language. Returns immediately with asessionId — poll with operator_run_continue until complete.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
task | string | Yes | — | Natural language task description. Write as a single line. Be specific: include starting URL, action, target elements, and sample data. |
cacheKey | string | Yes | — | Unique 8-character alphanumeric string. Generate a new one each time you change the task. |
model | string | No | google/gemini-3-flash-preview | AI model. Options: google/gemini-3-flash-preview, google/gemini-2.5-flash, google/gemini-2.5-pro, openai/gpt-4o, openai/gpt-4o-mini, anthropic/claude-sonnet-4 |
agentMode | string | No | hybrid | Interaction mode: dom (CSS selectors), hybrid (visual + DOM), cua (Computer Use Agent) |
maxSteps | number | No | 30 | Max actions the agent can take (1–100). Increase for complex multi-page tasks. |
systemPrompt | string | No | — | Role/context for the agent (e.g. “You are filling out insurance forms”) |
region | string | No | us-west-2 | Server region: us-west-2, us-east-1, eu-central-1, ap-southeast-1 |
proxies | boolean | No | false | Enable residential proxies for sites that block datacenter IPs |
advancedStealth | boolean | No | false | Advanced anti-detection measures |
blockAds | boolean | No | true | Block advertisements |
solveCaptchas | boolean | No | true | Automatically solve CAPTCHAs |
recordSession | boolean | No | true | Enable session recording for replay |
viewportWidth | number | No | 1288 | Browser viewport width in pixels |
viewportHeight | number | No | 711 | Browser viewport height in pixels |
disableCache | boolean | No | false | Bypass caching and force fresh execution |
cacheDurationDays | number | No | 7 | Cache expiration in days (1–30) |
filesToUpload | object[] | No | — | Files for upload: [{ url: "https://...", fileName: "doc.pdf" }] |
collectionId | string | No | — | Filestorage collection ID for output files |
useContextService | string | No | — | Saved login context ID (from logins_list) |
| Field | Type | Description |
|---|---|---|
status | string | "RUNNING" |
sessionId | string | Session ID for polling |
collectionId | string | Collection ID for log/file access |
buildId | string | Build identifier |
logFileName | string | Log file name for streaming |
operator_run_continue
Poll for completion of a running Browser Operator task. Call every 3–5 seconds untilstatus is "completed" or "failed".
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
sessionId | string | Yes | Session ID from operator_run |
logFileName | string | No | Log file name from operator_run. Enables live log streaming. |
collectionId | string | No | Collection ID from operator_run. Required with logFileName for log content. |
| Field | Type | Description |
|---|---|---|
status | string | "completed", "failed", or "RUNNING" |
sessionId | string | Session ID |
result | string | Task completion summary |
files | object[] | Output files. Each has fileName, size, url, mimeType, source. |
logContent | string | Session log (if logFileName was provided) |
playwright_run
Run Playwright JavaScript code in a remote cloud browser. Apage variable is pre-configured — you don’t need to launch a browser. Returns immediately — poll with playwright_run_continue.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
code | string | Yes | Playwright JavaScript code. page is pre-configured. Return { writeToCollection: true, fileName: "data.json", fileContent: "..." } to save files. |
bindingData | object | No | Key-value pairs injected into the code as variables. Must be an object, not a string. |
buildId | string | No | For predictable file naming. Files become {buildId}-filename.json. |
collectionId | string | No | Filestorage collection ID for output files |
useContextService | string | No | Saved login context ID (from logins_list) |
| Field | Type | Description |
|---|---|---|
status | string | "RUNNING" |
sessionId | string | Session ID for polling |
buildId | string | Build identifier |
collectionId | string | Collection ID |
logFileName | string | Log file name |
playwright_run_continue
Poll for completion of a running Playwright task. Call every 3–5 seconds untilstatus is "completed" or "failed".
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
sessionId | string | Yes | Session ID from playwright_run |
operator_run_continue, plus browserOutput (raw Playwright return value) and logs (Playwright console output).
Example:
logins_list
List saved browser login contexts. These are pre-authenticated sessions that can be reused with theuseContextService parameter.
Parameters: None
Response fields:
| Field | Type | Description |
|---|---|---|
count | number | Number of saved contexts |
contexts | object[] | Array of login contexts |
contexts[].id | string | Context ID (use as useContextService) |
contexts[].label | string | Display label |
contexts[].service | string | Service name (e.g. linkedin) |
contexts[].loginUrl | string | Login URL |
contexts[].status | string | Context status |
contexts[].createdAt | string | Creation timestamp |

