Labsco
MCP SERVER · OFFICIAL PROJECT

ZenRows MCP

by ZenRows

Scrape and browse the protected web through ZenRows — proxies, anti-bot handling and headless sessions run for you.

Site Crawling & Scraping InfrastructureVerified
Summary
Someone else's proxies, anti-bot handling and browser fleet, behind an ordinary tool call.

The split is worth understanding before you start: scrape and extract are single API calls through ZenRows' fetch infrastructure and are the cheap path for most pages, while the browser session tools open a real browser you drive step by step and have to close afterwards to give the slot back. Two operational details save the most time — read the accessibility tree before interacting rather than guessing selectors, and issue the navigation wait before the click that triggers it, not after.

What it is

ZenRows' own server over its web-data infrastructure. One tool scrapes a page to markdown, HTML, PDF or a screenshot; another extracts structured JSON; a batch API fans many URLs out asynchronously; and a full browser-session surface drives a real headless browser behind ZenRows' anti-bot handling.

What you get
  • A page scraped to markdown, plain text, HTML, PDF or a screenshot, with JS rendering, wait conditions, JS instructions and premium proxies by country
  • Structured JSON extracted instead of a page body — automatic mode, autoparse, or a CSS extractor you supply, with autoparse available as the fallback
  • A cloud batch job fanning many URLs out asynchronously, its status and stats read, its result rows listed, the run stopped, or polled to a terminal state
  • A browser session opened on a URL behind ZenRows' anti-bot infrastructure with a proxy region and country, and closed again to release the slot
  • The page's ARIA accessibility tree read as text — the documented first step before interacting with anything
  • Clicks, hovers, typing, filling, select options, checkboxes, focus, key presses, scrolling and drag-and-drop, all by CSS selector
  • Page state read: URL, title, visible text, one attribute, HTML, or every element matching a selector with its text, HTML and attributes
  • Screenshots of the page or an element, and the page rendered as a PDF
  • Waits for a selector, for navigation, or for a fixed duration — with the navigation wait issued before the action that triggers it
  • JavaScript evaluated in the browser context, cookies read, set and cleared, and localStorage read, written or cleared
  • Tabs opened and switched, history navigated back and forward, and the page reloaded
  • A whole sequence of browser actions sent in one call when you already know the steps, cutting the round trips
Requirements

A ZenRows account. The hosted server at https://mcp.zenrows.com/mcp takes your API key as an Authorization bearer, or OAuth where the client supports it, and does not create accounts for you. Locally it is npx -y @zenrows/mcp on Node.js, reading ZENROWS_API_KEY or a key already stored in ~/.zenrows/secrets.json — and with neither present the stdio path provisions a Free plan account itself, writes the key and claim metadata under ~/.zenrows/ at mode 0600, and prints a claim URL, which ZENROWS_AUTO_SIGNUP=false turns off. The batch tools are in beta and can return BATCH_ACCESS_DENIED, and the automatic extract mode is open beta, currently free with billing possible later.

Setup effort

One command plus a key — npx -y @zenrows/mcp, then supply credentials