Actions DSL

All commands are executed via POST /v1/browser/action with the action name and parameters.

{
  "session_id": "sess_xxxx",
  "action": "navigate",
  "params": { "url": "https://example.com" }
}

navigate

Navigate the browser to a URL.

ParamTypeDefaultDescription
urlstringrequiredTarget URL including protocol
wait_untilstringnetworkidleload, domcontentloaded, or networkidle
timeout_msnumber30000Max wait time in milliseconds

Result:

{
  "url": "https://example.com",
  "title": "Example Domain",
  "status_code": 200,
  "load_time_ms": 847
}

Credit cost: 1


get_a11y_tree

Extract the accessibility tree from the current page. This is the primary tool for LLM consumption — 77% fewer tokens than a screenshot.

ParamTypeDefaultDescription
include_hiddenbooleanfalseInclude aria-hidden elements
root_selectorstringnullScope to a specific CSS selector

Result:

{
  "tree": "- heading \"Example Domain\" [level=1]\n- link \"More information...\"",
  "node_count": 12,
  "estimated_tokens": 340
}

Credit cost: 1


click

Click an element by CSS selector or accessible label.

ParamTypeDefaultDescription
selectorstringnullCSS selector
labelstringnullAccessible name from a11y tree
buttonstringleftleft, right, or middle
click_countnumber1Number of clicks
wait_after_msnumber0Wait after clicking (for animations)

Use label when possible — it's more reliable than CSS selectors across page changes.

Credit cost: 1


fill

Type text into an input, textarea, or contenteditable element.

ParamTypeDefaultDescription
selectorstringnullCSS selector
labelstringnullAccessible label
valuestringrequiredText to type
clear_firstbooleantrueClear existing value first

Credit cost: 1


select

Select an option from a <select> element.

ParamTypeDefaultDescription
selectorstringnullCSS selector
valuestringnullOption value
label_textstringnullVisible option text

Credit cost: 1


scroll

Scroll the page or a specific element.

ParamTypeDefaultDescription
directionstringdownup, down, left, right
amountnumber500Pixels to scroll
selectorstringnullScroll within a specific element

Credit cost: 1


wait_for

Wait for a condition before proceeding.

ParamTypeDescription
typestringselector, text, url, or timeout
valuestringCSS selector, text to find, URL pattern, or milliseconds
statestringFor selectors: visible, hidden, attached, detached
timeout_msnumberMax wait time (default: 10000)

Credit cost: 0


screenshot

Capture a screenshot within an active session.

ParamTypeDefaultDescription
selectorstringnullScreenshot a specific element
full_pagebooleanfalseCapture full scrollable page
formatstringpngpng or jpeg

Result:

{
  "url": "https://s3.amazonaws.com/rove-artifacts/scr_xxxx.png?...",
  "expires_at": "2026-04-20T10:00:00Z"
}

Credit cost: 1


get_text

Extract text content from an element.

ParamTypeDescription
selectorstringCSS selector
trimbooleanTrim whitespace (default: true)

Result:

{ "text": "$49.99" }

Credit cost: 1


get_attribute

Get an attribute value from an element.

ParamTypeDescription
selectorstringCSS selector
attributestringAttribute name (e.g. href, src)

Credit cost: 1


evaluate

Execute JavaScript in the browser context. Power-user escape hatch.

ParamTypeDescription
expressionstringJavaScript expression to evaluate

Result:

{
  "value": 23,
  "type": "number"
}

Credit cost: 1


close_session

Close a session and trigger artifact upload (if video was recorded).

Returns artifact URLs if record_video was enabled.

Credit cost: 0


Credit Cost Summary

ActionCredits
navigate1
get_a11y_tree1
click1
fill1
select1
scroll1
wait_for0
screenshot1
get_text1
get_attribute1
evaluate1
close_session0