zenrows-mcp
OfficialThe ZenRows MCP server provides AI systems with real-time access to any website through a scrape tool and 30+ browser_* automation tools, bypassing anti-bot measures to extract content from any webpage.
Scrape any webpage: Fetch content in Markdown (default), plain text, HTML, or PDF formats.
Handle dynamic content: Enable JavaScript rendering (
js_render) for SPAs (React, Vue, Angular).Bypass anti-bot protections: Use premium residential proxies and managed proxy rotation to access protected sites.
Geo-targeted scraping: Route requests through a specific country via
proxy_country(ISO 3166-1 alpha-2 codes).Structured data extraction: Auto-parse products, articles, and listings (
autoparse), or extract specific elements using CSS selectors (css_extractor).Targeted data outputs: Extract specific content types (emails, headings, links, images, videos, etc.) as structured JSON.
Wait/timing controls: Wait a set number of milliseconds (
wait) or until a CSS selector appears (wait_for) before capturing content.Browser interactions: Execute custom actions before scraping (clicks, form fills, waits) via
js_instructions.Screenshots: Capture above-the-fold (
screenshot), full-page (screenshot_fullpage), or element-specific (screenshot_selector) screenshots.Full browser automation: Navigate, click, fill forms, execute JavaScript, and manage cookies, tabs, and sessions across 30+ dedicated browser tools.
ZenRows MCP Server
The ZenRows MCP (Model Context Protocol) server is the standard way AI systems use ZenRows. A single connection gives your AI assistant, agent, or application real-time access to any website.
📚 Full documentation: docs.zenrows.com/integrations/mcp/mcp-overview
Why ZenRows MCP
Reach sites that normally block bots. Get access to any website at scale without getting blocked by anti-bot systems.
Managed scraping infrastructure. Proxy rotation, headless browser orchestration, anti-bot evasion, and session management run on ZenRows infrastructure.
Plug into any AI you already use. Works with any MCP client, including AI assistants, agent frameworks, AI SDKs, IDE plugins, and custom applications.
Plain English, no scraping code. Describe the task naturally and the AI picks the right tool. No selectors, no proxy management, no anti-bot tuning.
Quick start
ZenRows MCP supports two transport options. Both expose the same set of tools and capabilities. Pick the one that fits your client.
Remote MCP server
Use the hosted ZenRows MCP server when your AI application calls an LLM API directly. The server runs on ZenRows infrastructure, so there is nothing to install, configure, or update.
Server URL:
https://mcp.zenrows.com/mcpTransport: Streamable HTTP
Authentication: OAuth-based. Pass your ZenRows API key as a Bearer token in the Authorization header on every request.
Authorization: Bearer YOUR_ZENROWS_API_KEYMost MCP clients accept this through an authorization shorthand field on the tool config and forward it as the Bearer token automatically. Some clients use a free-form headers field instead. Either approach works.
Example: OpenAI Responses API
import os
from openai import OpenAI
ZENROWS_API_KEY = os.environ["ZENROWS_API_KEY"]
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
response = client.responses.create(
model="gpt-5",
tools=[
{
"type": "mcp",
"server_label": "zenrows",
"server_description": "Web scraping MCP server for accessing live web content.",
"server_url": "https://mcp.zenrows.com/mcp",
"authorization": ZENROWS_API_KEY,
"require_approval": "never",
}
],
input="Visit https://news.ycombinator.com/ and summarize the three most recent posts.",
)
print(response.output_text)For the full walkthrough with framework-specific examples, see the Remote MCP server docs.
Local MCP server
Use the local stdio configuration when your MCP client runs the server as a local subprocess instead of calling a remote URL. This is the standard setup for desktop AI tools and IDE plugins, including Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, Zed, and JetBrains IDEs.
Package: @zenrows/mcp on npm
Authentication: API key via the ZENROWS_API_KEY environment variable.
Requirements: Node.js installed (for npx to work).
Configuration:
{
"mcpServers": {
"zenrows": {
"command": "npx",
"args": ["-y", "@zenrows/mcp"],
"env": {
"ZENROWS_API_KEY": "YOUR_ZENROWS_API_KEY"
}
}
}
}The exact location of this config varies by client. See the per-client setup guides for the file path for your client.
Tools
The ZenRows MCP exposes two families of tools:
scrape: single-request fetch returning Markdown, plain text, HTML, JSON, PDF, or screenshot. Backed by the Universal Scraper API.browser_*: 30+ tools for full browser automation including navigation, clicks, form fills, JavaScript execution, cookies, tabs, and persistent sessions. Backed by the Scraping Browser.
The AI selects the right tool from your prompt. You don't call tools directly in code.
See the full tool reference for every tool, parameter, and return value.
Development
git clone https://github.com/ZenRows/zenrows-mcp
cd zenrows-mcp
npm install
cp .env.example .env # Add your API key
npm run dev # Run with .env loaded (requires Node.js 20.6+)
npm run build # Compile to dist/
npm run inspect # Open the MCP inspector UIPull requests and issues are welcome.
Resources
License
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZenRows/zenrows-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server