Skip to main content
Browser Actions gives you full control over the sequence of actions performed in the browser, ensuring predictable and repeatable results. You manually specify each step like click, scroll, wait, or type. Common uses:
  • Load more content: Click “Show more” buttons or scroll to reveal additional items.
  • Set filters: Select dropdowns, checkboxes, or date ranges to refine displayed data.
  • Submit searches: Enter search terms and submit forms to access results pages.
  • Trigger lazy-loaded data: Scroll to load images, products, or infinite feeds.

When to use

Use Browser Actions when you need:
  • Predictable execution: Same steps run every time
  • Full control: Specify exact actions and sequences
  • Fast performance: No AI inference overhead
Browser Action flows may break when page structure or selectors change. Monitor and update your flows as needed.

Parameters

render
boolean
default:"false"
required
Must be set to true to use browser actions. This enables the browser to execute JavaScript and perform interactions.Browser actions only work when the page is rendered in a real browser environment.
Example:
browser_actions
array
A list of actions to perform in sequence on the page. Each action is an object specifying what to do (click, scroll, wait, type, etc.).Actions execute in order - the second action waits for the first to complete, and so on.Global timeout: All actions must complete within 240 seconds total.Available actions:
  • goto - Navigate to a different URL
  • wait - Pause for a specified duration
  • wait_for_element - Wait for an element to appear
  • click - Click an element
  • press - Press a keyboard key (Enter, Tab, Escape, etc.)
  • fill - Type or paste text into an input field
  • scroll - Scroll the page by pixels or to an element
  • auto_scroll - Automatically scroll to load lazy content
  • screenshot - Capture a screenshot
  • get_cookies - Extract cookies from the page
  • fetch - Make HTTP requests from the browser context
Each action has specific parameters detailed in the sections below.
Example:
All browser actions execute sequentially within a global 240-second timeout. If any action fails, the entire flow stops unless marked as optional.

Usage

Add a delay between actions to simulate human behavior or allow elements to load.Parameters:Direct form - Pass duration as a string:
  • wait (required) - Duration string (e.g., “2s”, “500ms”, “1.5s”)
Extended form - Use object with options:
  • duration (required) - Duration string (e.g., “2s”, “500ms”, “1.5s”)
  • required (optional) - Set to false to make this step optional (boolean, default: true)
Wait for DOM elements to appear on the page.Parameters:Direct form - Pass single selector or array of selectors:
  • wait_for_element (required) - CSS selector string or array of selectors to wait for (any one matching triggers success)
Extended form - Use object with options:
  • selector (required) - CSS selector string or array of selectors to wait for
  • timeout (optional) - Maximum time in milliseconds to wait (number, default: 30000)
  • visible (optional) - Whether element must be visible (boolean, default: true)
Click on an element by selector or at specific coordinates.Parameters:Direct form - Pass CSS selector as string:
  • click (required) - CSS selector string
Extended form (selector mode) - Use object with selector options:
  • selector (required) - CSS selector of element to click (string)
  • timeout (optional) - Maximum time to wait for element (Duration string, default: ”30s”)
  • visible (optional) - Whether element must be visible (boolean, default: true)
  • delay (optional) - Delay before clicking (Duration string, default: “0ms”)
  • scroll (optional) - Whether to scroll element into view (boolean, default: true)
  • count (optional) - Number of times to click (number, default: 1)
  • steps (optional) - Mouse movement steps for granular control (number, advanced)
  • strategy (optional) - Mouse movement strategy for behavioral simulation (advanced)
  • required (optional) - Set to false to make this step optional (boolean, default: true)
Extended form (coordinates mode) - Click at specific coordinates:
  • x (required) - X coordinate (horizontal position, number)
  • y (required) - Y coordinate (vertical position, number)
  • relative_to (optional) - CSS selector to make coordinates relative to this element (string)
  • timeout (optional) - Maximum time for the click operation (Duration string, default: ”15s”)
  • delay (optional) - Delay before clicking (Duration string, default: “0ms”)
  • count (optional) - Number of times to click (number, default: 1)
  • steps (optional) - Mouse movement steps for granular control (number, advanced)
  • required (optional) - Set to false to make this step optional (boolean, default: true)
Press a keyboard key like Enter, Tab, Escape, or arrow keys.Parameters:Direct form - Pass key name as a string:
  • press (required) - Key name to press (e.g., “Enter”, “Tab”, “Escape”, “ArrowDown”)
Extended form - Use object with options:
  • key (required) - Key name to press (string)
  • delay (optional) - Delay in milliseconds before pressing (number, default: 0)
