Browser actions
Click, fill and wait for elements before collecting content with the CrawlVolt Browse API.
POST /v1/browse opens a page, executes actions sequentially, and extracts the resulting page with the same formats as POST /v1/scrape.
Supported actions
Wait for an element
{ "action": "wait", "selector": "main[data-ready=true]", "timeout_ms": 10000 }Fill or type
Use fill for ordinary controlled inputs and type when the page depends on keyboard events.
{ "action": "fill", "selector": "input[name=email]", "value": "agent@example.com" }{ "action": "type", "selector": "input[role=combobox]", "text": "Paris" }Click
{ "action": "click", "selector": "button[type=submit]" }Scroll
Offsets are CSS pixels and may be negative.
{ "action": "scroll", "x": 0, "y": 800 }Sleep
Use a fixed delay only when the page has no observable selector to wait for.
{ "action": "sleep", "ms": 500 }Result model
action_results is ordered exactly like the request. The final outputs block is compatible with the V1 extraction response.
{
"action_results": [
{ "action": "fill", "ok": true, "detail": "ok" },
{ "action": "click", "ok": true },
{ "action": "wait", "ok": true }
],
"outputs": { "markdown": "# Search results\n..." },
"credits_used": 2,
"billing": { "billable": true, "units": 2, "unit": "credit" }
}Browse costs two credits per started browser minute. action_count remains in
the response for observability but does not create a separate commercial quota.
Each request accepts at most 25 actions, 32 KiB per text value, 2,048 characters per selector, 5 seconds per sleep, and 15 seconds of cumulative sleep. Action requests bypass the render cache.