Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Browserless replaces much of the work of operating a browser fleet with a managed, usage-billed service; running Chrome yourself avoids Browserless usage charges but shifts hosting, scaling, security and maintenance onto your team. There is no defensible universal break-even screenshot count: the answer depends on how long sessions stay open, peak concurrency, hosting costs and the value of engineering time.

Here is how to compare the two approaches using the same workload, based on Browserless and Puppeteer information checked on October 3, 2026. Vendor prices and terms can change.

What Browserless costs under its published plans

Browserless charges browser time in units, rather than charging a fixed amount for every screenshot. Its pricing page listed the following plans when checked on October 3, 2026; verify the current terms and billing selection before making a purchasing decision.

Plan Published price Monthly units Concurrent browsers Overage
Free $0/month 1,000 2 Not stated on the pricing page for this plan
Prototyping $25/month when billed annually 20,000 Up to 10 $0.0020 per overage unit

These are Browserless-published plan terms, not an estimate of your total testing cost. The listed Prototyping price is specifically for annual billing; do not assume that price applies to a different billing selection. Check the Browserless pricing page for current plan details.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How browser-time units affect screenshot tests

Browserless bills browser time in 30-second units and rounds partial units upward. A 31-second connection therefore consumes two units. The measured time is the full period the browser session remains open—not just the time spent taking the screenshot. Navigation, waits, rendering, capture and any idle-but-open time can all affect the total. Close sessions promptly when the work is done.

Browserless also says a reconnect counts as a new browser connection and incurs a fresh unit charge. Proxy traffic and CAPTCHA solving can consume units separately if your test uses those features; they are not normally central to a controlled screenshot test. See the Browserless unit and billing documentation for the billing mechanics.

Translate your workload into an estimate

Start with the duration of each connection, round each session up to the next 30-second block, and total the resulting units. For example, if a test keeps one connection open for 31 seconds, that connection uses two units. Multiply that rule across your actual sessions, including new connections made after reconnects. Then compare the total with the plan allowance and include any applicable overage. This is a workload calculation, not a cost-per-screenshot guarantee: one test may finish quickly, while another may spend longer waiting for a page or leaving a browser open.

What running Chrome yourself costs—and what the bill leaves out

Self-hosting avoids Browserless cloud usage charges, but it does not make browser capacity free. You pay for the server or container resources, and you take responsibility for deployment, browser binaries and dependencies, security, updates, monitoring, capacity planning and recovery when jobs fail. The available sources do not establish a monthly self-hosting price because they do not specify a workload, hosting provider, region, resource utilization, network use or labor cost.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use vendor sizing as an initial clue, not a quote

Browserless publishes these indicative resource tiers for self-hosted deployments:

Concurrent sessions Indicative resources
5–10 2 CPU · 4 GB RAM
10–20 4 CPU · 8 GB RAM
20–50 8+ CPU · 16+ GB RAM

These are Browserless’s recommendations, not independent benchmarks or performance guarantees. Actual demand depends on the pages being captured, viewport, media, browser reuse and simultaneous activity. Benchmark representative pages on the instance and deployment you intend to use before treating a concurrency target as achievable. See Browserless self-hosting guidance.

Browser installation and container operations are part of the cost

Puppeteer installation downloads a compatible Chrome for Testing binary by default. Puppeteer Core does not download Chrome; it is intended for remote-browser connections or setups where the browser is managed separately. A self-hosted deployment therefore needs a plan for browser binaries, compatible system dependencies and ongoing image or package updates. Refer to the Puppeteer installation guide.

The Puppeteer Docker guide, version 25.12.0, describes an image with Chrome for Testing and required dependencies. Its documented invocation requires the SYS_ADMIN capability for sandbox mode and recommends an init process to manage browser processes. Container setup also needs to account for shared libraries, sandbox configuration, writable browser-profile paths and process or resource limits; these can cause failures even when the test script itself is correct. See the Puppeteer Docker guide and Puppeteer system requirements and troubleshooting documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Security and licensing need a place in the estimate

Browserless describes its open-source Docker image as free under SSPL-1.0 and says additional commercial licensing applies to closed-source commercial products or CI systems. Check the current license and whether it fits your deployment before relying on that route. Its deployment guide warns that a reachable deployment without TOKEN leaves endpoints unauthenticated, including /function, which can execute Puppeteer code submitted in request bodies. Do not expose an unauthenticated instance; use authentication and network controls. See the Browserless open-source deployment documentation.

How to compare the two approaches fairly

Build both estimates around the same test workload. Comparing a managed plan price with a cloud server’s headline price alone omits session duration, concurrency, overages and the labor of operating Chrome.

  1. Measure jobs and connection time. Count monthly screenshot or test jobs, then measure the full time each browser connection remains open: navigation, waits, rendering, capture and idle time. Apply Browserless’s 30-second rounding and account for reconnects as new connections.
  2. Record concurrency. Measure typical and peak simultaneous sessions. Compare the peak with the selected Browserless plan’s concurrency limit and unit allowance, and include overage if your estimate exceeds the allowance.
  3. Benchmark a self-hosted deployment. Run representative pages on the intended instance or container at the target concurrency. Record CPU and RAM use, failures and retries. Include storage and network charges where relevant; the vendor sizing table is only an initial capacity clue.
  4. Value the operational work. Include deployment, security controls, browser and operating-system updates, observability, capacity planning and incident response. These are real work items, but the cited sources do not price the labor.
  5. Compare constraints as well as dollars. Consider data location and security boundaries, required browser engines, how much version control you need, and your tolerance for queueing or scaling work.

Do not infer a break-even job count from the published prices and sizing tiers alone. It requires your session-duration distribution, concurrency, selected managed plan, hosting provider and region, measured resource use, and labor assumptions. No independent named statistic establishes a universal total-cost comparison for this workload.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Which approach fits your workload?

Browserless may fit when managed capacity is worth the usage charge

A managed browser fleet can make sense if you prefer not to package and maintain Chrome, need published concurrency limits, or do not want your team to operate browser capacity and its failures. Use measured session times to check whether the plan allowance and concurrency fit your test run, and account for overages and reconnects.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Self-hosting may fit when control justifies operating the fleet

Running Chrome yourself can suit teams that need control over deployment, browser versions or the data boundary, and that can provide hosting capacity and operational ownership. Make the decision using a benchmark on your actual pages and deployment—not an assumption that a small generic server can sustain a given number of sessions.

Alternative: ScreenshotNeo for screenshot API jobs

If your requirement is to request website screenshots through an API rather than operate a Puppeteer test fleet, ScreenshotNeo is another option to evaluate. It is a screenshot API and MCP server made by Yorker Media. It is not a like-for-like replacement for every Puppeteer test: assess whether your tests need browser-level control or can be handled by its screenshot options.

Its stated differentiators include accepting cookie or consent banners like a visitor and removing more than 60 known consent platforms, newsletter popups and chat widgets before capture; each step can be disabled. Only clean shots are billed: bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing, with response headers indicating the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for AI agents and MCP clients such as Claude and Cursor.

ScreenshotNeo lists 1,000 free shots per month with no card; paid plans start at $5 for 3,000 shots, and every feature is available on every plan. For API details, see the ScreenshotNeo documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup

One GET request can return a screenshot. Replace the example URL with the page you want to capture, and supply your API key:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Cookie banners, popups and chat widgets are removed before the shot; bot checks, blank pages and failed loads are never billed. AI agents can take screenshots through its MCP server. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up free for ScreenshotNeo.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.