Fill an input field with text. Supports both typing (character-by-character) and pasting (instant) modes.Parameters:Extended form only - No direct form available:
  • selector (required) - CSS selector of the input element (string)
  • value (required) - Text value to fill (string)
  • mode (optional) - Fill mode: 'type' for character-by-character (default), 'paste' for instant (string)
  • timeout (optional) - Maximum time to wait for element in milliseconds (number, default: 30000)
  • typing_interval (optional) - Interval between keystrokes in milliseconds when typing (number, default: 100, min: 10, max: 1000)
  • click_on_element (optional) - Whether to click on element to focus it (boolean, default: true)
  • scroll (optional) - Whether to scroll element into view (boolean, default: true)
  • visible (optional) - Whether element must be visible (boolean, default: true)
  • delay (optional) - Delay in milliseconds before filling (number, default: 0)
  • mouse_movement_strategy (optional) - Mouse movement strategy for behavioral simulation (advanced)
  • typing_strategy (optional) - Typing strategy for behavioral simulation (advanced)
  • required (optional) - Set to false to make this step optional (boolean, default: true)
Scroll the page by pixels, to a position, or to an element.Parameters:Direct form - Pass number or string:
  • scroll: 500 - Scroll Y pixels (number, positive = down, negative = up)
  • scroll: "bottom" - Scroll to bottom of page (string)
  • scroll: "#comments" - Scroll to element matching selector (string)
Extended form - Use object with options:
  • y (optional) - Vertical scroll distance in pixels (number, default: 0)
  • x (optional) - Horizontal scroll distance in pixels (number, default: 0)
  • to (optional) - CSS selector to scroll to (string, alternative to x/y)
  • container (optional) - CSS selector of container element to scroll within (string)
  • visible (optional) - Whether element must be visible when scrolling to it (boolean, default: true)
  • required (optional) - Set to false to make this step optional (boolean, default: true)
Automatically scroll the page to load dynamic content (infinite scroll). Continuously scrolls until content stops loading or timeout is reached.Parameters:Direct form - Pass boolean or number:
  • auto_scroll: true - Use default settings
  • auto_scroll: 30000 - Max duration in milliseconds
Extended form - Use object with options:
  • max_duration (optional) - Maximum duration in milliseconds to scroll (number, default: 25000)
  • delay_after_scroll (optional) - Delay in milliseconds between scroll steps (number, default: 200)
  • step_size (optional) - Pixels to scroll per step (number, defaults to viewport height)
  • click_selector (optional) - CSS selector to click before scrolling (string, e.g., “Load More” button)
  • container (optional) - CSS selector of container element to scroll within (string)
  • idle_timeout (optional) - Stop scrolling after this many milliseconds of no new content (number, default: 7000)
  • pause_on_selector (optional) - Pause scrolling if this selector appears above the cursor position (string)
  • required (optional) - Set to false to make this step optional (boolean, default: true)
Auto scroll continuously scrolls the page until idle_timeout milliseconds pass with no new content appearing, or until max_duration is reached. Use click_selector to handle “Load More” buttons.
Capture a screenshot of the page and return as base64-encoded image.Parameters:Direct form - Pass boolean to capture full page screenshot:
  • screenshot (required) - Set to true to capture full page PNG screenshot
Extended form - Use object with options:
  • full_page (optional) - Capture full scrollable page (boolean, default: true)
  • format (optional) - Image format: 'png' (default), 'jpeg', or 'webp'
  • quality (optional) - Image quality for jpeg/webp (number, 0-100, default: 90)
Retrieve all cookies set in the browser for the current page.Parameters:Direct form - Pass boolean to get all cookies:
  • get_cookies (required) - Set to true to retrieve all cookies
Extended form - Use object with options:
  • domain (optional) - Domain filter for cookies (string, e.g., “.example.com”)
Make HTTP requests from the browser context and return the response.Parameters:Direct form - Pass URL as a string:
  • fetch (required) - URL for the HTTP request (GET method)
Extended form - Use object with options:
  • url (required) - URL to request (string)
  • method (optional) - HTTP method: 'GET' (default), 'POST', 'PUT', 'DELETE', 'PATCH', etc.
  • headers (optional) - HTTP headers to send as key-value object
  • body (optional) - Request body as string (for POST, PUT, PATCH)
  • timeout (optional) - Maximum time in milliseconds to wait for response (number, default: 15000)
The first fetch in a browser_actions is free. Starting from the second request, each additional fetch is billed as a VX6 request.
You can chain multiple actions together in the browser_actions array. They execute sequentially.

Example response

When browser actions complete successfully, you’ll receive the final page state along with any data captured. The response includes:
  • data: All related extacted data
    • data.html: Final DOM state after all actions
    • data.screenshot: Page screenshot if used
    • data.cookies: Collected cookies if get_cookies was used by order
    • data.fetch: HTTP response if fetch was used by order
  • metadata: Execution details including task id, driver used, execution time and more
    • metadata.browser_actions: The browser actions results per step

Best practices

Use required parameter for optional steps

Make non-critical steps optional:

Chain actions with appropriate waits

Add delays between actions:

Use specific selectors

Be precise with CSS selectors:

Optimize auto scroll parameters

Set appropriate scroll limits: