Browser Control

Stagehand-driven browser automation.

3 actions. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.

browser.do

POST · mutating

Drive a real browser with a natural-language instruction. Use this when an action is not available via direct API integration (e.g. some TikTok flows, app-only LinkedIn features, or anything behind login), or to READ data from a site that has no API by passing mode:"extract" + a url (e.g. scrape itch.io comments off the public page). missionId is optional — omit it for ad-hoc reads from chat. Returns a live-view URL if Browserbase is configured.

When the agent calls it: Prefer the direct platform tools (composio_*) when available; only fall back to browser.do for actions that aren't exposed as tools. To READ a page that has no API (comments, listings, prices), call with mode:'extract', a url, and an instruction describing what to pull. No missionId needed; for public pages no connection is needed either.

  • AI tool: browser_do
  • API: POST /api/invoke/browser.do

Input

Field Type Required Description
missionId string
instruction string yes
url string
mode "act" | "agent" | "extract"
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "missionId": {
      "type": "string",
      "minLength": 1
    },
    "instruction": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "format": "uri"
    },
    "mode": {
      "default": "act",
      "type": "string",
      "enum": [
        "act",
        "agent",
        "extract"
      ]
    }
  },
  "required": [
    "instruction"
  ]
}

browser.live_view

GET

Get the live-view URL for a mission's active browser session, if any.

  • AI tool: browser_live_view
  • API: GET /api/invoke/browser.live_view

Input

Field Type Required Description
missionId string yes
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "missionId": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "missionId"
  ]
}

browser.close

POST · mutating

Close the browser session for a mission.

  • AI tool: browser_close
  • API: POST /api/invoke/browser.close

Input

Field Type Required Description
missionId string yes
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "missionId": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "missionId"
  ]
}