ScrapeUnblocker vs. Browserless: Requests, Browser Units and Features Compared (2026)
ScrapeUnblocker and Browserless both put a real browser between you and the site you want to read, but they are different kinds of product. ScrapeUnblocker is a web scraping API: you send a URL, and it returns the rendered page, with proxies, browser rendering and CAPTCHAs handled for you, at one credit per request. Browserless is a hosted headless-browser platform: you connect Puppeteer or Playwright to its browsers over WebSocket, or drive them with its BrowserQL language and BAP SDKs, and it also offers REST APIs for single tasks such as fetching a page’s HTML or taking a screenshot. Browserless bills in units of browser time, plus proxy traffic and CAPTCHA solves, rather than per request.
This article compares the parts that overlap: getting a page’s content through an API call, and what each service charges for it. Because the billing units differ, we explain the difference instead of forcing both onto one price-per-page scale.
A note before we start: we make ScrapeUnblocker, so we are not a neutral party. To keep this comparison fair and checkable, every Browserless figure below comes from Browserless’s own public pricing page, the Markdown version of that page (with monthly and annual prices), and its 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.
At a glance
| ScrapeUnblocker | Browserless | |
|---|---|---|
| What it is | Web scraping API: send a URL, get the page back | Hosted headless browsers you drive with Puppeteer, Playwright, BrowserQL or BAP, plus REST APIs for single tasks |
| Billing unit | 1 request = 1 credit | Units: up to 30 seconds of browser time per browser connection, plus proxy traffic and CAPTCHA solves |
| Proxies and CAPTCHAs | No separate charge | Built-in residential (6 units per MB) and datacenter (2 units per MB) proxies; 10 units per successful CAPTCHA solve |
| Entry price | Pay as you go at €1.00 per 1,000 requests; monthly plans from €29 | Prototyping at $35 per month, or $25 per month billed annually |
| Largest self-serve plan | €1,000 per month (Ultimate) | Scale at $500 per month, or $350 per month billed annually |
| Free usage | 500 requests on signup, no card needed | Free plan: 1,000 units per month, no card required |
| Throughput limit | 2 to 10 requests per second (Pay as you go to Pro); up to 400 (Business to Ultimate) | 2 to 80 concurrent browsers on monthly billing, 2 to 100 on annual billing |
| Currency | EUR | USD |
How Browserless pricing works
Browserless’s pricing page lists a Free plan, three paid plans and a custom Enterprise option. Paid plans can be billed monthly or annually; according to the page, only price and concurrency differ between the two.
| Plan | Monthly billing | Annual billing (per month) | Units per month | Max concurrent browsers (monthly / annual) | Max session time | Overage per unit |
|---|---|---|---|---|---|---|
| Free | $0 | $0 | 1,000 | 2 / 2 | 2 min | - |
| Prototyping | $35 | $25 | 20,000 | 5 / 10 | 15 min | $0.0020 |
| Starter | $200 | $140 | 180,000 | 30 / 40 | 30 min | $0.0017 |
| Scale | $500 | $350 | 500,000 | 80 / 100 | 60 min | $0.0015 |
| Enterprise | Custom | Custom | Custom | Custom | Custom | Custom |
On paid plans, usage beyond the allowance is charged per unit at the overage rate; on the Free plan, requests are rejected once the allowance is used up. Browserless’s homepage gives its price currency as USD, and we did not find a statement on whether the listed prices include tax.
The unit is the detail that matters most. The pricing page defines it as “a block of browser time of up to 30 seconds per browser connection”. Longer sessions use another unit for every 30 seconds, and session reconnects count as new browser connections. Built-in proxies and CAPTCHA solving draw from the same balance:
| Usage | Cost in units |
|---|---|
| Browser time | 1 unit per 30 seconds, partial increments rounded up |
| Residential proxy traffic | 6 units per MB |
| Datacenter proxy traffic | 2 units per MB |
| Successful CAPTCHA solve | 10 units |
| Traffic through your own external proxy | No proxy units |
Browserless’s unit consumption documentation adds that REST endpoints, BaaS connections and BrowserQL “all meter the same way”, so a REST call that finishes in under 30 seconds costs 1 unit. Its stealth documentation also says “Stealth sessions cost more units”, but we did not find how many more on the pricing or unit consumption pages.
Per 1,000 units, the listed prices come to (our arithmetic):
| Plan | Monthly billing | Annual billing | Overage |
|---|---|---|---|
| Prototyping | $1.75 | $1.25 | $2.00 |
| Starter | about $1.11 | about $0.78 | $1.70 |
| Scale | $1.00 | $0.70 | $1.50 |
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.
Requests and units: why the prices do not line up
A ScrapeUnblocker credit is attached to a request. A request can run for up to 60 seconds (90 seconds with browser steps), and its price does not change with how long the page takes to load, how much data it transfers or whether a CAPTCHA appears.
A Browserless unit is attached to the resources a job uses, so the units one page load needs depend on the page and your options. The examples below use Browserless’s published rates. They are illustrations, not measurements: we have not measured load times or page sizes on Browserless.
| Example page load on Browserless | Units |
|---|---|
| Under 30 seconds, no built-in proxy (or your own proxy) | 1 |
| Under 30 seconds, datacenter proxy, 1 MB transferred | 1 + 2 = 3 |
| Under 30 seconds, residential proxy, 1 MB transferred | 1 + 6 = 7 |
| A 30-second session, residential proxy, 2 MB transferred (Browserless’s own example) | 1 + 12 = 13 |
| 45 seconds, residential proxy, 2 MB transferred, one CAPTCHA solved | 2 + 12 + 10 = 24 |
So if your pages load quickly without Browserless’s built-in proxies, one unit covers one page load, or several within the same 30 seconds of one session, because units meter session time rather than pages. With the built-in proxies, bandwidth can outweigh browser time: in Browserless’s own example, 2 MB of residential traffic costs 12 units against 1 unit of browser time.
For that reason we have not put a Browserless price per page next to ours. To estimate one, multiply the units a typical page of yours uses by your plan’s price per unit. The two services also price in different currencies, and we have not converted between them, because exchange rates move.
What you pay for when a request fails
Browserless. Its documentation says units meter browser time actually used, “so it depends on when the failure happens”. A request rejected before a browser starts, for example a 429 from a full queue or a validation error, consumes nothing. A request that fails mid-run still consumes the browser time used up to the failure, plus any proxy bandwidth already transferred. CAPTCHA solve attempts that do not clear the challenge are not charged. We did not find a separate rule for a target that answers 404 or 410. Its Smart Scrape API reports a failure as HTTP 200 with ok: false, so check that field.
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 | Browserless |
|---|---|---|
| Page delivered | Billed, 1 credit | Browser time, proxy traffic and CAPTCHA solves used |
| Target answers 404 or 410 | Billed (200 with X-Origin-Status) | No separate rule found; browser time and traffic used are metered |
| Blocked by bot protection, or timed out | Not billed (403, timeout) | Browser time and proxy traffic used up to that point |
| CAPTCHA not cleared | No separate charge | Solve attempt not charged |
| Rejected before processing | Not billed (429 rate limit) | Nothing consumed (for example a 429 from a full queue) |
| Allowance used up | Not billed (402) | Paid plans: overage per unit; Free plan: requests rejected |
One caveat on our side: whether a ScrapeUnblocker response is billed depends on how our service classifies it, for example whether a challenge page is recognized as a block. On Browserless, billing follows time and traffic used, not the outcome.
Features compared
| Feature | ScrapeUnblocker | Browserless |
|---|---|---|
| How you use it | HTTP API: send a URL, get the page | Puppeteer or Playwright over WebSocket (BaaS), BrowserQL (GraphQL), BAP SDKs, or REST APIs |
| Page content in one HTTP call | /getPageSource, browser rendering always on | /content (rendered HTML), /unblock (bot-detection bypass), /smart-scrape (HTTP fetch first, then a browser if needed) |
| Browsers | Real browser, always on | Chromium by default, Chrome, a Stealth browser; Firefox, WebKit and Edge through Playwright |
| Geotargeting | proxy_country, with a published list of supported countries | proxyCountry (ISO 3166 codes) with built-in proxies; city-level targeting requires the Scale plan |
| Page interaction | steps: click, type, select, press keys, scroll and wait, up to about 10 per request, plus list_elements | Full Puppeteer or Playwright control, BrowserQL, or up to 20 actions in a Smart Scrape request |
| Structured data | parsed_data=true returns JSON (Schema.org, __NEXT_DATA__ or AI-generated rules) | /scrape returns JSON for the CSS selectors you specify |
| Screenshots and Markdown | Not offered | Smart Scrape formats and a /screenshot endpoint; PDFs through /pdf |
| Custom headers, asynchronous jobs | Not offered | headers in Smart Scrape; Crawl API (beta) and Agent Run API |
| Search | /serpApi: Google results as JSON (organic results, ads and Google’s AI overview) | Search API (beta): web, news and image search, optionally scraping each result |
| Site-specific data | Plugin endpoints that return JSON, for example Amazon, eBay, Walmart, Target, Etsy, Indeed, TikTok, Booking.com, Airbnb and Skyscanner | Agent Skill Catalog of site-specific skills, callable through its MCP server, returning structured JSON |
| Maximum duration | 60 seconds per request (90 with steps) | 2 minutes (Free) to 60 minutes (Scale) per session |
| Official client libraries | Python, Node.js, Ruby and PHP | BAP SDKs for TypeScript and Python; standard Puppeteer and Playwright libraries |
| AI tooling | MCP server (Claude, ChatGPT and other MCP clients), Claude Code plugin | MCP server, Claude Code plugin, guides for agent frameworks such as Browser Use and Stagehand |
| Other integrations | Scrapy middleware, n8n node, Apify actors | n8n, Make and Zapier; Scrapy with /content or BrowserQL |
A note on limits: Browserless limits concurrent browsers, while ScrapeUnblocker states requests per second. These cannot be compared directly, because the throughput a concurrency limit gives depends on how long each job takes. If throughput matters, measure it on your own targets.
When Browserless may be the better fit
- You already have Puppeteer or Playwright scripts and want to run them on hosted browsers by changing the connection URL.
- Your work is browser automation rather than page fetching: long sessions (up to 60 minutes on Scale), persisted sessions, authenticated profiles, or hybrid automation where a person takes over a live session.
- You need screenshots, Markdown, custom request headers or asynchronous crawls.
- Your pages load quickly and you do not need its built-in proxies, so one unit can cover a page load or more.
- You want a free allowance that renews: 1,000 units every month, against our 500 requests once.
- You want to self-host (Browserless offers a Docker image under the SSPL-1.0 license and a licensed Enterprise image), or need compliance items from its pricing page, such as SOC 2 Type II.
When ScrapeUnblocker may be the better fit
- You want a URL-in, page-out API and would rather not write or maintain browser automation code.
- You want a fixed price per request, whatever the load time, page size or CAPTCHA.
- You want pay as you go with no monthly commitment. Browserless’s pricing page lists a Free plan and monthly or annual subscriptions, and we did not find a pay-as-you-go option there.
- You want Google results as JSON, structured JSON from
parsed_data, or plugin endpoints for common sites under one API key. - You work in Ruby or PHP and want an official client library, or you prefer to be billed in euros.
What this comparison does not tell you
- Success rates. We have not run ScrapeUnblocker and Browserless 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.
- Speed. We have not measured Browserless’s response times. On Browserless, speed also affects the bill.
- Two unit rules we could not pin down. Browserless’s documentation says stealth sessions cost more units, but we did not find the amount; and we did not find whether a Smart Scrape call answered by its plain HTTP fetch, without a browser, consumes units.
- Tax and custom terms. We did not find whether Browserless’s prices include tax, and we do not know what either company offers under an Enterprise contract.
- 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 Browserless’s Free plan with the endpoint and proxy settings you would use in production, such as
/content,/unblockor/smart-scrape. Its request logs show the units each request used. At 13 units per page, as in Browserless’s residential-proxy example, 1,000 units cover about 76 page loads. - 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 work out the cost per good page: units used times price per unit on Browserless, requests times price per request on ScrapeUnblocker.
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
- Browserless pricing: browserless.io/pricing, viewed 24 September 2026
- Browserless pricing, Markdown version: browserless.io/pricing.md, viewed 24 September 2026
- Browserless homepage (price currency): browserless.io, viewed 24 September 2026
- Browserless unit consumption documentation: docs.browserless.io/overview/unit-consumption, viewed 24 September 2026
- Browserless documentation (REST APIs, proxies, browsers, BAP, MCP, integrations, request logs): docs.browserless.io, viewed 24 September 2026
- Browserless Agent Skill Catalog: browserless.io/skills, viewed 24 September 2026
- ScrapeUnblocker pricing: scrapeunblocker.com/pricing
- ScrapeUnblocker errors and billing: docs.scrapeunblocker.com/errors
- ScrapeUnblocker documentation: docs.scrapeunblocker.com
Browserless is a trademark of its respective owner. ScrapeUnblocker is not affiliated with, endorsed by, or sponsored by Browserless. 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.