ScrapeUnblocker vs. Zenrows: Pricing, Billing and Features Compared (2026)
ScrapeUnblocker and Fetch, Zenrows’ scraping API (formerly the Universal Scraper API), do the same core job: you send a URL to an API, and it returns the page, with proxies, JavaScript rendering and anti-bot handling taken care of. Where they differ most is in how they charge. Zenrows sells monthly credit allowances, and a Fetch request costs 1, 5, 10 or 25 credits depending on whether it uses JavaScript rendering, Premium Proxies or both. ScrapeUnblocker charges one credit per request, with browser rendering always on.
A note before we start: we make ScrapeUnblocker, so we are not a neutral party. To keep this comparison fair and checkable, every Zenrows figure below comes from Zenrows’ own public pricing page, pricing documentation and documentation, as we viewed them on 24 September 2026. Every ScrapeUnblocker figure comes from our pricing page and documentation. Where we do not know something, we say so. Prices and features change, so please check both sites before you decide.
Zenrows also sells Extract (structured JSON), Batch (large URL lists as one job) and Browser Sessions (a hosted browser for Puppeteer or Playwright) from the same credit balance. We compare ScrapeUnblocker mainly with Fetch, the closest match to our API.
At a glance
| ScrapeUnblocker | Zenrows | |
|---|---|---|
| Pricing model | 1 request = 1 credit | 1, 5, 10 or 25 credits per successful Fetch request |
| JavaScript rendering | Always on, included in the request | Off by default; with js_render=true a request costs 5 credits |
| Geotargeting | proxy_country, included in the request | proxy_country requires Premium Proxies (10 credits, or 25 with JavaScript rendering) |
| Entry price | Pay as you go at €1.00 per 1,000 requests; monthly plans from €29 | Monthly plans from $19; no standalone pay-as-you-go option |
| Largest self-serve plan | €1,000 per month (Ultimate) | $999 per month (Scale S3) |
| Free usage | 500 requests on signup, no card needed | 5,000 credits every month, no card required |
| Throughput limit | 2 to 10 requests per second on Pay as you go, Starter and Pro; up to 400 on Business, Scale and Ultimate | 5 to 200 concurrent requests by tier; custom (400 to 1,000+) on Enterprise |
| Currency | EUR | USD |
How Zenrows pricing works
Zenrows lists a Free plan, four paid tiers with three volume steps (“rungs”) each, and a custom Enterprise plan:
| Tier | Monthly price by rung | Credits per month by rung | Concurrent requests |
|---|---|---|---|
| Free | $0 | 5,000 | 5 |
| Build (B1, B2, B3) | $19, $29, $39 | 45,000, 80,000, 120,000 | 20 |
| Launch (L1, L2, L3) | $69, $99, $129 | 250,000, 500,000, 700,000 | 50 |
| Growth (G1, G2, G3) | $199, $279, $399 | 1,200,000, 2,000,000, 3,000,000 | 100 |
| Scale (S1, S2, S3) | $549, $749, $999 | 5,000,000, 8,000,000, 12,500,000 | 200 |
| Enterprise | Custom | Custom | Custom (400 to 1,000+) |
Billed yearly, the per-month price is lower (for example $82 instead of $99 for Launch L2); Zenrows describes this as two months free. Credit costs for Fetch are published as:
| Request type | Credits per successful request |
|---|---|
| Standard request | 1 |
| JavaScript rendering | 5 |
| Premium Proxies | 10 |
| JavaScript rendering + Premium Proxies (“protected”) | 25 |
The documentation says these weights are the same on every plan. Other rules:
- JavaScript rendering (
js_render) and Premium Proxies (premium_proxy, residential IPs) are off by default, so a plain request costs 1 credit. proxy_countryrequires Premium Proxies. The country itself adds nothing, but the request pays the Premium Proxies rate.- With Adaptive Stealth Mode (
mode=auto), Zenrows starts with the cheapest configuration it expects to work, escalates when needed, and bills only the configuration that succeeds. - Extract adds no cost beyond its Fetch request (it is free during its Beta), and Batch bills at the Fetch rate. Browser Sessions are metered at 25,000 credits per GB plus 5 credits per minute.
- On paid plans, unused credits roll over for one extra billing period, and up to four top-up packs can be bought per period.
- Asked about pay-as-you-go, the pricing documentation answers “Not as a standalone option today”.
- Enterprise lists an SLA, SOC 2, ISO 27001, a DPA and a dedicated account manager.
How ScrapeUnblocker pricing works
ScrapeUnblocker has a pay-as-you-go option and monthly plans. Our pricing page states that one request always equals one credit.
| Plan | Price | Requests included | Effective price per 1,000 | Additional usage per 1,000 | Rate limit |
|---|---|---|---|---|---|
| Pay as you go | €1.00 per 1,000 requests | - | €1.00 | - | 2 requests/second |
| Starter | €29 per month | 34,000 | about €0.85 | €0.95 | 5 requests/second |
| Pro | €99 per month | 132,000 | about €0.75 | €0.85 | 10 requests/second |
| Business | €299 per month | 440,000 | about €0.68 | €0.75 | Up to 400 requests/second |
| Scale | €599 per month | 966,000 | about €0.62 | €0.68 | Up to 400 requests/second |
| Ultimate | €1,000 per month | 1,818,000 | about €0.55 | €0.60 | Up to 400 requests/second |
There is also a custom Enterprise option. Pay as you go has no monthly commitment. Our plan cards list JavaScript rendering, CAPTCHA bypass and a real browser, and none of these is charged separately: a rendered page costs the same one credit as any other request.
What each plan buys, in requests
On Zenrows, the number of requests a plan covers depends on the configuration your target sites need. The table divides each rung’s monthly credits by the published credit costs. It is plain arithmetic on Zenrows’ numbers and assumes every request in the month uses the same configuration.
| Zenrows rung | Standard (1) | JavaScript rendering (5) | Premium Proxies (10) | Both (25) |
|---|---|---|---|---|
| Build B1, $19 | 45,000 | 9,000 | 4,500 | 1,800 |
| Build B2, $29 | 80,000 | 16,000 | 8,000 | 3,200 |
| Build B3, $39 | 120,000 | 24,000 | 12,000 | 4,800 |
| Launch L1, $69 | 250,000 | 50,000 | 25,000 | 10,000 |
| Launch L2, $99 | 500,000 | 100,000 | 50,000 | 20,000 |
| Launch L3, $129 | 700,000 | 140,000 | 70,000 | 28,000 |
| Growth G1, $199 | 1,200,000 | 240,000 | 120,000 | 48,000 |
| Growth G2, $279 | 2,000,000 | 400,000 | 200,000 | 80,000 |
| Growth G3, $399 | 3,000,000 | 600,000 | 300,000 | 120,000 |
| Scale S1, $549 | 5,000,000 | 1,000,000 | 500,000 | 200,000 |
| Scale S2, $749 | 8,000,000 | 1,600,000 | 800,000 | 320,000 |
| Scale S3, $999 | 12,500,000 | 2,500,000 | 1,250,000 | 500,000 |
On ScrapeUnblocker, the number is fixed per plan whatever the site, from 34,000 requests on Starter to 1,818,000 on Ultimate.
Three price points side by side
The two services price in different currencies: Zenrows in US dollars and ScrapeUnblocker in euros. We have not converted between them, because exchange rates move. Zenrows figures use monthly billing. Prices are per 1,000 requests:
| Around | ScrapeUnblocker | Zenrows, standard | JavaScript rendering | Premium Proxies | Both |
|---|---|---|---|---|---|
| 29 a month | Starter (€29): about €0.85 | Build B2 ($29): about $0.36 | about $1.81 | about $3.63 | about $9.06 |
| 99 a month | Pro (€99): about €0.75 | Launch L2 ($99): about $0.20 | about $0.99 | about $1.98 | about $4.95 |
| 1,000 a month | Ultimate (€1,000): about €0.55 | Scale S3 ($999): about $0.08 | about $0.40 | about $0.80 | about $2.00 |
How to read these numbers
Here is the honest reading. If your target sites work with Zenrows’ standard requests, its plans cover roughly 2 to 7 times as many requests for a similar nominal amount at the three price points above. With JavaScript rendering it depends on plan size: at around 29 and 99 a month, the Zenrows rung covers fewer rendered requests than the ScrapeUnblocker plan covers requests (16,000 against 34,000, and 100,000 against 132,000), while at around 1,000 it covers more (2,500,000 against 1,818,000). With Premium Proxies, alone or with rendering, each request draws 10 or 25 credits: across the published rungs, about $0.80 to $4.22 per 1,000 requests with Premium Proxies and about $2.00 to $10.56 with both, against €0.55 to €1.00 per 1,000 on ScrapeUnblocker.
What we cannot tell you is which configuration your particular sites need on Zenrows. That decides most of the price difference, and only a test on your own URLs will show it (see the end of this article).
What you pay for when a request fails
Both services say they do not charge for failed requests, but the details differ.
Zenrows. Its pricing page states that failed requests are never charged and that Not Found (404) and Gone (410) responses count as successful results. Its error code documentation says a request to a domain that cannot be resolved (RESP007 Site Not Found) is billed. Requests that use allowed_status_codes to get the content of a target’s error page incur charges, and a screenshot request is charged when the API returns a 200, whether or not the image shows what you expected.
ScrapeUnblocker. Per our errors documentation, a delivered page (200) is billed. When the target itself answers 404 or 410, or its origin returns its own 5xx error page, we return a 200 with an X-Origin-Status header carrying the target’s status, and that is billed too. A domain that does not exist (400 Hostname cannot be resolved) is billed, and so is a browser steps action that fails after the page has rendered (422 step_failed). A 403 (blocked by the target’s bot protection on every bypass path we have), timeouts, 523 Origin unreachable, 429 rate limit, 402 out of quota and all errors on our side are not billed.
| Outcome | ScrapeUnblocker | Zenrows |
|---|---|---|
| Page delivered | Billed, 1 credit | Billed, 1 to 25 credits |
| Target answers 404 or 410 | Billed (200 with X-Origin-Status) | Billed (counted as successful) |
| Target domain does not exist | Billed (400) | Billed (RESP007) |
| Target returns its own 5xx error page | Billed (200 with X-Origin-Status) | Content returned if you list the code in allowed_status_codes, and billed |
| Failed request | Not billed | Not billed |
One caveat applies to both. Each service decides for itself whether a response counts as a success. If a challenge page comes back looking like a normal page, whether it is caught depends on that service’s own checks. We have not tested how Zenrows handles this.
Features compared
| Feature | ScrapeUnblocker | Zenrows |
|---|---|---|
| JavaScript rendering | Always on, in a real browser | Headless browser, js_render=true |
| Geotargeting | proxy_country, with a published list of supported countries | proxy_country with Premium Proxies; country list in its FAQ |
| Structured data | parsed_data=true returns JSON (Schema.org, __NEXT_DATA__ or AI-generated rules) | css_extractor, outputs filters, and Extract (Beta) on domains Zenrows has prepared |
| Output formats | HTML, or JSON with parsed_data=true | HTML, Markdown, plain text or PDF |
| Page interaction | steps: click, type, select, press keys, scroll and wait, up to about 10 steps, plus list_elements | JavaScript Instructions: click, fill, check, select, scroll, wait, custom JavaScript; 40-second limit |
| Screenshots | Not offered | Above the fold, full page or one element |
| Custom request headers | Not offered | custom_headers=true |
| Sessions | get_cookies=true returns the cookies and the proxy address used | session_id keeps the same IP for up to 10 minutes; target cookies in a Zr-Cookies header |
| Large URL lists | Asynchronous requests not offered | Batch: up to 100,000 URLs per job, with a completion webhook |
| Google search | /serpApi returns organic results, ads and Google’s AI overview as JSON | No dedicated search endpoint found in its documentation |
| Site-specific data | Plugin endpoints returning JSON, for example Amazon, eBay, Walmart, Target, Etsy, Indeed, TikTok, Booking.com, Airbnb and Skyscanner | Extract on prepared domains; new domains can be requested |
| Maximum request time | 60 seconds (90 with steps) | 3 minutes, per its wait_for documentation |
| Client libraries | Python, Node.js, Ruby and PHP | Python, Node.js and Go, plus a CLI |
| AI tooling | MCP server (Claude, ChatGPT and other MCP clients), Claude Code plugin | MCP server, CLI, agent skills and plugins |
| Other integrations | Scrapy middleware, n8n node, Apify actors | Zapier, Make, n8n, Pipedream, Clay, Scrapy and others |
A note on rate limits. Zenrows limits how many requests can be in flight at once; ScrapeUnblocker states a rate in requests per second. These units cannot be compared directly, because the throughput a concurrency limit gives depends on how long each request takes. If throughput matters, measure it on your own targets.
On free usage: Zenrows’ 5,000 monthly credits are 5,000 standard requests, 1,000 with JavaScript rendering, 500 with Premium Proxies or 200 with both. ScrapeUnblocker gives 500 requests on signup.
When Zenrows may be the better fit
- Many of your targets work with standard requests (1 credit), or you render JavaScript at high volume on the larger rungs.
- You want an ongoing free allowance of 5,000 credits a month.
- You need Markdown, screenshots, custom headers, asynchronous batch jobs, or requests that can run longer than 90 seconds.
- You want a hosted browser to drive with Puppeteer or Playwright (Browser Sessions).
- You work in Go, or rely on its Zapier, Make, Pipedream or Clay integrations.
- You need items on its Enterprise plan, such as an SLA, SOC 2, ISO 27001 and a DPA.
- You want credit rollover or an annual billing discount.
- You already have a working Zenrows integration that meets your needs.
When ScrapeUnblocker may be the better fit
- Your targets need Zenrows’ Premium Proxies, alone or with JavaScript rendering, and you want the same price per request whatever the site.
- You need country targeting on many requests: on ScrapeUnblocker it is part of the one-credit request.
- You want to predict your bill from request volume alone, without tracking credit multipliers.
- You want pay-as-you-go with no monthly commitment, which Zenrows’ documentation says it does not offer as a standalone option today.
- You want Google search results as JSON from a dedicated endpoint (
/serpApi). - You work in Ruby or PHP and want an official client library.
- You prefer to be billed in euros.
What this comparison does not tell you
- Success rates. We have not run Zenrows and ScrapeUnblocker against the same set of sites, so we make no claim about which one gets through more often on any particular site. We have published a benchmark of our own API, but it measures ScrapeUnblocker only.
- Which Zenrows configuration your sites need. This drives most of the price difference.
- Speed. We have not measured Zenrows’ response times.
- Some billing edge cases. Zenrows’ documentation says a JavaScript Instructions sequence that passes 40 seconds returns the content visible at that point. We did not find how such a response is billed.
- Annual billing, rollover and top-ups. Our tables use monthly prices and assume every credit is spent in the month; these options change the effective price.
- Extract coverage. Extract is in Beta and works on prepared domains; we did not check which.
- The rest of Zenrows’ platform. Browser Sessions, Batch and residential proxies have their own billing; we compared them only where they overlap.
- Enterprise terms. We do not know what Zenrows offers beyond its public pricing.
- Anything that changed after 24 September 2026. Both pricing pages can change at any time.
How to decide in an afternoon
- Pick 50 to 100 URLs that represent your real workload.
- Run them through Zenrows’ Free plan with
mode=auto. Its documentation says each response carries anX-Request-Costheader with that request’s cost. If every URL needs 25 credits, 5,000 credits cover 200 requests. - Run the same URLs through ScrapeUnblocker’s 500 free requests.
- For each service, count the pages you actually received (check the content, not only the status code), then divide the monthly price you would pay by the number of good pages you would get.
The service with the lower cost per good page on your own URLs is the cheaper one for you. You can start with our 500 free requests on the pricing page.
Sources
- Zenrows pricing: zenrows.com/pricing, viewed 24 September 2026
- Zenrows pricing documentation: docs.zenrows.com/first-steps/pricing, viewed 24 September 2026
- Zenrows API error codes: docs.zenrows.com/api-error-codes, viewed 24 September 2026
- Zenrows FAQ: docs.zenrows.com/first-steps/faq, viewed 24 September 2026
- Zenrows Fetch documentation (parameters and features): docs.zenrows.com/fetch/api-reference, viewed 24 September 2026
- Zenrows Extract, Batch, Browser Sessions, SDK and integrations documentation: docs.zenrows.com, viewed 24 September 2026
- ScrapeUnblocker pricing: scrapeunblocker.com/pricing
- ScrapeUnblocker errors and billing: docs.scrapeunblocker.com/errors
- ScrapeUnblocker documentation: docs.scrapeunblocker.com
Zenrows is a trademark of its respective owner. ScrapeUnblocker is not affiliated with, endorsed by, or sponsored by Zenrows. This article is published by ScrapeUnblocker and reflects information that was publicly available on 24 September 2026. If you believe anything here is inaccurate or out of date, please contact us and we will review and correct it.
Try ScrapeUnblocker free
95%+ success rate · from 0.55€ per 1,000 calls · 500 free requests on signup.