Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

ZenRows MCP connector

OAuth 2.1/DCRDeveloper 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.

NameTypeRequiredDescription
actionsarrayrequiredOrdered list of actions to perform. Each action has a 'type' field plus type-specific parameters.
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
stop_on_errorbooleanoptionalIf 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
source_selectorstringrequiredCSS selector for the element to drag from.
target_selectorstringrequiredCSS 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.

NameTypeRequiredDescription
scriptstringrequiredJavaScript expression to evaluate in the page context. Return value is serialized to JSON.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
valuestringrequiredText 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
landscapebooleanoptionalRender PDF in landscape orientation (default false).
print_backgroundbooleanoptionalInclude CSS background graphics in the PDF (default false).
scalenumberoptionalPage 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
attributestringrequiredHTML attribute name to read, e.g. href, src, data-id.
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
selectorstringoptionalCSS 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
selectorstringoptionalCSS 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
actionstringrequiredOperation: get a value, set a value, or clear all
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
keystringoptionallocalStorage key to read or write.
valuestringoptionalText 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.

NameTypeRequiredDescription
urlstringrequiredFull URL to navigate to or scrape (must include scheme, e.g. https://).
proxy_countrystringoptionalISO 3166-1 alpha-2 country code for geo-targeted proxy, e.g. US, GB, DE.
proxy_regionstringoptionalWorld 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
urlstringoptionalFull 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.

NameTypeRequiredDescription
keystringrequiredlocalStorage key to read or write.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
zenrowsmcp_browser_reload#Reload the current page.1 param

Reload the current page.

NameTypeRequiredDescription
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
full_pagebooleanoptionalCapture the full scrollable page, not just the visible viewport.
selectorstringoptionalCSS 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.

NameTypeRequiredDescription
directionstringrequiredScroll direction
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
distanceintegeroptionalPixels 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
valuestringrequiredText 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.

NameTypeRequiredDescription
cookiesarrayrequiredArray of cookie objects to set. Each object requires name and value; domain, path, expires, secure, and http_only are optional.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
tab_idstringrequiredNumeric 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
textstringrequiredText to type character by character into the focused element.
clear_firstbooleanoptionalIf 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
msintegerrequiredMilliseconds to pause execution.
session_idstringrequiredSession 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.

NameTypeRequiredDescription
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
timeout_msintegeroptionalMaximum 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.

NameTypeRequiredDescription
selectorstringrequiredCSS selector identifying the target element, e.g. #submit-button or .product-card.
session_idstringrequiredSession ID returned by browser_navigate. Required by all browser_* tools.
visiblebooleanoptionalIf 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.

NameTypeRequiredDescription
urlstringrequiredFull URL to navigate to or scrape (must include scheme, e.g. https://).
autoparsebooleanoptionalAutomatically extract structured data from the page into JSON. Best for product pages, articles, and listings.
css_extractorstringoptionalCSS selector map for targeted extraction, e.g. {"title":"h1","price":".price-tag"}. Returns JSON instead of full page content.
js_instructionsstringoptionalJSON array of browser interactions before scraping, e.g. [{"click":"#load-more"},{"wait":1000}]. Requires js_render=true.
js_renderbooleanoptionalEnable headless JavaScript rendering. Required for SPAs (React, Vue, Angular) and dynamically loaded content.
outputsstringoptionalComma-separated data types to extract as structured JSON: emails, headings, links, menus, images, videos, audios. Use * for all.
premium_proxybooleanoptionalUse premium residential proxies to bypass heavy anti-bot protection. Higher credit cost.
proxy_countrystringoptionalISO 3166-1 alpha-2 country code for geo-targeted proxy, e.g. US, GB, DE.
response_typestringoptionalOutput 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.
screenshotbooleanoptionalCapture an above-the-fold screenshot instead of text content.
screenshot_fullpagebooleanoptionalCapture a full-page screenshot including content below the fold.
screenshot_selectorstringoptionalCapture a screenshot of a specific element by CSS selector instead of the full page.
waitintegeroptionalMilliseconds to wait after page load before capturing. Max 30000. Requires js_render=true.
wait_forstringoptionalCSS selector to wait for before capturing. Requires js_render=true.