← Blog

BLOG

Pricing Virtual Browser: What You Pay for Hosted Chromium

Pricing virtual browser costs explained: browser-hour metering, session fees, and what you pay for hosted Chromium in production.

August 24, 20269 min readRemote Browser

# Pricing Virtual Browser: What You Pay for Hosted Chromium

When you evaluate pricing virtual browser infrastructure, the headline number is rarely the whole story. Most vendors advertise a per-hour rate, but the actual cost of running AI agents or automation pipelines depends on session lifecycle, concurrency, data transfer, and how you handle idle time. This guide breaks down what you should expect to pay for hosted Chromium, how to compare offers, and where Remote Browser fits.

The Core Unit: Browser-Hour

The standard metering unit for cloud browsers is the browser-hour. One browser-hour equals one running Chromium instance for 60 minutes. If you run two browsers for 30 minutes, that's one browser-hour. If you run one browser for 90 minutes, that's 1.5 browser-hours.

This model is simple, but it hides several variables that affect your final invoice:

  • Session startup time: Does the clock start when you request a browser or when it's ready?
  • Idle timeout: Does an inactive session keep billing until you explicitly close it?
  • Concurrency limits: Can you run 50 sessions simultaneously, or are you capped at 5?
  • Data transfer: Is egress bandwidth included or billed separately?
  • Profile persistence: Do you pay extra for storing cookies, localStorage, and other session data?

Before comparing prices, define your workload. A test suite that runs 100 short-lived sessions per day has a different cost profile than a 24/7 AI agent that maintains a persistent login.

What You're Actually Paying For

A virtual browser is not just Chrome in a container. The price reflects the infrastructure and features that make remote automation reliable:

  • Isolated Chromium instances: Each session runs in its own container or VM, preventing cross-contamination between tasks.
  • CDP and WebDriver support: The ability to connect via Chrome DevTools Protocol, Playwright, Puppeteer, or Selenium.
  • Persistent profiles: Storing session state so you don't re-authenticate on every run.
  • Live debugging: A real-time view of what the browser is doing, often via a web-based viewer.
  • Proxy and network configuration: The ability to route traffic through specific IPs or geographies.
  • Session controls: APIs to start, stop, pause, and resume sessions programmatically.

Some providers bundle these features into the hourly rate. Others charge separately for storage, bandwidth, or API requests. Read the fine print.

Comparing Virtual Browser Pricing Models

Pricing ModelHow It WorksBest ForWatch Out For
Flat per-hourPay a fixed rate for each running browser-hourPredictable workloads, testingIdle time still costs money
Tiered hourlyLower rate as you commit to more hours or higher volumeHigh-volume automationRequires upfront commitment
Subscription + usageMonthly fee includes a base number of hours, then pay-as-you-goTeams with variable demandUnused hours may expire
Credit-basedPre-purchase credits that are consumed per session or per actionSpiky, short tasksCredits can be opaque; hard to forecast
Dedicated instanceRent a full VM with a browser pre-installed24/7 agents, heavy customizationYou manage the OS and browser updates

For most AI agent workloads, flat per-hour is the most transparent model. You know exactly what a session costs, and you can optimize by reducing session duration and closing idle browsers.

Hidden Costs in Virtual Browser Pricing

1. Session Startup and Teardown

Some providers charge a minimum session duration (e.g., 5 minutes) even if your task finishes in 10 seconds. Others include a "cold start" fee for provisioning a new container. If your workload involves many short tasks, these minimums can dominate your bill.

Mitigation: Look for providers that bill in seconds or sub-minute increments. Remote Browser meters usage precisely, so a 30-second task costs a fraction of a browser-hour.

2. Idle Sessions

An AI agent that waits for a user response or a slow API call is still consuming a browser-hour. If your agent has long pauses, consider whether you can pause the session or release it and reconnect later.

Mitigation: Use session APIs to explicitly close browsers when tasks complete. Some providers offer "sleep" modes that reduce billing during inactivity, but verify the details.

3. Data Transfer and Storage

Persistent profiles need storage. Every screenshot, video recording, or downloaded file consumes bandwidth. Some providers cap egress at a certain GB per month, then charge overage fees.

Mitigation: Estimate your monthly data usage before committing. If you record every session for debugging, factor that into the cost.

4. Concurrency Limits

A low hourly rate is meaningless if you can only run 2 sessions at once. Check the maximum concurrent sessions allowed at each price tier. For production workloads, you need headroom for spikes.

Mitigation: Test with your actual concurrency requirements. Run a load test that simulates your peak load and measure the effective cost per task.

How to Estimate Your Monthly Virtual Browser Cost

Here's a practical formula:

Monthly Cost = (Average Sessions per Day × Average Session Duration in Hours × Days per Month) × Price per Browser-Hour

Example: You run 200 sessions per day, each lasting 15 minutes (0.25 hours), for 30 days.

200 × 0.25 × 30 = 1,500 browser-hours per month

At a low hourly rate, that's a modest monthly cost. At a higher rate, that's a more significant investment. The difference is significant, but so is the feature set and reliability.

Production criteria to evaluate:

  • Reliability: What's the uptime SLA? What happens when a session crashes mid-task?
  • API stability: Is the API versioned? Are there rate limits on control-plane requests?
  • Observability: Can you see logs, network traffic, and console output for each session?
  • Security: Is data encrypted in transit and at rest? Can you isolate sessions by customer or environment?

Remote Browser's Approach to Pricing

Remote Browser uses a straightforward browser-hour model. You pay for the time a Chromium instance is running, and you get access to the full feature set—CDP, Playwright/Puppeteer/Selenium compatibility, persistent profiles, live viewer, and proxy configuration—without per-feature add-ons.

We don't charge extra for:

  • API requests (starting, stopping, or querying sessions)
  • Persistent profile storage (up to reasonable limits)
  • Live debugging viewer
  • Standard proxy configurations

What you pay for is compute time. This keeps the pricing predictable and aligns your cost with actual usage.

For current rates and any applicable minimums, check the pricing page. We update it as infrastructure costs change, and we're transparent about what's included.

Practical Tips to Reduce Virtual Browser Costs

1. Reuse Sessions for Multi-Step Tasks

If your agent performs 10 steps on the same website, keep the session alive between steps. Starting a new browser for each step multiplies your browser-hours and adds latency.

2. Close Sessions Explicitly

Don't rely on idle timeouts. In your code, always close the browser when the task is done. A simple finally block in your error handling can save significant costs.

3. Use Persistent Profiles for Repeat Logins

If your agent logs into the same dashboard daily, a persistent profile avoids re-authentication and reduces session time. The profile stores cookies and localStorage, so the browser starts already authenticated.

4. Match Concurrency to Demand

Don't run 50 parallel sessions if your workload only needs 10. Most providers charge per browser-hour, so unused concurrency is wasted money. Scale up during peak demand, not before.

5. Monitor Session Duration

Add logging that records session start and end times. Review weekly to identify tasks that take longer than expected. Often, a slow selector or a missing wait condition is the culprit.

Code Example: Connecting to a Remote Browser with Playwright

Here's a TypeScript example using Playwright to connect to a remote browser via CDP. This pattern works with Remote Browser and any CDP-compatible virtual browser.

import { chromium } from 'playwright';

async function runRemoteBrowserTask() {
  // Obtain a CDP endpoint from your virtual browser provider
  // This URL is typically returned by an API call to create a session
  const cdpUrl = 'wss://remote-browser.dev/cdp/your-session-id';

  // Connect Playwright to the remote browser
  const browser = await chromium.connectOverCDP(cdpUrl);
  
  try {
    // Get the default context and page
    const context = browser.contexts()[0];
    const page = context.pages()[0] || await context.newPage();

    // Navigate and interact
    await page.goto('https://example.com');
    await page.fill('#search', 'virtual browser pricing');
    await page.click('button[type="submit"]');
    
    // Wait for results and extract data
    await page.waitForSelector('.result');
    const results = await page.$$eval('.result', (els) => 
      els.map((el) => el.textContent)
    );
    
    console.log('Results:', results);
  } finally {
    // Always close the browser to stop billing
    await browser.close();
  }
}

runRemoteBrowserTask().catch(console.error);

The key takeaway: browser.close() is your cost control. Make sure it runs even when your task throws an error.

When to Choose a Dedicated Instance Over Metered Browsers

Metered browser-hours are cost-effective for variable workloads. But if you run a 24/7 agent that needs a stable IP, persistent storage, and custom system dependencies, a dedicated VM might be cheaper.

Consider a dedicated instance if:

  • Your agent runs continuously with minimal idle time
  • You need to install custom software or browser extensions
  • You require a fixed IP address for whitelisting
  • Your workload is predictable and constant

Stick with metered browsers if:

  • Your workload is bursty or seasonal
  • You need to scale horizontally across many sessions
  • You want managed infrastructure without OS maintenance
  • You value the ability to spin up and tear down environments quickly

The Bottom Line on Virtual Browser Pricing

Pricing virtual browser services isn't just about the hourly rate. It's about matching the pricing model to your workload, understanding what's included, and controlling session lifecycle.

Start with a small pilot. Run your actual workload for a week, measure browser-hours consumed, and calculate the effective cost per task. Then compare that number across providers.

For most AI agent and automation workloads, a transparent per-hour model with no hidden fees is the safest choice. It aligns your cost with actual usage and makes optimization straightforward.

If you're evaluating Remote Browser, the documentation covers session management, API details, and best practices. For a deeper look at how hosted browsers fit into AI agent architectures, see our post on remote browsers for AI agents or the practical guide to remote web browsers.

And if you're comparing us to other tools, our remote browser online guide explains what to look for in a production runtime.

For the technical details on how CDP connection works, the Chrome DevTools Protocol documentation is the authoritative reference. Playwright's CDP support is also well-documented and worth reviewing.

The right virtual browser pricing model is the one you can forecast, control, and scale. Don't let a low hourly rate distract you from the total cost of running your workload reliably.