novada_browser
Control a web browser to click, type, scroll, take screenshots, and run JavaScript. Chain up to 20 actions per call for login flows, form submission, or scraping interactive pages.
Instructions
Use when you need to interact with a web page — click buttons, fill forms, scroll, take screenshots, or execute JavaScript. Chain multiple actions in one call for efficiency.
Best for: Login flows, paginated content, interactive SPAs, form submission, visual verification, scraping behind user interactions. Not for: Simple page reading (use novada_extract), structured data (use novada_scrape), raw HTML (use novada_unblock). Actions: navigate, click, type, screenshot, aria_snapshot, evaluate, wait, scroll, hover, press_key, select — up to 20 per call. Sessions: Pass session_id to maintain state (cookies, login) across multiple calls. Sessions expire after 10 min of inactivity. Use close_session to release early. Requires: NOVADA_BROWSER_WS environment variable. Platform note: TikTok is geo-restricted in some regions — pass country="us" in actions that support it. Use wait with domcontentloaded (never networkidle) for SPAs. Constraint: close_session and list_sessions must be the only action in the call — they cannot be combined with other actions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actions | Yes | Array of browser actions to execute sequentially. Max 20 per call. Each action MUST use the discriminated union format: {action: "<type>", ...fields}. Examples: {action: "navigate", url: "https://example.com"} | {action: "click", selector: "#btn"} | {action: "type", selector: "#input", text: "hello"} | {action: "wait", ms: 2000} | {action: "screenshot"} | {action: "aria_snapshot"}. Do NOT use string format ("navigate") or object-key format ({navigate: "url"}) — both are invalid. | |
| country | No | ISO 2-letter country code for browser exit node (e.g. 'us', 'gb'). Required for platforms with geo-restrictions (TikTok is banned in India — use country='us'). Omit for no targeting. | |
| timeout | Yes | Total timeout for all actions in ms. Default 60000. | |
| session_id | No | Optional session ID for persistent browser state across calls. Reuses the same browser page (cookies, localStorage, login state). Warm reuse is ~5x faster (~1.5s vs ~8s cold start). Sessions expire after 10 minutes of inactivity. |