Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

ZenRows MCP connector

OAuth 2.1/DCR Developer ToolsAutomation

Connect to ZenRows MCP. Scrape any webpage with anti-bot bypass, render JavaScript-heavy sites, and automate browsers through ZenRows' cloud...

ZenRows MCP connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'zenrowsmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize ZenRows MCP:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'zenrowsmcp_browser_check',
    toolInput: { session_id: 'YOUR_SESSION_ID', selector: 'YOUR_SELECTOR' },
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Scrape records — Scrape any webpage and return its content using ZenRows
  • Selector browser wait for — Wait until an element matching a CSS selector appears in the DOM
  • Navigation browser wait for — Wait for a page navigation to complete after triggering a link or form submission
  • Wait browser — Pause execution for a specified number of milliseconds
  • Uncheck browser — Uncheck a checkbox identified by a CSS selector
  • Type browser — Type text into the focused element character by character, simulating real keyboard input

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

zenrowsmcp_browser_batch # Execute a sequence of browser actions in a single call against an existing session. Actions run sequentially and stop at the first failure unless stop_on_error is false. 3 params

Execute a sequence of browser actions in a single call against an existing session. Actions run sequentially and stop at the first failure unless stop_on_error is false.

Name Type Required Description
actions array required Ordered list of actions to perform. Each action has a 'type' field plus type-specific parameters.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
stop_on_error boolean optional If true (default), stop executing actions when one fails. Set false to continue on errors.
zenrowsmcp_browser_check # Check a checkbox or radio button by CSS selector. 2 params

Check a checkbox or radio button by CSS selector.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_clear_cookies # Clear all cookies for the current browser session. 1 param

Clear all cookies for the current browser session.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_click # Click an element identified by a CSS selector. 2 params

Click an element identified by a CSS selector.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_close # Close a browser session and free its resources. Always call this when done to avoid session leaks. 1 param

Close a browser session and free its resources. Always call this when done to avoid session leaks.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_drag # Drag an element from a source to a target CSS selector. 3 params

Drag an element from a source to a target CSS selector.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
source_selector string required CSS selector for the element to drag from.
target_selector string required CSS selector for the element to drop onto.
zenrowsmcp_browser_evaluate # Execute a JavaScript expression in the page context and return its result. 2 params

Execute a JavaScript expression in the page context and return its result.

Name Type Required Description
script string required JavaScript expression to evaluate in the page context. Return value is serialized to JSON.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_fill # Fill an input, textarea, or contenteditable element with text. 3 params

Fill an input, textarea, or contenteditable element with text.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
value string required Text value to set (fill) or option value to select.
zenrowsmcp_browser_focus # Move keyboard focus to an element identified by a CSS selector. 2 params

Move keyboard focus to an element identified by a CSS selector.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_generate_pdf # Render the current page as a PDF document. 4 params

Render the current page as a PDF document.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
landscape boolean optional Render PDF in landscape orientation (default false).
print_background boolean optional Include CSS background graphics in the PDF (default false).
scale number optional Page scale factor for PDF rendering, 0.1–2 (default 1).
zenrowsmcp_browser_get_accessibility_tree # Return the accessibility tree of the current page for element discovery and screen-reader testing. 1 param

Return the accessibility tree of the current page for element discovery and screen-reader testing.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_get_attribute # Get the value of a specific HTML attribute from an element matching a CSS selector. 3 params

Get the value of a specific HTML attribute from an element matching a CSS selector.

Name Type Required Description
attribute string required HTML attribute name to read, e.g. href, src, data-id.
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_get_cookies # Return all cookies set in the current browser session. 1 param

Return all cookies set in the current browser session.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_get_html # Return the outer HTML of an element or the full page if no selector is given. 2 params

Return the outer HTML of an element or the full page if no selector is given.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
selector string optional CSS selector identifying the target element, e.g. #submit-button or .product-card.
zenrowsmcp_browser_get_text # Return the visible text content of an element or the full page if no selector is given. 2 params

Return the visible text content of an element or the full page if no selector is given.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
selector string optional CSS selector identifying the target element, e.g. #submit-button or .product-card.
zenrowsmcp_browser_get_title # Return the current page title. 1 param

Return the current page title.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_get_url # Return the current page URL. 1 param

Return the current page URL.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_go_back # Navigate to the previous page in the browser history. 1 param

Navigate to the previous page in the browser history.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_go_forward # Navigate to the next page in the browser history. 1 param

Navigate to the next page in the browser history.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_hover # Move the mouse pointer over an element identified by a CSS selector. 2 params

Move the mouse pointer over an element identified by a CSS selector.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_local_storage # Read, write, or clear localStorage in the current page context. 4 params

Read, write, or clear localStorage in the current page context.

Name Type Required Description
action string required Operation: get a value, set a value, or clear all
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
key string optional localStorage key to read or write.
value string optional Text value to set (fill) or option value to select.
zenrowsmcp_browser_navigate # Open a ZenRows browser session and navigate to a URL. Returns a session_id required by all subsequent browser_* tools; always call browser_close when done. 3 params

Open a ZenRows browser session and navigate to a URL. Returns a session_id required by all subsequent browser_* tools; always call browser_close when done.

