zenrows
Master playbook for choosing the right Zenrows MCP primitive for any web-data task, with cost and escalation rules.
Skill by ZenRows
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.
About
Use cases: data, productivity, agent-building
Reviews
Write a reviewNo 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
- 0.640score
crawl
ZenRows
Collect the URLs behind one start page with Crawl (new): create a crawl, wait for it, read the kept URLs and optionally each page's HTML, stop it.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
batch-jobs
ZenRows
Scale protected fetch/extract over many URLs via Batch.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
protected-fetch
ZenRows
Use Zenrows Protected Fetch in auto mode for anti-bot-protected page retrieval.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
interact-browser
ZenRows
Escalate to Zenrows MCP browser_* sessions only when scrape/extract cannot do the job.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
protected-fetch
ZenRows
Use the Zenrows MCP scrape tool for anti-bot-protected page retrieval.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
compliance-policy
ZenRows
Respect domain allow/deny rules, credit limits, and secret handling.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
cost-control
ZenRows
Pick the cheapest reliable primitive and understand the Zenrows cost multipliers.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
cost-control
ZenRows
Pick the cheapest reliable Zenrows MCP configuration and understand cost multipliers.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
extract
ZenRows
Turn protected pages into structured data with Extract / CSS / Markdown (Autoparse is deprecated).
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
interact-browser
ZenRows
Escalate to browser sessions only when fetch/extract cannot do the job.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
batch-jobs
ZenRows
Scale protected fetch/extract over many URLs via Zenrows MCP batch_* tools.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
trace-debug
ZenRows
Read run traces and choose the next action when a fetch/extract fails.
SkillAFreshness: A★ 16Claude Code +9
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
- Repository
- github.com/ZenRows/cli
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ZenRows
- 0.652score
Zenrows MCP
ZenRows
Zenrows MCP server: Fetch, Extract, Batch, and Browser Sessions for AI agents
ConnectorAFreshness: ARemoteLocal★ 20Claude Code +5 - 0.640score
crawl
ZenRows
Collect the URLs behind one start page with Crawl (new): create a crawl, wait for it, read the kept URLs and optionally each page's HTML, stop it.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
batch-jobs
ZenRows
Scale protected fetch/extract over many URLs via Batch.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
protected-fetch
ZenRows
Use Zenrows Protected Fetch in auto mode for anti-bot-protected page retrieval.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
interact-browser
ZenRows
Escalate to Zenrows MCP browser_* sessions only when scrape/extract cannot do the job.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
extract
ZenRows
Turn protected pages into structured data with the Zenrows MCP extract tool (and scrape extraction params).
SkillAFreshness: A★ 16Claude Code +9
Cite this page
zenrows skill. Agent Mart. https://agentmart.dev/skills/zenrows-zenrows (last updated 2026-10-24)