REVIEW

ZenRows review

A scraping API with a recurring free tier, cloud Browser Sessions and an MCP server documented for eight AI clients. Its independent results depend heavily on how hard you push it.

FREE 5,000 CREDITS/MONO SEARCH TOOL

Verdict

ZenRows has the friendliest on-ramp of the credit-based scraping APIs: 5,000 free credits every month with no card, then $19/mo for 45,000. Failed requests are never charged, the multipliers are simple (1 basic, 5 JS, 10 premium, 25 both, nothing higher), and its MCP server gives coding agents fetch, extraction, crawling and 30+ cloud-browser tools. The evidence is mixed: 70.39% in Proxyway's October 2025 test at 2 requests per second but 31.76% at 10 req/s, which Proxyway tied to plan concurrency limits, and ScrapeOps found its hosted browser leaking automation signals. There is no web search tool.

Best for

  • Prototyping, or recurring jobs that fit inside 5,000 credits a month.
  • E-commerce and property sites at low concurrency (94–96% on Allegro, Zillow and Nordstrom in Proxyway's 2025 test).
  • Coding agents that read pages, extract data or drive a cloud browser.

Skip if

  • You need 10+ requests per second on a small plan (31.76% at 10 req/s in that test).
  • Your agent needs web search from the same provider.
  • You want a hosted browser for Cloudflare sites (~36% in ScrapeOps' June 2026 test).
  • You want pay-as-you-go billing.

How we pick →

Free plan
5,000 credits a month, no card, no rollover
Entry paid plan
Build $19/mo (45,000 credits); $16/mo annually
Credits per request
1 basic, 5 JS, 10 premium proxy, 25 both
Billing
Failures never charged; 404 and 410 count as successes
MCP
Hosted (OAuth 2.1 or API key) or local npm; no search

Our picks

Pricing and credits

ZenRows sells monthly credit subscriptions with a recurring free tier (as of October 2026, per its pricing page). Prices are each plan's entry point; Build, Launch and Growth can be sized up, and Scale starts at $549. Annual billing is about two months free.

ZenRows plans, as of October 2026
Plan Monthly Annual (per mo) Credits Concurrent Per 1,000 credits
Free $0 $0 5,000 5 free
Build $19 $16 45,000 20 $0.42
Launch $69 $58 250,000 50 $0.28
Growth $199 $166 1,200,000 100 $0.17
Credits per request and cost per 1,000 requests by plan (monthly billing)
Request type Credits Build Launch Growth
Basic request 1 $0.42 $0.28 $0.17
JS rendering js_render=true 5 $2.11 $1.38 $0.83
Premium proxies premium_proxy=true 10 $4.22 $2.76 $1.66
JS rendering + premium proxies js_render=true&premium_proxy=true 25 $10.56 $6.90 $4.15

The useful property is the ceiling. Nothing costs more than 25 credits, so the hardest configuration on Launch is $6.90 per 1,000, against $14.70 for ScrapingBee's 75-credit stealth tier and $36.75 for ScraperAPI's ultra-premium + render, both on $49 plans. Whether 25 ZenRows credits get through where the others need their top tier is something no test in our notes measured.

Failed requests are never charged, and auto mode (mode=auto) bills only the configuration that succeeded. But 404 and 410 responses count as successes, so dead links cost credits. Subscription credits don't roll over (top-ups roll over one period). Residential bandwidth is 25,000 credits per GB ($6.90 per GB on Launch); Browser Sessions bill bandwidth plus 5 credits a minute, about $0.08 per session-hour on Launch before bandwidth.

Fetch and the renames

The core product is now Fetch (formerly the Universal Scraper API): https://api.zenrows.com/v1/ with apikey and url, plus js_render, premium_proxy, proxy_country (needs premium proxies), wait_for, and response_type for Markdown, plain text or PDF.

# Basic request: 1 credit
curl --max-time 180 -G "https://api.zenrows.com/v1/" \
  --data-urlencode "apikey=$ZENROWS_API_KEY" \
  --data-urlencode "url=https://example.com/listings?page=2"

# Escalate only when needed; billed for the configuration that worked
curl --max-time 180 -G "https://api.zenrows.com/v1/" \
  --data-urlencode "apikey=$ZENROWS_API_KEY" \
  --data-urlencode "url=https://example.com/listings?page=2" \
  -d mode=auto

# JS rendering through residential IPs: 25 credits
curl --max-time 180 -G "https://api.zenrows.com/v1/" \
  --data-urlencode "apikey=$ZENROWS_API_KEY" \
  --data-urlencode "url=https://example.com/listings?page=2" \
  -d js_render=true -d premium_proxy=true

Check names against current docs: the Scraping Browser is now Browser Sessions, per-site scraper APIs are deprecated and standalone residential proxies are "legacy".

AI agents and MCP

ZenRows hosts an MCP server at https://mcp.zenrows.com/mcp (streamable HTTP; OAuth 2.1 or the API key as a Bearer token) and publishes a local one as @zenrows/mcp on npm. Tool groups: scrape (Markdown, text, HTML, screenshots, PDF), extract (structured JSON), crawl, batch, 30+ browser tools for driving a cloud session, and account_usage. The docs cover Claude, Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Zed and JetBrains. The local config:

{
  "mcpServers": {
    "zenrows": {
      "command": "npx",
      "args": ["-y", "@zenrows/mcp"],
      "env": {
        "ZENROWS_API_KEY": "YOUR_ZENROWS_API_KEY"
      }
    }
  }
}

Calls bill at the underlying product's rates; the docs say extract is currently free and account_usage never costs credits. There is no web search tool, so an agent that must find pages first needs a second provider such as ScrapingBee, Firecrawl or PacketStream; see the our AI-agent search & fetch guide.

Independent evidence

In Proxyway's Web Scraping API Report 2025 (tests October 2025, published 3 December 2025), ZenRows averaged 70.39% on 15 protected sites at 2 requests per second, fifth of ten, with 94–96% on Allegro, Zillow and Nordstrom. At 10 requests per second it fell to 31.76%, which Proxyway put down to plan concurrency limits.

The hosted browser did worse. ScrapeOps' Cloudflare playbook (June 2026) measured it at about 36% on Cloudflare-protected sites, against about 54% for Bright Data's and about 97% for scraping APIs as a group, and ScrapeOps reported automation signals leaking in 80% of its sessions. These are third-party tests, not neutral audits: Proxyway uses affiliate links and ScrapeOps runs a paid proxy aggregator.

Concurrency in practice

Concurrency needed is roughly request rate × response time. If pages take, say, 5 seconds, 10 requests per second means 50 in flight: all of Launch's allowance and more than twice Build's. Rate-limit on your side, measure response times during the free tier, and size the plan for throughput, not just credits. Compare concurrency per dollar too: ScrapingBee's $49 plan also allows 50, and Zyte, first of ten in Proxyway's 2025 test, averaged 11.15 seconds.

Where it fits

Our guides make picks by use case. ZenRows is the pick for:

The facts behind that: 5,000 free credits every month with no card (enough for 5,000 plain or 1,000 JS fetches), a hosted MCP server with OAuth 2.1 or a Bearer key plus 30+ browser-control tools, and failed requests never charged.

Other tools fit better when:

See also ZenRows vs ScrapingBee and how we pick.

Pros and cons

Pros

  • Recurring free tier: 5,000 credits a month, no card.
  • Failed requests never charged, including in auto mode.
  • Nothing costs more than 25 credits: $6.90 per 1,000 on Launch at worst.
  • MCP server with scrape, extract, crawl, batch and 30+ browser tools, hosted or local.

Cons

  • Success fell from 70.39% at 2 req/s to 31.76% at 10 req/s in Proxyway's test.
  • Hosted browser ~36% on Cloudflare sites, with automation signals in 80% of sessions (ScrapeOps).
  • Dearer per credit than ScrapingBee at the same spend.
  • Frequent renames and deprecations make older tutorials unreliable.

Alternatives

Sources

Vendor pages checked 2026-10-17. Prices are as of October 2026 and change often; check the vendor's page before buying.