ZenRows MCP
@ZenRows
About ZenRows MCP
ZenRows MCP lets AI agents scrape any webpage and return clean markdown, HTML, or structured JSON. Bypasses anti-bot protection, renders JavaScript (React/Vue/Angular), and supports premium residential proxies. Works out of the box — no local install required.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"zenrows": {
"command": "npx",
"args": [
"-y",
"@zenrows/mcp"
],
"env": {
"ZENROWS_API_KEY": "<YOUR_API_KEY>"
}
}
}
}Tools
43Scrape any webpage and return its content using Zenrows (Fetch). Use for full-page content (markdown/HTML/PDF/screenshot). For structured JSON fields (products, articles, listings), prefer the extract tool when it fits — it returns parsed fields instead of a full page body. When to enable options: - js_render: page uses React/Vue/Angular, loads content dynamically, or content appears missing on the first attempt - premium_proxy: site returns 403/blocked errors even with js_render enabled - wait_for: specific content loads after initial render (requires js_render) Examples: Basic: { url: "https://example.com" } Dynamic: { url: "https://spa.com", js_render: true } Protected:{ url: "https://protected.com", js_render: true, premium_proxy: true }
Extract structured data from a webpage via Zenrows. Prefer this over scrape when you need JSON fields (products, articles, listings) rather than a full page body. Modes: - auto (default): extract=auto — site-tailored Extract (open beta; currently free, billing may apply later; may fall back to autoparse if the domain is not enabled) - autoparse: general-purpose structured JSON on any domain - css: css_extractor with an explicit selector map Stealth: js_render, premium_proxy, proxy_country, or mode_auto (Adaptive Stealth Mode). For full-page markdown/HTML/screenshots, use scrape instead.
Submit a cloud Batch job that fans out many URLs asynchronously (Zenrows Batch API beta). NOT the same as browser_batch — this hits https://async.api.zenrows.com/v1 with X-API-Key. Use for large URL lists; prefer scrape/extract for one-off pages. Returns job_id + latest_run.status/stats. Poll with batch_status / batch_wait, then batch_results. If you get BATCH_ACCESS_DENIED, the account lacks Batch beta access.
Get status and stats for a Zenrows Batch job (latest_run.status + latest_run.stats).
List result rows for a Batch job (cursor-paginated server-side; returns the full list). Each row may include task_id, external_id, status, and a short-lived result_url for the body. Download result_url soon — presigned links expire.
Stop an in-flight Batch job run (POST /jobs/:id/stop).
Poll batch_status until the job reaches a terminal state (completed, stopped, or deleted).
Open a Zenrows Browser Sessions session and navigate to a URL. This is the entry point for all browser automation. It creates a new session backed by Zenrows' anti-bot infrastructure and navigates to the given URL in one step. Returns a session_id that must be passed to every subsequent browser_* tool call. Always call browser_close when done to close the session and free resources. When to use options: - proxy_country: geo-restricted content (ISO 3166-1 alpha-2, e.g. "US", "DE") - proxy_region: world region for geo-targeted proxy (eu, na, ap, sa, af, me)
Close a browser session and free all associated resources. Always call this when done to release the browser slot.
Navigate back to the previous page in the browser history.
Navigate forward to the next page in the browser history.
Reload the current page.
Click an element on the page using a CSS selector. Use browser_get_accessibility_tree first to find the right selector.
Move the mouse cursor over an element to trigger hover effects.
Type text into an input element. Appends to existing content unless clear_first is set.
Clear an input field and set its value. Preferred over browser_type when replacing the full value.
Select an option from a <select> dropdown element.
Check a checkbox or radio button.
Uncheck a checkbox.
Move focus to an element, triggering focus-dependent UI changes.
Press a keyboard key. Examples: "Enter", "Tab", "Escape", "ArrowDown", "Control+a".
Scroll the page in a given direction.
Drag an element from its current position to a target element.
Get the ARIA accessibility tree of the current page as readable text. Call this first after browser_navigate to understand the page structure before interacting with elements. More token-efficient than a screenshot for finding selectors and understanding layout. The tree shows all interactive elements (buttons, inputs, links) with their roles, labels, and states — everything needed to drive browser interactions.
Get the current URL of the browser session.
Get the title of the current page.
Get the visible text content of an element or the entire page body.
Get the value of a specific attribute on an element.
Get the HTML source of an element or the full page.
Find all elements matching a CSS selector and return their text, HTML, and attributes.
Take a screenshot of the current page or a specific element. Use for visual verification or when the accessibility tree is not sufficient.
Render the current page as a PDF document.
Wait until an element matching the CSS selector is stable in the DOM. Set visible=true to also require the element to be visible (not hidden).
Wait for the page to navigate to a new URL. IMPORTANT: call this BEFORE the action that triggers navigation (e.g. before browser_click on a submit button), not after — the navigation event may already have fired and this will hang until timeout. If the page stays on the same URL (AJAX/SPA), skip this tool entirely. Optional timeout_ms (default 30000ms).
Wait for a fixed duration. Use sparingly — prefer browser_wait_for_selector when possible.
Execute JavaScript in the browser context and return the result.
Get all cookies for the current page.
Set one or more cookies in the browser session.
Clear all cookies for the current browser session.
Read, write, or clear localStorage in the current page context.
Open a new browser tab. Returns a tab_id to use with browser_switch_tab.
Switch focus to a different browser tab.
Execute a sequence of browser actions in a single call against an existing session. Use this when you already know the full sequence of steps — it reduces round trips and is faster than calling each tool individually. Actions run sequentially and stop at the first failure unless stop_on_error is false. Each step result is returned in the results array at the same index. Note: screenshots in batch results are returned as base64 strings inside the JSON. For proper image rendering, use browser_screenshot directly.
Overview
What is ZenRows MCP?
ZenRows MCP lets AI agents scrape any webpage and return clean markdown, HTML, or structured JSON. It bypasses anti-bot protection, renders JavaScript (including React, Vue, and Angular frameworks), and supports premium residential proxies. The server works out of the box with no local installation required.
How to use ZenRows MCP?
No local installation is required; the server works out of the box. It can be invoked by any MCP client to scrape web pages and return the desired output format.
Key features of ZenRows MCP
- Scrapes any webpage and returns markdown, HTML, or structured JSON.
- Bypasses anti-bot protection mechanisms.
- Renders JavaScript, including React, Vue, and Angular.
- Supports premium residential proxies.
- Works out of the box with no local install required.
Use cases of ZenRows MCP
- AI agents extracting web content for analysis or training data.
- Collecting clean data from JavaScript-heavy single-page applications.
- Gathering structured JSON data from websites for integration into other tools.
- Bypassing anti-bot measures to scrape protected content reliably.
- Using premium residential proxies to access geographically restricted web pages.
FAQ from ZenRows MCP
What output formats does Zen
Basic information
More Other MCP servers

Figs, Relationship Expert
Figs O'Sullivan, LMFTCouples therapist Figs O'Sullivan (LMFT, 17 years, endorsed by Sue Johnson, creator of EFT) inside your AI. Ask relationship questions answered from his clinical writing, name the pattern in a fight, get a three-step rep
IDA Pro MCP
mrexodiaAI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser

Sequential Thinking
modelcontextprotocolModel Context Protocol Servers
🪟 Windows-MCP
CursorTouchMCP Server for Computer Use in Windows
Comments