Name Type Required Description
url string required Full URL to navigate to or scrape (must include scheme, e.g. https://).
proxy_country string optional ISO 3166-1 alpha-2 country code for geo-targeted proxy, e.g. US, GB, DE.
proxy_region string optional World region for geo-targeted proxy: eu, na, ap, sa, af, or me.
zenrowsmcp_browser_new_tab # Open a new browser tab and navigate to a URL in the current session. 2 params

Open a new browser tab and navigate to a URL in the current session.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
url string optional Full URL to navigate to or scrape (must include scheme, e.g. https://).
zenrowsmcp_browser_press_key # Simulate pressing a keyboard key, optionally combined with modifier keys. 2 params

Simulate pressing a keyboard key, optionally combined with modifier keys.

Name Type Required Description
key string required localStorage key to read or write.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_query_selector_all # Return all elements matching a CSS selector as an array of handles. 2 params

Return all elements matching a CSS selector as an array of handles.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_reload # Reload the current page. 1 param

Reload the current page.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_screenshot # Capture a screenshot of the current page or a specific element. 3 params

Capture a screenshot of the current page or a specific element.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
full_page boolean optional Capture the full scrollable page, not just the visible viewport.
selector string optional CSS selector identifying the target element, e.g. #submit-button or .product-card.
zenrowsmcp_browser_scroll # Scroll the page in a given direction by a specified pixel distance. 3 params

Scroll the page in a given direction by a specified pixel distance.

Name Type Required Description
direction string required Scroll direction
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
distance integer optional Pixels to scroll (default 500).
zenrowsmcp_browser_select_option # Select an option in a <select> element by value or label. 3 params

Select an option in a <select> element by value or label.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
value string required Text value to set (fill) or option value to select.
zenrowsmcp_browser_set_cookies # Set one or more cookies in the current browser session. 2 params

Set one or more cookies in the current browser session.

Name Type Required Description
cookies array required Array of cookie objects to set. Each object requires name and value; domain, path, expires, secure, and http_only are optional.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_switch_tab # Switch focus to a different tab in the current session by tab ID. 2 params

Switch focus to a different tab in the current session by tab ID.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
tab_id string required Numeric tab ID returned by browser_new_tab.
zenrowsmcp_browser_type # Type text into the focused element character by character, simulating real keyboard input. 4 params

Type text into the focused element character by character, simulating real keyboard input.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
text string required Text to type character by character into the focused element.
clear_first boolean optional If true, clear the existing field value before typing.
zenrowsmcp_browser_uncheck # Uncheck a checkbox identified by a CSS selector. 2 params

Uncheck a checkbox identified by a CSS selector.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_wait # Pause execution for a specified number of milliseconds. 2 params

Pause execution for a specified number of milliseconds.

Name Type Required Description
ms integer required Milliseconds to pause execution.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_wait_for_navigation # Wait for a page navigation to complete after triggering a link or form submission. 2 params

Wait for a page navigation to complete after triggering a link or form submission.

Name Type Required Description
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
timeout_ms integer optional Maximum milliseconds to wait before timing out.
zenrowsmcp_browser_wait_for_selector # Wait until an element matching a CSS selector appears in the DOM. 3 params

Wait until an element matching a CSS selector appears in the DOM.

Name Type Required Description
selector string required CSS selector identifying the target element, e.g. #submit-button or .product-card.
session_id string required Session ID returned by browser_navigate. Required by all browser_* tools.
visible boolean optional If true, wait until the element is visible in the viewport; if false, wait until present in DOM.
zenrowsmcp_scrape # Scrape any webpage and return its content using ZenRows. Returns clean markdown by default; supports JavaScript rendering, premium proxies, CSS extraction, and structured output. 14 params

Scrape any webpage and return its content using ZenRows. Returns clean markdown by default; supports JavaScript rendering, premium proxies, CSS extraction, and structured output.

Name Type Required Description
url string required Full URL to navigate to or scrape (must include scheme, e.g. https://).
autoparse boolean optional Automatically extract structured data from the page into JSON. Best for product pages, articles, and listings.
css_extractor string optional CSS selector map for targeted extraction, e.g. {"title":"h1","price":".price-tag"}. Returns JSON instead of full page content.
js_instructions string optional JSON array of browser interactions before scraping, e.g. [{"click":"#load-more"},{"wait":1000}]. Requires js_render=true.
js_render boolean optional Enable headless JavaScript rendering. Required for SPAs (React, Vue, Angular) and dynamically loaded content.
outputs string optional Comma-separated data types to extract as structured JSON: emails, headings, links, menus, images, videos, audios. Use * for all.
premium_proxy boolean optional Use premium residential proxies to bypass heavy anti-bot protection. Higher credit cost.
proxy_country string optional ISO 3166-1 alpha-2 country code for geo-targeted proxy, e.g. US, GB, DE.
response_type string optional Output format. 'markdown' (default) preserves structure and is ideal for LLMs. 'plaintext' strips all formatting for pure text extraction. 'pdf' returns a PDF of the page. 'html' returns the raw HTML source (omits the response_type param; ZenRows default). Ignored when autoparse, css_extractor, outputs, or screenshot params are set.
screenshot boolean optional Capture an above-the-fold screenshot instead of text content.
screenshot_fullpage boolean optional Capture a full-page screenshot including content below the fold.
screenshot_selector string optional Capture a screenshot of a specific element by CSS selector instead of the full page.
wait integer optional Milliseconds to wait after page load before capturing. Max 30000. Requires js_render=true.
wait_for string optional CSS selector to wait for before capturing. Requires js_render=true.