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"
]
}