Skip to content
Agentmart
Submit a tool

zenrows

Master playbook for choosing the right Zenrows MCP primitive for any web-data task, with cost and escalation rules.

Skill by ZenRows

IndexedMIT★ 16
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/zenrows-zenrows

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Master playbook for choosing the right Zenrows MCP primitive for any web-data task, with cost and escalation rules.

Use cases: data, productivity, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/zenrows

What's inside

Skill name
zenrows
Description
Master playbook for choosing the right Zenrows MCP primitive for any web-data task, with cost and escalation rules.
License
MIT
Instructions
81 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Zenrows (MCP): how to think about protected web data

Zenrows is the **protected web data infrastructure layer**: strong anti-bot +
high scale + extraction + browser escalation. This plugin exposes that
infrastructure through the Zenrows MCP server.

Your job as an agent is to pick a **reliable MCP tool** for the task (match
output shape; escalate only with evidence). Prefer MCP tools over shelling
out to the Zenrows CLI. For stealth flags, start simple — see [[cost-control]].

## Getting access (zero-config)

You do **not** need an API key in the plugin package.

- **stdio** (`npx -y @zenrows/mcp`): on first cloud call the server can
  auto-create a **free, unclaimed** Zenrows Free plan account and persist the
  key locally. Zenrows may first ask one short question (which word is a
  bird, which word does not belong): the tool call
  returns it; answer it yourself with the `account_signup_answer` tool, then
  retry the call. When the Free plan nears its limit (or the user asks), surface
  the **claim URL** so a human can claim the account (confirming an email
  with Google, GitHub or a 6-digit code). Claim links expire after 30 days. The
  same key keeps working after claim. Never handle payment or upgrades —
  only show the claim link.
- **Remote** (`https://mcp.zenrows.com/mcp`): the client runs **OAuth**
  (Login or Create Free account → consent → token). Do not invent a parallel
  auth flow and do not ask the user to paste keys into `mcp.json`.

## The decision tree (follow this exactly)

```
If the user has a known URL and wants page content:
  → Use Protected Fetch.            (MCP tool: scrape)

If the user has a known URL and wants structured data:
  → Use Extract.                    (MCP tool: extract)
                                     Fallback: scrape with css_extractor / outputs

If the user has many URLs (bulk):
  → Use Batch.                      (validate one page with scrape/extract first,
                                     then batch_create → batch_status → batch_results)
                                     Prefer Batch over fan-out of scrape/extract
                                     per URL for bulk work.
                                     Cancel with batch_cancel when needed.

If the user needs login, clicks, forms, sessions, or persistent state:
  → Use Interact / Browser Sessions.(MCP tools: browser_*)    [escalation-only]
```

## Preference rules

- Match the tool to the output: `scrape` for page content, `extract` for
  structured fields. Start simple; add `js_render` / `premium_proxy` only with
  evidence of failure or dynamic/protected content.
- **Escalate only with evidence.** If `scrape`/`extract` fails or returns
  empty/blocked content, diagnose before jumping to `browser_*`.
- **Do not use the browser unless required.** Browser bills by bandwidth +
  session time and auto-terminates after ~15 minutes. Always `browser_close`
  when done.
- **Do not scale before validating** the workflow on a small sample.

## MCP tools available

| Primitive | MCP tools | Notes |
| --- | --- | --- |
| Protected Fetch | `scrape` | Default markdown; HTML / plaintext / PDF / screenshot options |
| Extract | `extract` | Structured JSON (`extract=auto` on any prepared domain, css_extractor; autoparse deprecated). `extract=auto` is currently free; billing may apply later |
| Prepare a domain | `prepare_domain`, `prepared_domain_status` | After an `extract` REQS007 with reason `domain_not_prepared`: prepare the domain with 1 to 5 example URLs (one works; we recommend 3 or more of the same page type, because Extract compares pages of one type to check the fields it found and fill in fields one page is missing), poll about every 30 seconds until ready, extract again. No credits; uses one monthly allowance slot. Not for `page_not_recognised`: that domain is already prepared |
| Batch | `batch_create`, `batch_status`, `batch_results`, `batch_cancel` | Same credits as Fetch; a 403 maps to `BATCH_ACCESS_DENIED` |
| Browser | `browser_*` (start with `browser_navigate`) | Escalation-only; same backend as Browser Sessions |

## Cost notes

Stealth multipliers on requests: basic **1×**, JS rendering **5×**, premium
proxies **10×**, both **25×**. Keep responses small with `css_extractor`,
`outputs`, or `response_type: markdown`. Do not claim extract is cheaper than
scrape. See [[cost-control]].

See also: [[protected-fetch]], [[extract]], [[batch-jobs]], [[interact-browser]].

From ZenRows/cli, MIT.

More from ZenRows/cli

Signals

Stars
16
Forks
2
Open issues
0
Last commit (this folder)
Oct 23, 2026 (5 days ago)
Last release
Oct 23, 2026 (5 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ZenRows

Cite this page

zenrows skill. Agent Mart. https://agentmart.dev/skills/zenrows-zenrows (last updated 2026-10-24)