> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Browser Use Integration for AI Agents & Workflows

> AI-powered cloud browser automation via the Browser Use API

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img className="block dark:hidden" src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/browser-use-light.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=91b883dea34cc51403b788b02e9b1ee5" alt="Browser Use logo" width="72" height="72" data-path="logos/browser-use-light.svg" />

<img className="hidden dark:block" src="https://mintcdn.com/modulexaillc/zKB2qsP6Q61VNLfB/logos/browser-use-dark.svg?fit=max&auto=format&n=zKB2qsP6Q61VNLfB&q=85&s=1ad743173677bcf5b0decf15e2f88353" alt="Browser Use logo" width="72" height="72" data-path="logos/browser-use-dark.svg" />

## Overview

Add **Browser Use** to any ModuleX agent or workflow. AI-powered cloud browser automation via the Browser Use REST API (`api.browser-use.com/api/v3`). Create agent sessions to perform web tasks, manage standalone browser sessions via CDP, and organize persistent profiles and workspaces.

<Info>
  **Categories**: AI & Machine Learning · Automation · AI · Developer Tools & Infrastructure · **Auth**: API Key · **Actions**: 25
</Info>

## Authentication

### API Key Authentication

Authenticate using your Browser Use API key

<Steps>
  <Step title="Step 1">
    Go to [https://cloud.browser-use.com](https://cloud.browser-use.com) and sign in
  </Step>

  <Step title="Step 2">
    Navigate to your project settings or API Keys section
  </Step>

  <Step title="Step 3">
    Create a new API key or copy your existing one
  </Step>

  <Step title="Step 4">
    Paste the API key below
  </Step>
</Steps>

#### Required Credentials

| Field               | Description                                         | Required | Format                            |
| ------------------- | --------------------------------------------------- | -------- | --------------------------------- |
| Browser Use API Key | Your Browser Use API key from cloud.browser-use.com | Yes      | `bu_xxxxxxxxxxxxxxxxxxxxxxxxxxxx` |

## Available Actions

<AccordionGroup>
  <Accordion title="create_session — Create an agent session, dispatch a task, or dispatch a follow-up task to an existing idle session">
    ### Parameters

    <ResponseField name="task" type="string">
      Natural-language instruction for the agent
    </ResponseField>

    <ResponseField name="model" type="string">
      Browser Use agent model. Allowed values: claude-sonnet-4.6, claude-opus-4.6, gemini-3-flash, bu-mini, bu-max, bu-ultra (Default: `claude-sonnet-4.6`)
    </ResponseField>

    <ResponseField name="session_id" type="string">
      ID of an existing session to dispatch a follow-up task to
    </ResponseField>

    <ResponseField name="keep_alive" type="boolean">
      If true, the session stays idle after the task completes so it can accept follow-up tasks (Default: `false`)
    </ResponseField>

    <ResponseField name="max_cost_usd" type="string">
      Maximum total session cost in USD. Example: 1.50
    </ResponseField>

    <ResponseField name="profile_id" type="string">
      ID of a Browser Use profile to use
    </ResponseField>

    <ResponseField name="workspace_id" type="string">
      ID of a Browser Use workspace to attach
    </ResponseField>

    <ResponseField name="proxy_country_code" type="string">
      Lowercase proxy country code for browser traffic. Examples: us, de, jp. Enter none to disable proxy (Default: `us`)
    </ResponseField>

    <ResponseField name="output_schema" type="object">
      Optional JSON Schema for structured output
    </ResponseField>

    <ResponseField name="enable_scheduled_tasks" type="boolean">
      If true, the agent can create scheduled tasks tied to your project (Default: `false`)
    </ResponseField>

    <ResponseField name="sensitive_data" type="object">
      Key-value pairs available to the agent through secure placeholders. Keys are visible to the model; values are hidden
    </ResponseField>

    <ResponseField name="enable_recording" type="boolean">
      If true, Browser Use records the browser session and returns recording URLs after completion (Default: `false`)
    </ResponseField>

    <ResponseField name="skills" type="boolean">
      If true, enables built-in Browser Use agent skills such as file management (Default: `true`)
    </ResponseField>

    <ResponseField name="agentmail" type="boolean">
      If true, provisions a temporary email inbox for the session (Default: `true`)
    </ResponseField>

    <ResponseField name="cache_script" type="string">
      Controls deterministic script caching. Allowed values: auto, enabled, disabled (Default: `auto`)
    </ResponseField>

    <ResponseField name="use_own_key" type="boolean">
      If true, uses your configured LLM provider key instead of Browser Use managed keys (Default: `false`)
    </ResponseField>

    <ResponseField name="auto_heal" type="boolean">
      When script caching is active, validates cached script output and reruns the full agent if the result looks incorrect (Default: `true`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "status": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "task": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Task"
        },
        "live_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Live Url"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateSessionOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_session — Get the current state, output, live URL, screenshot URL, and cost details for an agent session">
    ### Parameters

    <ResponseField name="session_id" type="string" required>
      ID of the Browser Use agent session
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "status": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "task": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Task"
        },
        "output": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Output"
        },
        "live_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Live Url"
        },
        "screenshot_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Screenshot Url"
        },
        "cost": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cost"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetSessionOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_sessions — List Browser Use agent sessions for the authenticated project">
    ### Parameters

    <ResponseField name="page_number" type="integer">
      Page number to fetch. The first page is 1 (Default: `1`)
    </ResponseField>

    <ResponseField name="page_size" type="integer">
      Number of records to return per page. Maximum: 100 (Default: `20`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "sessions": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Sessions",
          "type": "array"
        },
        "total": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListSessionsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_session — Delete an agent session">
    ### Parameters

    <ResponseField name="session_id" type="string" required>
      ID of the Browser Use agent session to delete
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteSessionOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="stop_session — Stop the current task or stop the entire Browser Use agent session">
    ### Parameters

    <ResponseField name="session_id" type="string" required>
      ID of the Browser Use agent session
    </ResponseField>

    <ResponseField name="strategy" type="string">
      Use task to stop only the current task and keep the session alive, or session to destroy the sandbox entirely. Allowed values: task, session (Default: `session`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "StopSessionOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_session_messages — List messages from a Browser Use agent session, including reasoning, tool calls, browser actions, screenshots, and results">
    ### Parameters

    <ResponseField name="session_id" type="string" required>
      ID of the Browser Use agent session
    </ResponseField>

    <ResponseField name="after" type="string">
      Return messages after this message ID cursor
    </ResponseField>

    <ResponseField name="before" type="string">
      Return messages before this message ID cursor
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Maximum number of messages to return. Maximum: 100 (Default: `10`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "messages": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Messages",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListSessionMessagesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_browser_session — Create a standalone browser session for direct browser control through CDP">
    ### Parameters

    <ResponseField name="profile_id" type="string">
      ID of a Browser Use profile
    </ResponseField>

    <ResponseField name="proxy_country_code" type="string">
      Lowercase proxy country code for browser traffic. Examples: us, de, jp. Enter none to disable proxy (Default: `us`)
    </ResponseField>

    <ResponseField name="timeout" type="integer">
      Session timeout in minutes. Supported range: 1 to 240 (Default: `60`)
    </ResponseField>

    <ResponseField name="browser_screen_width" type="integer">
      Custom browser screen width in pixels. Supported range: 320 to 6144
    </ResponseField>

    <ResponseField name="browser_screen_height" type="integer">
      Custom browser screen height in pixels. Supported range: 320 to 3456
    </ResponseField>

    <ResponseField name="allow_resizing" type="boolean">
      Whether to allow browser resizing during the session (Default: `false`)
    </ResponseField>

    <ResponseField name="custom_proxy" type="object">
      Custom proxy object with host, port, username, and password fields. Requires an active subscription
    </ResponseField>

    <ResponseField name="enable_recording" type="boolean">
      If true, records the browser session (Default: `false`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "status": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "live_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Live Url"
        },
        "cdp_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cdp Url"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateBrowserSessionOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_browser_session — Get details for a standalone browser session, including live URL, CDP URL, status, timeout, and cost fields">
    ### Parameters

    <ResponseField name="browser_session_id" type="string" required>
      ID of the Browser Use browser session
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "status": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Status"
        },
        "live_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Live Url"
        },
        "cdp_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cdp Url"
        },
        "timeout": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Timeout"
        },
        "cost": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cost"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetBrowserSessionOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_browser_sessions — List standalone browser sessions for direct browser control via CDP">
    ### Parameters

    <ResponseField name="page_size" type="integer">
      Number of records to return per page. Maximum: 100 (Default: `20`)
    </ResponseField>

    <ResponseField name="page_number" type="integer">
      Page number to fetch. The first page is 1 (Default: `1`)
    </ResponseField>

    <ResponseField name="filter_by" type="string">
      Filter browser sessions by status. Allowed values: active, stopped
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "items": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Items",
          "type": "array"
        },
        "total_items": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Items"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListBrowserSessionsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_browser_session — Update a standalone browser session. Currently supports the stop action">
    ### Parameters

    <ResponseField name="browser_session_id" type="string" required>
      ID of the Browser Use browser session
    </ResponseField>

    <ResponseField name="action" type="string" required>
      Action to perform on the browser session. Currently supported value: stop (Default: `stop`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateBrowserSessionOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_profile — Create a profile to preserve cookies, local storage, and login state across sessions">
    ### Parameters

    <ResponseField name="name" type="string">
      Optional profile name. Maximum length: 100 characters
    </ResponseField>

    <ResponseField name="user_id" type="string">
      Optional internal user identifier from your system. Maximum length: 255 characters
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateProfileOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_profile — Get a Browser Use profile by ID">
    ### Parameters

    <ResponseField name="profile_id" type="string" required>
      ID of the Browser Use profile
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "User Id"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetProfileOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_profiles — List Browser Use profiles, optionally searching by profile name or user ID">
    ### Parameters

    <ResponseField name="page_size" type="integer">
      Number of records to return per page. Maximum: 100 (Default: `20`)
    </ResponseField>

    <ResponseField name="page_number" type="integer">
      Page number to fetch. The first page is 1 (Default: `1`)
    </ResponseField>

    <ResponseField name="query" type="string">
      Search query for profile name or user ID. Maximum length: 200 characters
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "items": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Items",
          "type": "array"
        },
        "total_items": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Items"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListProfilesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_profile — Delete a Browser Use profile and its persisted browser state">
    ### Parameters

    <ResponseField name="profile_id" type="string" required>
      ID of the Browser Use profile to delete
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteProfileOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_profile — Update a Browser Use profile name or user ID">
    ### Parameters

    <ResponseField name="profile_id" type="string" required>
      ID of the Browser Use profile
    </ResponseField>

    <ResponseField name="name" type="string">
      Updated profile name. Maximum length: 100 characters
    </ResponseField>

    <ResponseField name="user_id" type="string">
      Updated internal user identifier. Maximum length: 255 characters
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "user_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "User Id"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateProfileOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_workspace — Create a workspace for persistent shared file storage across sessions">
    ### Parameters

    <ResponseField name="name" type="string">
      Optional workspace name. Maximum length: 100 characters
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateWorkspaceOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_workspace — Get a Browser Use workspace by ID">
    ### Parameters

    <ResponseField name="workspace_id" type="string" required>
      ID of the Browser Use workspace
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetWorkspaceOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_workspaces — List Browser Use workspaces for persistent shared file storage across sessions">
    ### Parameters

    <ResponseField name="page_size" type="integer">
      Number of records to return per page. Maximum: 100 (Default: `20`)
    </ResponseField>

    <ResponseField name="page_number" type="integer">
      Page number to fetch. The first page is 1 (Default: `1`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "items": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Items",
          "type": "array"
        },
        "total_items": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total Items"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListWorkspacesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_workspace — Delete a Browser Use workspace and its stored files. This cannot be undone">
    ### Parameters

    <ResponseField name="workspace_id" type="string" required>
      ID of the Browser Use workspace to delete
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteWorkspaceOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_workspace — Update a Browser Use workspace name">
    ### Parameters

    <ResponseField name="workspace_id" type="string" required>
      ID of the Browser Use workspace
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Updated workspace name. Maximum length: 100 characters
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateWorkspaceOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_workspace_size — Get storage usage for a Browser Use workspace">
    ### Parameters

    <ResponseField name="workspace_id" type="string" required>
      ID of the Browser Use workspace
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "size_bytes": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Size Bytes"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetWorkspaceSizeOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_workspace_files — List files and folders in a Browser Use workspace, optionally returning presigned download URLs">
    ### Parameters

    <ResponseField name="workspace_id" type="string" required>
      ID of the Browser Use workspace
    </ResponseField>

    <ResponseField name="prefix" type="string">
      Optional directory prefix to list. Example: reports/
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Maximum number of files to return. Maximum: 100 (Default: `50`)
    </ResponseField>

    <ResponseField name="cursor" type="string">
      Pagination cursor from a previous response
    </ResponseField>

    <ResponseField name="include_urls" type="boolean">
      If true, include presigned download URLs for files (Default: `false`)
    </ResponseField>

    <ResponseField name="shallow" type="boolean">
      If true, list only immediate files and folders at the prefix (Default: `false`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "files": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Files",
          "type": "array"
        },
        "cursor": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cursor"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListWorkspaceFilesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="delete_workspace_file — Delete a file from a Browser Use workspace">
    ### Parameters

    <ResponseField name="workspace_id" type="string" required>
      ID of the Browser Use workspace
    </ResponseField>

    <ResponseField name="path" type="string" required>
      Relative workspace file path to delete. Example: reports/data.csv
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "DeleteWorkspaceFileOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="upload_workspace_files — Create presigned upload URLs for workspace files">
    ### Parameters

    <ResponseField name="workspace_id" type="string" required>
      ID of the Browser Use workspace
    </ResponseField>

    <ResponseField name="prefix" type="string">
      Optional directory prefix to upload into. Example: uploads/
    </ResponseField>

    <ResponseField name="files_json" type="string" required>
      JSON array of file metadata objects. Each object has name (required), contentType (optional), and size (optional integer). 1 to 10 files per request
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "files": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Files",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "UploadWorkspaceFilesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_account_billing — Get account billing details for the authenticated project">
    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetAccountBillingOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* No publicly documented request rate limits at the time of writing.
* Agent sessions are billed by runtime and model usage; `max_cost_usd`
  parameter available to cap spend per session.
* Browser sessions are billed by runtime and can run up to 4 hours.
* Error model: non-2xx responses and timeouts are caught and returned
  as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="HeyGen" href="/integrations/tools/heygen" />

  <Card title="Algolia" href="/integrations/tools/algolia" />

  <Card title="Amazon Alexa" href="/integrations/tools/amazon-alexa" />
</CardGroup>

## Links

* [Browser Use](https://browser-use.com)
