How do cloud browsers bill session seconds, proxy megabytes, and CAPTCHA attempts?
A current, vendor-by-vendor guide to cloud browser meters, one-hour costs, additive proxy and CAPTCHA charges, and abandoned-session exposure.
The dataset behind this guide
What is calculated and what is checked. This guide is not a market ranking, so it carries no computed winner: the site's market band prices 100,000 JavaScript-rendered pages a month, and quoting it here would answer a question this page never asked. The prose below is written by a person. Each money figure is checked against the dated vendor price stored with this guide, but that does not mean the vendor page was freshly rechecked. A mismatch must be explained by the shown arithmetic or another cited vendor fact, or the page is not published.
One cloud-browser hour can mean 120 Browserless Units, 100 Hyperbrowser credits, $0.09 plus bandwidth at ZenRows, or no time charge at all because Bright Data bills only transferred gigabytes. Browserless, Hyperbrowser, ZenRows, and Bright Data, retrieved 2026-07-26.
The answer is to price each independent meter, then apply the plan allowance and minimum purchase: browser time, proxy traffic, CAPTCHA attempts, initialization, requests or steps, and sometimes concurrent capacity can all appear on the same bill. Browserless, Browser Use, and Cloudflare, retrieved 2026-07-26.
The billing formula that survives vendor terminology
For a session-based product, use this shape and delete the terms that the vendor does not charge:
billable usage
= rounded session time
+ proxy traffic
+ CAPTCHA attempts
+ browser creation or task initialization
+ API calls, agent steps, or model tokens
+ concurrent-capacity charges
cash due
= plan minimum
+ usage above each included allowance
Do not add every published figure blindly. Browserless explicitly adds proxy and CAPTCHA Units to browser-time Units, while Browserbase separately meters browser hours and proxy gigabytes. By contrast, Bright Data Browser API replaces the whole time-and-request model with bandwidth billing. Browserless unit consumption, Browserbase pricing, and Bright Data Browser API, retrieved 2026-07-26.
Every meter in the current cloud-browser vendor records
The table includes every product tagged cloud-browser in the current dataset. Some are remote-browser sessions. Others are request APIs or platforms that expose a browser-backed path, so an hourly comparison is not always possible.
Every meter in the current cloud-browser vendor records table
| Vendor | What the vendor bills on | How the meters combine | Source |
|---|---|---|---|
| AgentQL | AgentQL API calls and remote-browser hours. Starter includes 50 calls and 10 browser hours, then charges $0.02 per call and $0.12 per browser hour. Professional includes 10,000 calls and 500 hours, then charges $0.015 per call and $0.10 per hour. | The public page does not say whether an extraction call and browser time are always additive. | AgentQL, retrieved 2026-07-26 |
| Anchor Browser | Task plans use 0.1 credit per completed task. The infrastructure path charges $0.01 per created browser, $8 per GB through Anchor Proxy, $0.20 per GB for bring-your-own or proxyless egress, and AI steps. The docs publish $0.05 per browser hour rounded to a full minute, while the homepage calculator uses $0.09 per hour. | Infrastructure meters add, but the hour-rate conflict prevents one authoritative current total. The docs also mark a $0.01 to $0.10 AI-step schedule as effective August 21, 2026, so that future schedule should not be applied to a July invoice. | Anchor pricing docs and homepage calculator, retrieved 2026-07-26 |
| Apify | Compute Units, where 1 CU is 1 GB of RAM for 1 hour; residential proxy traffic; datacenter proxy IPs; storage operations and GB-hours; internal and external transfer; rented Actors; and Actor-specific pay-per-event charges. Compute is $0.20 per CU on Free and Starter, $0.16 on Scale, and $0.13 on Business. | Resource and Actor charges can add. A failed run or retry can still consume resources. | Apify pricing and Actor usage docs, retrieved 2026-07-26 |
| Browser Use Cloud | Browser time, proxy GB, $0.01 task initialization, V2 agent steps, V3 model input and output tokens, skill creation, and skill execution. Browser time is $0.06 per hour on Pay As You Go and Starter or $0.03 on Business and Scaleup. Proxy rates are $10, $7.50, $5, or $4 per GB by plan. | Usage draws from a dollar credit balance. Browser time is billed by the minute and unused prepaid time is refunded when the session stops. | Browser Use pricing and browser-session docs, retrieved 2026-07-26 |
| Browserbase | Browser hours; Search calls; Fetch calls; Extract calls; proxy GB; and Agent runs. Developer overage is $0.12 per browser hour and $12 per proxy GB. Startup is $0.10 per hour and $10 per GB. Fetch and Extract have separate proxy and non-proxy request rates. | Browser time and proxy traffic add. Proxy Fetch or Extract rates replace the corresponding no-proxy call rate. Agent overage is not published as a fixed meter. | Browserbase pricing, retrieved 2026-07-26 |
| BrowserCloud | One shared credit pool pays 1 credit per page scrape, 5 per screenshot, 5 per PDF, 12 per datacenter MB, 80 per residential MB, and 1,000 per browser hour. | The public page does not say whether browser time, proxy traffic, and HTTP operations add inside one workflow. | BrowserCloud pricing, retrieved 2026-07-26 |
| Browserless | 1 Unit per started 30 seconds, 6 Units per residential MB, 2 Units per datacenter MB, and 10 Units per CAPTCHA attempt. | All four meters add. The unit-consumption docs bill every CAPTCHA attempt even when it fails. | Browserless unit consumption, retrieved 2026-07-26 |
| Bright Data Browser API | Browser API traffic only: $8 per GB with no commitment, or $7, $6, and $5 per GB at published monthly commitments. There is no separate browser-instance, session-time, request, or CAPTCHA meter. | The bandwidth rate replaces per-session and per-request billing. Premium-domain bandwidth can cost more, but the premium rate is not public. | Bright Data Browser API, retrieved 2026-07-26 |
| Cloudflare Browser Run | Browser hours, plus monthly-average concurrent browsers for direct Puppeteer, Playwright, or CDP sessions. Workers Paid includes 10 hours and 10 average browsers, then charges $0.09 per hour and $2 per additional average browser. Quick Actions use only the hour meter. | The two meters add for direct sessions. Monthly browser time is rounded to the nearest whole hour after daily seconds are totaled. | Cloudflare Browser Run pricing, retrieved 2026-07-26 |
| Crawlbase | Successful Crawling API requests, with the dollar rate selected by Crawlbase’s domain-complexity tier. The current vendor record stores 1 request for both standard and JavaScript paths, but the site’s SPA target record says a JavaScript call consumes 2 requests. | A reliable JavaScript multiplier cannot be published until that internal conflict is resolved. The static page does not expose the numeric domain-tier prices. | Crawlbase Crawling API and Crawlbase pricing, retrieved 2026-07-26 |
| Firecrawl | Scrape pages, crawl pages, search results, browser minutes, Interact minutes, AI extraction, enhanced proxy requests, PDF pages, extraction tokens, and dynamic Agent usage. Browser Sandbox and code-only Interact cost 2 credits per minute; Interact with AI prompts costs 7 credits per minute; the initial scrape is separate. | Page modes can replace one another, while browser time and the initial scrape add. The dataset cannot reduce Firecrawl’s mixed replacement and additive rules to one universal operator. | Browser Sandbox, Interact, extraction, stealth, and scrape API, retrieved 2026-07-26 |
| Hyperbrowser | 100 credits per browser hour, 10,000 credits per proxy GB, 1 credit per Fetch or Scrape page, 9 added credits for proxy Fetch, 5 added credits for JSON Fetch, 5 credits per search, 10 per search with location, 0.03 credits per AI-extraction output token, and 20 credits per HyperAgent or Browser Use step. One credit equals $0.001. | Session time and proxy data add. Fetch modifiers add to the page credit; Search and Scrape are separate operations. | Hyperbrowser pricing docs, retrieved 2026-07-26 |
| Kernel | The live docs list active browser seconds at $0.0000166667 headless, $0.0001333336 headful, or $0.0008000016 headful with GPU. They state that proxy use, standby time, and idle pool disk cost zero. | Active seconds accumulate; standby does not. The repository record conflicts by describing the headline rate as a GB-second and retaining a $0.001 per GB-hour idle-disk meter, while the live docs publish per-second rates and no idle disk charge. | Kernel pricing and limits, retrieved 2026-07-26 |
| Lightpanda Cloud | Browser hours only. Explorer includes 10 hours monthly. Builder costs $19 monthly, includes 300 hours, and charges $0.08 per additional hour. Proxies are bring-your-own. | No additive Lightpanda proxy or CAPTCHA meter is published. | Lightpanda pricing, retrieved 2026-07-26 |
| ScrapeNinja | JavaScript and non-JavaScript calls use separate request quotas and overage rates. Every RapidAPI plan also includes 10,240 MB, then charges $0.001 per MB. Optional premium proxy traffic is sold separately by GB. | One call uses its matching request quota; bandwidth can add. Failed-call billing is not published. | ScrapeNinja RapidAPI pricing and ScrapeNinja docs, retrieved 2026-07-26 |
| ScrapingFish | Each HTTP 200 or 404 response costs one successful request, or $0.002. JavaScript execution and the available proxy modes do not multiply the request charge. | Request modes replace one another at the same one-request price. There is no browser-time or separate CAPTCHA meter. | ScrapingFish and request packs, retrieved 2026-07-26 |
| Spider.cloud | Pay as you go has two line items per request: $1 per GB of incoming pre-transformation content and $0.001 per CPU minute. Unlimited replaces those meters with a flat monthly price tied to concurrent requests; AI endpoints remain separate. | Bandwidth and CPU add on pay as you go. Unlimited replaces them for its dedicated routes, but not for AI usage or geolocation. | Spider pricing, retrieved 2026-07-26 |
| Steel.dev | Steel names browser hours, proxy bandwidth, CAPTCHA solves, and /scrape as separate meters against a dollar credit balance. Dedicated IPs are $5 each on Scale. |
The current public text names the meters but does not expose readable numeric usage rates. Older plan rates should not be substituted after Steel’s June 2026 pricing change. | Steel pricing update, retrieved 2026-07-26 |
| ZenRows | Universal Scraper requests use replacement rates for basic, JavaScript, premium proxy, and protected modes. Scraping Browser separately charges plan-specific proxy GB plus $0.09 per session hour, in 30-second increments. | Scraping Browser time and GB add. Universal Scraper modes replace one another. | ZenRows pricing docs, retrieved 2026-07-26 |
| Zyte API | Successful responses use five target-difficulty tiers with separate HTTP and browser-rendered rates. Pay-as-you-go browser responses range from $1.01 to $16.08 per 1,000. Screenshots, automatic extraction, extraction input tokens, extraction output tokens, and some extended-geolocation bandwidth can add. | The target tier selects the response rate; applicable add-ons then add. An API HTTP 200 can remain billable when a browser action or extraction field fails. | Zyte pricing, billing docs, and error semantics, retrieved 2026-07-26 |
Why a per-page estimate gives the wrong answer
A page is an application event. A billable unit is a vendor event. Those events are not interchangeable.
Browser Use Cloud makes the billing unit choice explicit: browser sessions bill time and proxy data, while an agent task can add initialization and V2 step charges. The worked example below prices all four meters without treating browser time as a per-page fee. Browser Use pricing, retrieved 2026-07-26.
Bright Data creates the opposite problem. It has no session-time charge, so two one-hour jobs can have different bills solely because one transfers more bytes. ZenRows charges both dimensions, while Cloudflare can add monthly-average concurrency to time for direct sessions. Bright Data, ZenRows, and Cloudflare, retrieved 2026-07-26.
Request-backed products need yet another billing unit. ScrapingFish charges successful responses, Zyte charges successful browser-rendered responses by difficulty tier, and ScrapeNinja consumes a JavaScript request quota plus possible bandwidth overage. “One hour” does not reveal how many requests succeeded, which target tier applied, or how many MB crossed the wire. ScrapingFish, Zyte, and ScrapeNinja, retrieved 2026-07-26.
One-hour meter reference across vendors
This comparison uses one browser for exactly 3,600 active seconds. It excludes proxy traffic, CAPTCHA solving, API calls, AI work, storage, and concurrency above the plan allowance. “Included” means the hour consumes an existing allowance; it does not mean the plan itself has no purchase price.
One-hour meter reference across vendors table
| Vendor | Published result for one hour | Dollar interpretation |
|---|---|---|
| AgentQL | 1 remote-browser hour | Starter includes the first 10 monthly hours, then $0.12. Professional includes 500, then $0.10. Source, retrieved 2026-07-26. |
| Anchor Browser | Docs: $0.01 creation + 1 × $0.05. Homepage calculator: $0.01 creation + 1 × $0.09. | $0.06 by the docs or $0.10 by the homepage calculator, before proxy or AI. The conflict is unresolved, so verify the rate shown at purchase. Docs and calculator, retrieved 2026-07-26. |
| Apify | 1 hour × allocated RAM in GB | At exactly 1 GB RAM, 1 CU costs $0.20 Free/Starter, $0.16 Scale, or $0.13 Business. More RAM scales the result linearly. Source, retrieved 2026-07-26. |
| Browser Use Cloud | 1 × published hourly rate | $0.06 on Pay As You Go or Starter; $0.03 on Business or Scaleup. Source, retrieved 2026-07-26. |
| Browserbase | 1 browser hour | Included on Free, Developer, and Startup. After the allowance: $0.12 Developer or $0.10 Startup. Developer still has a $20 monthly plan floor; Startup has a $99 floor. Source, retrieved 2026-07-26. |
| BrowserCloud | 1,000 credits | The Free plan’s 1,000-credit allowance covers one hour. Hobby’s $19 pool includes 120,000 credits. No cash overage rate is published. Source, retrieved 2026-07-26. |
| Browserless | 3,600 ÷ 30 = 120 time Units | Included in the 1,000-Unit Free allowance before proxy or CAPTCHA Units are added. Unit consumption and pricing, retrieved 2026-07-26. |
| Bright Data Browser API | $8 × transferred GB on pay as you go | Browser time itself adds $0. The total cannot be known until transferred GB is known. Source, retrieved 2026-07-26. |
| Cloudflare Browser Run | 1 browser hour | Included in Workers Paid’s first 10 monthly hours, then $0.09. One direct session stays within the included 10 monthly-average browsers. Source, retrieved 2026-07-26. |
| Crawlbase | Request count × domain-tier rate | Not priceable by hour. The numeric tier price and a reliable JavaScript request multiplier are not available from the current evidence. Source, retrieved 2026-07-26. |
| Firecrawl | 60 × 2 = 120 credits code-only; 60 × 7 = 420 credits with AI prompts | Free users get 5 browser hours. A fixed dollar conversion for the credit total is not published as an overage rate; an initial Interact scrape is also separate. Browser and Interact, retrieved 2026-07-26. |
| Hyperbrowser | 100 credits × $0.001 | $0.10, before proxy traffic or agent steps. Source, retrieved 2026-07-26. |
| Kernel | 3,600 × per-second rate | Live docs produce $0.06000012 headless, $0.48000096 headful, or $2.88000576 headful with GPU. Because the repository record conflicts on whether the billing unit is a second or GB-second, verify the dashboard unit before purchase. Source, retrieved 2026-07-26. |
| Lightpanda Cloud | 1 browser hour | Included in Explorer’s first 10 hours and Builder’s 300 hours. Builder overage is $0.08. Source, retrieved 2026-07-26. |
| ScrapeNinja | JavaScript calls + bandwidth MB | Not priceable by hour. The call count, plan-specific JavaScript quota, and transferred MB are required. Source, retrieved 2026-07-26. |
| ScrapingFish | Successful requests × $0.002 | Not priceable by hour. A session with 20 successful calls costs $0.04; one with 2,000 costs $4.00. Source, retrieved 2026-07-26. |
| Spider.cloud | $1 × incoming GB + $0.001 × CPU minutes | Not priceable from wall time alone. If the job consumes exactly 60 CPU minutes, compute is $0.06, then bandwidth adds. Source, retrieved 2026-07-26. |
| Steel.dev | Browser hour + any proxy and CAPTCHA usage | Not verifiable. Current public text names the meters but does not expose readable rates. Source, retrieved 2026-07-26. |
| ZenRows | 1 × $0.09 + transferred GB × plan rate | $0.09 plus bandwidth, billed in 30-second increments. Developer bandwidth is $5.50 per GB, Startup $5.25, and Business $5.00. Source, retrieved 2026-07-26. |
| Zyte API | Successful browser responses × target-tier rate | Not priceable by hour. Pay-as-you-go rates range from $1.01 to $16.08 per 1,000 successful browser-rendered responses. Source, retrieved 2026-07-26. |
The one-hour table deliberately does not turn plan credits into an invented universal dollar rate. A plan price buys capacity, allowances, retention, and concurrency as well as usage. Dividing monthly price by one allowance can look precise while mispricing every other meter in the same shared pool. Browserless pricing and Browserbase pricing, retrieved 2026-07-26.
Fully worked example: Browser Use Cloud session and task meters
Assume a Pay As You Go job keeps one browser open for exactly 5,400 seconds, or 1.5 hours, transfers exactly 0.25 GB through the residential proxy, starts one task, and uses 20 V2 agent steps. Browser Use Cloud charges $0.06 per browser hour, $10 per proxy GB, $0.01 per task initialization, and $0.002 per V2 step on Pay As You Go. Browser Use pricing, retrieved 2026-07-26.
browser time = 1.5 hours × $0.06 per hour = $0.09
proxy data = 0.25 GB × $10 per GB = $2.50
task start = 1 task × $0.01 = $0.01
V2 steps = 20 steps × $0.002 = $0.04
total usage $2.64
Pay As You Go requires prepaid credit purchases of $25, $50, $100, or $500. One job therefore consumes $2.64 of the minimum $25 purchase and leaves $22.36. Ten identical jobs consume $26.40, which is $1.40 more than one $25 pack; the minimum published packs needed total $50 and leave $23.60. Browser Use pricing, retrieved 2026-07-26.
1 job = 1 × $2.64 = $2.64
balance after 1 job = $25 - $2.64 = $22.36
10 jobs = 10 × $2.64 = $26.40
shortfall after $25 = $26.40 - $25 = $1.40
balance after $50 = $50 - $26.40 = $23.60
These totals do not estimate failure cost because Browser Use Cloud does not publish whether a failed task reverses initialization or step charges. Browser Use pricing, retrieved 2026-07-26.
Fully worked example: Browserless CAPTCHA attempts expose a source conflict
Assume one hypothetical Browserless job uses 60 browser seconds, 2 residential proxy MB, and 2 CAPTCHA attempts, with one failed attempt followed by one successful attempt. Browserless’s Unit documentation records 1 Unit per started 30 seconds, 6 Units per residential MB, and 10 Units per CAPTCHA attempt whether they succeed or fail. Browserless Unit consumption, retrieved 2026-07-26.
session time = 60 seconds / 30 seconds per Unit = 2 Units
proxy data = 2 MB x 6 Units per MB = 12 Units
CAPTCHA by the Unit documentation = 2 attempts x 10 Units per attempt = 20 Units
documented-attempt total = 2 + 12 + 20 = 34 Units
The pricing page uses different wording and lists 10 Units per successful CAPTCHA solve. Under that narrower description, only the one successful solve in the same scenario is counted:
CAPTCHA by the pricing-page wording = 1 successful solve x 10 Units = 10 Units
successful-solve total = 2 + 12 + 10 = 24 Units
The public sources therefore support a range of 24 to 34 Units for this exact scenario, not one verified total. The dataset stores the attempt-based 10-Unit meter because that is the explicit billing unit in the Unit documentation, but the pricing-page conflict means failed-attempt billing cannot be stated as settled. Verify the exported Unit log or invoice before forecasting repeated failed solves. Browserless Unit consumption and Browserless pricing, retrieved 2026-07-26.
What an idle or abandoned session can cost
“Idle” is vendor-specific. Browserless bills an open idle connection exactly like an active one. Kernel enters zero-cost standby after five seconds without a CDP, WebDriver, Live View, or computer-control client. Browserbase keep-alive sessions continue until explicitly released or timed out. Browserless, Kernel standby, and Browserbase keep alive, retrieved 2026-07-26.
What an idle or abandoned session can cost table
| Vendor | Published timeout or cap | Exposure if the session is abandoned |
|---|---|---|
| Browserless | Default connection timeout is 30 seconds. Plan maximums are 1 minute Free, 15 minutes Prototyping, 30 minutes Starter, and 60 minutes Scale. | Default abandonment consumes 1 Unit. At each paid plan’s maximum, the session consumes 30, 60, or 120 time Units before proxy or CAPTCHA use. Unit docs and plan caps, retrieved 2026-07-26. |
| Firecrawl | Default hard TTL is 10 minutes; default inactivity timeout is 5 minutes. | An untouched code-only session reaches 10 credits at the 5-minute inactivity close. Activity that prevents that close can reach 20 credits at the 10-minute hard TTL. AI-prompt Interact would be 35 or 70 credits at the same limits. Firecrawl session controls and Interact billing, retrieved 2026-07-26. |
| Browserbase | Custom session timeout can be set up to 6 hours. Keep-alive sessions must be released or they run until timeout. Each created session has a 1-minute minimum. | At the 6-hour maximum, browser-hour overage is $0.72 Developer or $0.60 Startup, before proxy traffic. Usage within the plan allowance has no marginal hour overage, but still consumes that allowance. Timeouts, keep alive, minimum billing, and rates, retrieved 2026-07-26. |
| Browser Use Cloud | All users can set sessions up to 4 hours. Billing rounds up to a 1-minute minimum and refunds unused prepaid time when stopped. | A session allowed to run the full cap consumes $0.24 at the $0.06 rate or $0.12 at the $0.03 rate, plus any proxy traffic. Browser Use browser-session docs, retrieved 2026-07-26. |
| BrowserCloud | Free sessions are capped at 15 minutes; no paid-plan session TTL is published. | Fifteen minutes consumes 250 credits because one hour is 1,000 credits. The Free allowance covers it; paid abandonment exposure cannot be bounded from a published TTL. BrowserCloud pricing, retrieved 2026-07-26. |
| Kernel | With no connected client or control request, standby begins after 5 seconds and costs zero. Automatic deletion then defaults to 60 seconds after standby; the timeout can be extended to 72 hours. | A disconnected headless browser adds only the first 5 × $0.0000166667 = $0.0000833335 before zero-cost standby. A logically idle process that leaves a CDP or Live View client connected is still considered active, so close the client as well as ending your script. Kernel standby, timeouts, and rates, retrieved 2026-07-26. |
| Steel.dev | Launch sessions cap at 15 minutes, Scale at 1 hour, and Enterprise can publish up to 24 hours. | The time boundary is known, but the current browser-hour rate is not readable from the public pricing page, so a dollar exposure cannot be verified. Steel pricing update, retrieved 2026-07-26. |
Set a timeout below the vendor maximum, close the remote session in a finally block, and log the vendor’s observed time and bandwidth fields. That control matters more than a per-page estimate because a stalled navigation, a disconnected worker with keep-alive enabled, or an agent waiting for input can consume billable time without returning another page. Browserless unit consumption, Browserbase keep alive, and Kernel timeouts, retrieved 2026-07-26.
Sources
- docs.browserless.io/overview/unit-consumption
- cloud.browserless.io/pricing
- docs.anchorbrowser.io/pricing
- anchorbrowser.io/
- www.agentql.com/
- apify.com/pricing
- docs.apify.com/platform/actors/running/usage-and-resources
- browser-use.com/pricing
- docs.browser-use.com/cloud/api-v3/browsers/create-browser-session
- www.browserbase.com/pricing
- docs.browserbase.com/optimizations/cost/cost-optimization
- docs.browserbase.com/platform/browser/long-sessions/timeouts
- docs.browserbase.com/platform/browser/long-sessions/keep-alive
- www.browsercloud.io/pricing
- brightdata.com/products/scraping-browser
- developers.cloudflare.com/browser-run/pricing/
- crawlbase.com/docs/crawling-api
- crawlbase.com/pricing
- docs.firecrawl.dev/features/browser
- docs.firecrawl.dev/features/interact
- docs.firecrawl.dev/developer-guides/usage-guides/choosing-the-data-extractor
- docs.firecrawl.dev/features/stealth-mode
- docs.firecrawl.dev/api-reference/endpoint/scrape
- www.hyperbrowser.ai/docs/pricing
- www.kernel.sh/docs/info/pricing
- www.kernel.sh/docs/browsers/termination
- www.kernel.sh/docs/browsers/standby
- lightpanda.io/pricing
- rapidapi.com/restyler/api/scrapeninja/pricing
- scrapeninja.net/docs/
- scrapingfish.com/
- scrapingfish.com/buy
- spider.cloud/pricing/
- steel.dev/blog/pricing-update
- docs.zenrows.com/first-steps/pricing
- www.zyte.com/pricing/
- docs.zyte.com/zyte-api/pricing.html
- docs.zyte.com/zyte-api/usage/errors.html