# Zenrows MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.github.zenrows%2Fzenrows-mcp
Registry id: `mcp-registry/io.github.zenrows/zenrows-mcp`
Status: live (checked 2026-10-27T02:20:06.442Z)

## Measurements (30 days)

- Uptime: 100%
- Checks: 2402
- Outages (90 days): 0

## Install

```json
{
  "mcpServers": {
    "zenrows-mcp-server": {
      "type": "http",
      "url": "https://mcp.zenrows.com/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http zenrows-mcp-server https://mcp.zenrows.com/mcp
```

## Tools (63)

- `account_usage`: Read the current plan's credit allowance and how much of it is spent. Useful before a large batch, or after a 402 / AUTH004, to see whether the account has cred
- `batch_cancel`: Stop a Batch job's current run for good. No task still waiting is started or billed; tasks already in flight finish (and bill). Results so far stay readable wit
- `batch_content`: Read one Batch task's stored result, by job_id and task_id (from batch_results). A text result (HTML, Markdown, plain text, JSON) comes back inline, cut to max_
- `batch_create`: Submit a Batch job: many URLs scraped asynchronously in the cloud (Zenrows Batch API). Suited to large URL lists; scrape and extract handle single pages. Not th
- `batch_delete`: Delete a Batch job with all its runs and results, for good. A run in flight stops picking up tasks at once, and the job frees its active-job slot. The job reads
- `batch_list`: List this account's Batch jobs, newest first, each with its latest run's status and stats. Filter by status (open or closed) and type (regular or scheduled). Pa
- `batch_pause`: Pause a Batch job's current run: it picks up no new tasks until batch_resume. Tasks already in flight still finish and bill; for a hard cost stop use batch_canc
- `batch_rerun`: Start a new run of a Batch job whose latest run ended (completed, stopped or failed). By default it reruns only the tasks that failed or never started (status [
- `batch_results`: List a Batch run's result rows, a page at a time: up to limit rows (default 100, max 1000) and next_cursor. Pass next_cursor back as cursor to continue; it is n
- `batch_resume`: Resume a paused Batch run: it picks up its remaining tasks again, billed as they finish. Idempotent on a run that is not paused; a run that already ended answer
- `batch_status`: Get a Batch job's latest run: job_id, run_id, status (pending, running, completed, stopped, failed), stats (total, completed, successful, failed) and the job. A
- `batch_wait`: Poll a Batch job until its run ends (completed, stopped or failed) or pauses, and return its status and stats like batch_status. If the wait runs out first, it 
- `browser_*`: 30+ tools for full browser automation (navigation, clicks, forms, JS, cookies, tabs, sessions).
- `browser_batch`: 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
- `browser_check`: Check a checkbox or radio button.
- `browser_clear_cookies`: Clear all cookies for the current browser session.
- `browser_clear_local_storage`: Delete every localStorage entry in the current page context.
- `browser_click`: Click an element on the page using a CSS selector.
- `browser_close`: Close a browser session and free all associated resources, including the concurrency slot it holds.
- `browser_drag`: Drag an element from its current position to a target element.
- `browser_evaluate`: Execute JavaScript in the browser context and return the result. The script can change or delete the session's page state, such as cookies, storage and form dat
- `browser_fill`: Clear an input field and set its value, replacing what was there (browser_type appends instead).
- `browser_focus`: Move focus to an element, triggering focus-dependent UI changes.
- `browser_generate_pdf`: Render the current page as a PDF document.
- `browser_get_accessibility_tree`: Get the ARIA accessibility tree of the current page as readable text. Shows the page structure and the selectors needed to interact with elements, in fewer toke
- `browser_get_attribute`: Get the value of a specific attribute on an element.
- `browser_get_cookies`: Get all cookies for the current page.
- `browser_get_html`: Get the HTML source of an element or the full page.
- `browser_get_local_storage`: Read one localStorage value in the current page context.
- `browser_get_text`: Get the visible text content of an element or the entire page body.
- `browser_get_title`: Get the title of the current page.
- `browser_get_url`: Get the current URL of the browser session.
- `browser_go_back`: Navigate back to the previous page in the browser history.
- `browser_go_forward`: Navigate forward to the next page in the browser history.
- `browser_hover`: Move the mouse cursor over an element to trigger hover effects.
- `browser_navigate`: 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' h
- `browser_new_tab`: Open a new browser tab. Returns a tab_id to use with browser_switch_tab.
- `browser_press_key`: Press a keyboard key. Examples: "Enter", "Tab", "Escape", "ArrowDown", "Control+a".
- `browser_query_selector_all`: Find all elements matching a CSS selector and return their text, HTML, and attributes.
- `browser_reload`: Reload the current page of a browser session.
- `browser_screenshot`: Take a screenshot of the current page or a specific element. Use for visual verification or when the accessibility tree is not sufficient.
- `browser_scroll`: Scroll the page in a given direction.
- `browser_select_option`: Select an option from a <select> dropdown element.
- `browser_set_cookies`: Set one or more cookies in the browser session. A cookie with the same name, domain and path replaces the existing one.
- `browser_set_local_storage`: Write one localStorage value in the current page context. An existing value under the same key is replaced.
- `browser_switch_tab`: Switch focus to a different browser tab.
- `browser_type`: Type text into an input element. Appends to existing content unless clear_first is set.
- `browser_uncheck`: Uncheck a checkbox, found by CSS selector, in a browser session.
- `browser_wait`: Wait for a fixed duration. browser_wait_for_selector waits only until an element appears.
- `browser_wait_for_navigation`: Wait for the page to navigate to a new URL. It waits for the next navigation event, so a navigation that already finished is not seen and the call waits until t
- `browser_wait_for_selector`: 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).
- `crawl_content`: Read the stored page of one URL a crawl kept, in the crawl's output_format. Works only for crawls created with an output_format, and only for results whose cont
- `crawl_create`: Start a crawl from one URL (Zenrows Crawl API). Crawl follows the links in each page's HTML up to depth hops (no depth limit when depth is omitted), keeps the U
- `crawl_download`: Save every result of a crawl to one local file, as JSON lines: url, content_status and, once fetched, content (the page). Returns the file's path and line count
- `crawl_get`: Get a crawl and one page of the URLs it kept: crawl_id, status (running, completed, stopped, failed), the crawl (with coverage: pages_fetched, pages_failed, ite
- `crawl_list`: List this account's crawls, newest first, with status and coverage (no results). Pass next_cursor as cursor for the next page; next_cursor is absent on the last
- `crawl_results`: List the URLs a crawl kept, in the order it kept them, following the API's pages up to limit. Each result has url and, when the crawl has output_format, content
- `crawl_stop`: Stop a running crawl. No page still waiting is fetched or billed; pages already in flight finish. The URLs kept so far stay readable with crawl_results. A stopp
- `crawl_wait`: Poll a crawl until it ends (completed, stopped, or failed) and return its status, its counts and the first 20 URLs (first_urls). For every result, call crawl_do
- `extract`: Extract structured data from a webpage via Zenrows. Returns JSON fields (products, articles, listings) in "data" rather than a full page body. Set include_html 
- `prepare_domain`: Prepare a domain so extract (mode=auto) works on it. Use this when extract returns error REQS007 with reason domain_not_prepared. Send the domain (the host, e.g
- `prepared_domain_status`: Check a domain submitted with prepare_domain, and the account's monthly allowance. Returns status (preparing, ready or failed), state (the current step), roles 
- `scrape`: Scrape any webpage and return its content using Zenrows (Fetch). Returns full-page content (markdown/HTML/PDF/screenshot). For structured JSON fields (products,

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
