# Scrapfly Documentation

## Table of Contents

### Dashboard

- [Intro](https://scrapfly.io/docs)
- [Project](https://scrapfly.io/docs/project)
- [Account](https://scrapfly.io/docs/account)
- [Workspace & Team](https://scrapfly.io/docs/workspace-and-team)
- [Billing](https://scrapfly.io/docs/billing)

### Products

#### MCP Server

- [Getting Started](https://scrapfly.io/docs/mcp/getting-started)
- [Tools & API Spec](https://scrapfly.io/docs/mcp/tools)
- [Authentication](https://scrapfly.io/docs/mcp/authentication)
- [Examples & Use Cases](https://scrapfly.io/docs/mcp/examples)
- [FAQ](https://scrapfly.io/docs/mcp/faq)
##### Integrations

- [Overview](https://scrapfly.io/docs/mcp/integrations)
- [Claude Desktop](https://scrapfly.io/docs/mcp/integrations/claude-desktop)
- [Claude Code](https://scrapfly.io/docs/mcp/integrations/claude-code)
- [ChatGPT](https://scrapfly.io/docs/mcp/integrations/chatgpt)
- [Cursor](https://scrapfly.io/docs/mcp/integrations/cursor)
- [Cline](https://scrapfly.io/docs/mcp/integrations/cline)
- [Windsurf](https://scrapfly.io/docs/mcp/integrations/windsurf)
- [Zed](https://scrapfly.io/docs/mcp/integrations/zed)
- [Roo Code](https://scrapfly.io/docs/mcp/integrations/roo-code)
- [VS Code](https://scrapfly.io/docs/mcp/integrations/vscode)
- [LangChain](https://scrapfly.io/docs/mcp/integrations/langchain)
- [LlamaIndex](https://scrapfly.io/docs/mcp/integrations/llamaindex)
- [CrewAI](https://scrapfly.io/docs/mcp/integrations/crewai)
- [OpenAI](https://scrapfly.io/docs/mcp/integrations/openai)
- [n8n](https://scrapfly.io/docs/mcp/integrations/n8n)
- [Make](https://scrapfly.io/docs/mcp/integrations/make)
- [Zapier](https://scrapfly.io/docs/mcp/integrations/zapier)
- [Vapi AI](https://scrapfly.io/docs/mcp/integrations/vapi)
- [Agent Builder](https://scrapfly.io/docs/mcp/integrations/agent-builder)
- [Custom Client](https://scrapfly.io/docs/mcp/integrations/custom-client)


#### Web Scraping API

- [Getting Started](https://scrapfly.io/docs/scrape-api/getting-started)
- [API Specification]()
- [Monitoring](https://scrapfly.io/docs/monitoring)
- [Customize Request](https://scrapfly.io/docs/scrape-api/custom)
- [Debug](https://scrapfly.io/docs/scrape-api/debug)
- [Anti Scraping Protection](https://scrapfly.io/docs/scrape-api/anti-scraping-protection)
- [Proxy](https://scrapfly.io/docs/scrape-api/proxy)
- [Proxy Mode](https://scrapfly.io/docs/scrape-api/proxy-mode)
- [Proxy Mode - Screaming Frog](https://scrapfly.io/docs/scrape-api/proxy-mode/screaming-frog)
- [Proxy Mode - Apify](https://scrapfly.io/docs/scrape-api/proxy-mode/apify)
- [(Auto) Data Extraction](https://scrapfly.io/docs/scrape-api/extraction)
- [Javascript Rendering](https://scrapfly.io/docs/scrape-api/javascript-rendering)
- [Javascript Scenario](https://scrapfly.io/docs/scrape-api/javascript-scenario)
- [SSL](https://scrapfly.io/docs/scrape-api/ssl)
- [DNS](https://scrapfly.io/docs/scrape-api/dns)
- [Cache](https://scrapfly.io/docs/scrape-api/cache)
- [Session](https://scrapfly.io/docs/scrape-api/session)
- [Webhook](https://scrapfly.io/docs/scrape-api/webhook)
- [Screenshot](https://scrapfly.io/docs/scrape-api/screenshot)
- [Errors](https://scrapfly.io/docs/scrape-api/errors)
- [Timeout](https://scrapfly.io/docs/scrape-api/understand-timeout)
- [Throttling](https://scrapfly.io/docs/throttling)
- [Troubleshoot](https://scrapfly.io/docs/scrape-api/troubleshoot)
- [Billing](https://scrapfly.io/docs/scrape-api/billing)
- [FAQ](https://scrapfly.io/docs/scrape-api/faq)

#### Crawler API

- [Getting Started](https://scrapfly.io/docs/crawler-api/getting-started)
- [API Specification]()
- [Retrieving Results](https://scrapfly.io/docs/crawler-api/results)
- [WARC Format](https://scrapfly.io/docs/crawler-api/warc-format)
- [Data Extraction](https://scrapfly.io/docs/crawler-api/extraction-rules)
- [Webhook](https://scrapfly.io/docs/crawler-api/webhook)
- [Billing](https://scrapfly.io/docs/crawler-api/billing)
- [Errors](https://scrapfly.io/docs/crawler-api/errors)
- [Troubleshoot](https://scrapfly.io/docs/crawler-api/troubleshoot)
- [FAQ](https://scrapfly.io/docs/crawler-api/faq)

#### Screenshot API

- [Getting Started](https://scrapfly.io/docs/screenshot-api/getting-started)
- [API Specification]()
- [Accessibility Testing](https://scrapfly.io/docs/screenshot-api/accessibility)
- [Webhook](https://scrapfly.io/docs/screenshot-api/webhook)
- [Billing](https://scrapfly.io/docs/screenshot-api/billing)
- [Errors](https://scrapfly.io/docs/screenshot-api/errors)

#### Extraction API

- [Getting Started](https://scrapfly.io/docs/extraction-api/getting-started)
- [API Specification]()
- [Rules Template](https://scrapfly.io/docs/extraction-api/rules-and-template)
- [LLM Extraction](https://scrapfly.io/docs/extraction-api/llm-prompt)
- [AI Auto Extraction](https://scrapfly.io/docs/extraction-api/automatic-ai)
- [Webhook](https://scrapfly.io/docs/extraction-api/webhook)
- [Billing](https://scrapfly.io/docs/extraction-api/billing)
- [Errors](https://scrapfly.io/docs/extraction-api/errors)
- [FAQ](https://scrapfly.io/docs/extraction-api/faq)

#### Proxy Saver

- [Getting Started](https://scrapfly.io/docs/proxy-saver/getting-started)
- [Fingerprints](https://scrapfly.io/docs/proxy-saver/fingerprints)
- [Optimizations](https://scrapfly.io/docs/proxy-saver/optimizations)
- [SSL Certificates](https://scrapfly.io/docs/proxy-saver/certificates)
- [Protocols](https://scrapfly.io/docs/proxy-saver/protocols)
- [Pacfile](https://scrapfly.io/docs/proxy-saver/pacfile)
- [Secure Credentials](https://scrapfly.io/docs/proxy-saver/security)
- [Billing](https://scrapfly.io/docs/proxy-saver/billing)

#### Cloud Browser API

- [Getting Started](https://scrapfly.io/docs/cloud-browser-api/getting-started)
- [Proxy & Geo-Targeting](https://scrapfly.io/docs/cloud-browser-api/proxy)
- [Unblock API](https://scrapfly.io/docs/cloud-browser-api/unblock)
- [File Downloads](https://scrapfly.io/docs/cloud-browser-api/file-downloads)
- [Session Resume](https://scrapfly.io/docs/cloud-browser-api/session-resume)
- [Human-in-the-Loop](https://scrapfly.io/docs/cloud-browser-api/human-in-the-loop)
- [Debug Mode](https://scrapfly.io/docs/cloud-browser-api/debug-mode)
- [Bring Your Own Proxy](https://scrapfly.io/docs/cloud-browser-api/bring-your-own-proxy)
- [Browser Extensions](https://scrapfly.io/docs/cloud-browser-api/extensions)
##### Integrations

- [Puppeteer](https://scrapfly.io/docs/cloud-browser-api/puppeteer)
- [Playwright](https://scrapfly.io/docs/cloud-browser-api/playwright)
- [Selenium](https://scrapfly.io/docs/cloud-browser-api/selenium)
- [Vercel Agent Browser](https://scrapfly.io/docs/cloud-browser-api/agent-browser)
- [Browser Use](https://scrapfly.io/docs/cloud-browser-api/browser-use)
- [Stagehand](https://scrapfly.io/docs/cloud-browser-api/stagehand)

- [Billing](https://scrapfly.io/docs/cloud-browser-api/billing)
- [Errors](https://scrapfly.io/docs/cloud-browser-api/errors)


### Tools

- [Antibot Detector](https://scrapfly.io/docs/tools/antibot-detector)

### SDK

- [Golang](https://scrapfly.io/docs/sdk/golang)
- [Python](https://scrapfly.io/docs/sdk/python)
- [Rust](https://scrapfly.io/docs/sdk/rust)
- [TypeScript](https://scrapfly.io/docs/sdk/typescript)
- [Scrapy](https://scrapfly.io/docs/sdk/scrapy)

### Integrations

- [Getting Started](https://scrapfly.io/docs/integration/getting-started)
- [LangChain](https://scrapfly.io/docs/integration/langchain)
- [LlamaIndex](https://scrapfly.io/docs/integration/llamaindex)
- [CrewAI](https://scrapfly.io/docs/integration/crewai)
- [Zapier](https://scrapfly.io/docs/integration/zapier)
- [Make](https://scrapfly.io/docs/integration/make)
- [n8n](https://scrapfly.io/docs/integration/n8n)

### Academy

- [Overview](https://scrapfly.io/academy)
- [Web Scraping Overview](https://scrapfly.io/academy/scraping-overview)
- [Tools](https://scrapfly.io/academy/tools-overview)
- [Reverse Engineering](https://scrapfly.io/academy/reverse-engineering)
- [Static Scraping](https://scrapfly.io/academy/static-scraping)
- [HTML Parsing](https://scrapfly.io/academy/html-parsing)
- [Dynamic Scraping](https://scrapfly.io/academy/dynamic-scraping)
- [Hidden API Scraping](https://scrapfly.io/academy/hidden-api-scraping)
- [Headless Browsers](https://scrapfly.io/academy/headless-browsers)
- [Hidden Web Data](https://scrapfly.io/academy/hidden-web-data)
- [JSON Parsing](https://scrapfly.io/academy/json-parsing)
- [Data Processing](https://scrapfly.io/academy/data-processing)
- [Scaling](https://scrapfly.io/academy/scaling)
- [Walkthrough Summary](https://scrapfly.io/academy/walkthrough-summary)
- [Scraper Blocking](https://scrapfly.io/academy/scraper-blocking)
- [Proxies](https://scrapfly.io/academy/proxies)

---

# Cloud Browser Billing

 [  View as markdown ](https://scrapfly.io/?view=markdown)   Copy for LLM    Copy for LLM  [     Open in ChatGPT ](https://chatgpt.com/?hints=search&prompt=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Fcloud-browser-api%2Fbilling%20so%20I%20can%20ask%20questions%20about%20it.) [     Open in Claude ](https://claude.ai/new?q=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Fcloud-browser-api%2Fbilling%20so%20I%20can%20ask%20questions%20about%20it.) [     Open in Perplexity ](https://www.perplexity.ai/search/new?q=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Fcloud-browser-api%2Fbilling%20so%20I%20can%20ask%20questions%20about%20it.) 

 

 

  **Beta Feature:** Cloud Browser is currently in beta and available to staff members only. 

 Cloud Browser uses a **dual-dimension billing model** based on both session time and bandwidth consumption. This ensures you only pay for the resources you actually use.

## Billing Model

 Each Cloud Browser session is billed across two dimensions:

#####   Session Time 

 

Billed in **30-second blocks**, always rounded up to the next block.

####  1 credit/30s 

 Fixed rate for all proxy types 

 

 

 

#####   Bandwidth 

 

Billed **per megabyte** consumed, with no free threshold.

 | Datacenter | 7 credits/MB |
|---|---|
| Residential | 52 credits/MB |

 

 

 

#####   Cached Bandwidth 

 

When `cache=true`, static resources served from cache are billed at a **reduced rate**.

####  1 credit/MB 

 CSS, JS, fonts, images from cache 

 

 

 

 

## Resource Stubbing

 Cloud Browser can **stub** specific resource types to save bandwidth. Stubbed resources receive a valid but empty response (e.g. a transparent 1x1 pixel for images, an empty stylesheet for CSS) — this is invisible to anti-bot systems that detect blocked or failed requests.

 | Parameter | Stubs | Bandwidth Savings |
|---|---|---|
| `block_images=true` | Images → transparent 1x1 pixel | High (images are typically 50-80% of page weight) |
| `block_styles=true` | CSS stylesheets → empty stylesheet | Medium |
| `block_fonts=true` | Web fonts → empty response | Medium |
| `block_media=true` | Video/audio → empty response | Very high (media files are large) |
| `blacklist=true` | Known trackers/analytics → empty response | Low-medium (reduces noise and latency) |
| `cache=true` | Static resources served from cache (not stubbed) | High on repeated visits. Billed at 1 credit/MB instead of 7/52 credits/MB |

## Cost Calculation

 The total cost of a Cloud Browser session is calculated as:

 `                        Total = max(5, Time + Wire Bandwidth + Cached Bandwidth)                    ` Time = ⌈seconds / 30⌉ × 1 | Wire BW = MB × 7 or 52 | Cached BW = MB × 1 

 

 

  **Minimum cost:** Every browser allocation is billed a minimum of **5 credits**, regardless of session duration or bandwidth consumed. 

### Time Calculation

- Session duration is measured from WebSocket connection to disconnection
- Time is billed in **30-second blocks**
- Partial blocks are always **rounded up** to the next full block
- Minimum billing: 1 block (30 seconds)
 
 | Session Duration | Blocks Billed | Time Cost |
|---|---|---|
| 5 seconds | 1 block | 1 credit |
| 30 seconds | 1 block | 1 credit |
| 45 seconds | 2 blocks | 2 credits |
| 1 minute | 2 blocks | 2 credits |
| 5 minutes | 10 blocks | 10 credits |

 

## Time Cost per Hour by Plan

 Session time is billed the same regardless of proxy type. Here is what one hour of Cloud Browser time costs in dollars on each plan:

**How it works:**

1. 1 hour = 3,600 seconds ÷ 30 seconds = **120 blocks**
2. 120 blocks × 1 credit/block = **120 credits/hour**
3. Your plan's *cost per credit* = plan price ÷ monthly API credits
4. **$/hour** = 120 credits × cost per credit
 
 

 

 | Plan | Price/mo | Monthly Credits | $/hour | Max hours/mo |
|---|---|---|---|---|
| **Discovery** | $30.00/mo | 200,000 | $0.0180/hr | 1,667 hrs |
| **Pro** | $100.00/mo | 1,000,000 | $0.0120/hr | 8,333 hrs |
| **Startup** | $250.00/mo | 2,500,000 | $0.0120/hr | 20,833 hrs |
| **Enterprise** | $500.00/mo | 5,500,000 | $0.0109/hr | 45,833 hrs |

 

> "Max hours/mo" is based on plan credits only, assuming zero bandwidth usage. In practice bandwidth also consumes credits, so time-only hours will be lower. Plans with [extra usage](https://scrapfly.io/docs/billing) enabled (Pro, Startup, Enterprise) can exceed this limit — additional credits are billed at the plan's extra-usage rate.

### Bandwidth Calculation

- All data transferred through the browser session is counted
- Includes page loads, XHR requests, images, scripts, and other assets
- **No free threshold** - bandwidth is charged from the first byte
- Bandwidth is rounded up to the nearest whole MB for billing
 
## Bandwidth Cost per GB by Plan

 Credits translate to different dollar amounts depending on your subscription plan. The more credits your plan includes, the lower the cost per credit — and therefore the lower the cost per GB.

**How it works:**

1. Datacenter bandwidth costs **7 credits/MB** → **7,168 credits/GB** (7 × 1,024 MB)
2. Residential bandwidth costs **52 credits/MB** → **53,248 credits/GB** (52 × 1,024 MB)
3. Your plan's *cost per credit* = plan price ÷ monthly API credits
4. **$/GB** = credits per GB × cost per credit
 
 

 

 | Plan | Price/mo | Monthly Credits | Datacenter $/GB | Residential $/GB |
|---|---|---|---|---|
| **Discovery** | $30.00/mo | 200,000 | $1.08/GB | $7.99/GB |
| **Pro** | $100.00/mo | 1,000,000 | $1.02/GB | $7.99/GB |
| **Startup** | $250.00/mo | 2,500,000 | $0.8192/GB | $6.66/GB |
| **Enterprise** | $500.00/mo | 5,500,000 | $0.7447/GB | $6.05/GB |

 

> Higher-tier plans have a lower cost per credit, making bandwidth significantly cheaper. For example, the Enterprise plan has roughly half the $/GB cost compared to the Discovery plan.

> **Save on bandwidth:** Enable [`cache=true`](https://scrapfly.io/docs/cloud-browser-api/getting-started#cache) to serve static resources (CSS, JS, fonts, images) from cache at **1 credit/MB** instead of the full bandwidth rate. Combine with [resource stubbing](https://scrapfly.io/docs/cloud-browser-api/getting-started#resource-stubbing) (`block_images`, `block_styles`, `block_fonts`) to reduce bandwidth even further.

## Cost Examples

    Calculator    Scenario Examples  

  Plan   Discovery ($30.00/mo)   Pro ($100.00/mo)   Startup ($250.00/mo)   Enterprise ($500.00/mo)   

 Mode  Datacenter Proxy Residential Proxy Unblock    Datacenter Residential  

 Session duration (seconds)  

 Avg. bandwidth (MB)  

 

1 API Credit



 

Browser Hour



 

GB Proxy Data



 

 

 

---



API Credits / session



 

 

$ / session



 

 

Sessions / month (plan credits)



 

 

 

 

 

 

 Simulate for plan:   Discovery ($30.00/mo)   Pro ($100.00/mo)   Startup ($250.00/mo)   Enterprise ($500.00/mo)   

#####   Quick Session (Datacenter) 

 

**Scenario:**

- Duration: 45 seconds (2 blocks)
- Bandwidth: 3.2 MB (rounded to 4 MB)
- Proxy: Datacenter
 
---

**Calculation:**

- Time: 2 blocks × 1 = 2 credits
- Bandwidth: 4 MB × 7 = 28 credits
 
 **Total: 30 credits** 
 

 

 

 

#####   Extended Session (Residential) 

 

**Scenario:**

- Duration: 3 minutes (6 blocks)
- Bandwidth: 15 MB
- Proxy: Residential
 
---

**Calculation:**

- Time: 6 blocks × 1 = 6 credits
- Bandwidth: 15 MB × 52 = 780 credits
 
 **Total: 786 credits** 
 

 

 

 

 

#####   Minimal Session 

 

**Scenario:**

- Duration: 5 seconds (1 block minimum)
- Bandwidth: 0.5 MB (rounded to 1 MB)
- Proxy: Datacenter
 
---

**Calculation:**

- Time: 1 block × 1 = 1 credit
- Bandwidth: 1 MB × 7 = 7 credits
- Subtotal: 8 credits → *minimum 5 applies*
 
 **Total: 5 credits** (minimum per allocation) 
 

 

 

 

#####   High Bandwidth Session 

 

**Scenario:**

- Duration: 1 minute (2 blocks)
- Bandwidth: 50 MB (heavy page with media)
- Proxy: Datacenter
 
---

**Calculation:**

- Time: 2 blocks × 1 = 2 credits
- Bandwidth: 50 MB × 7 = 350 credits
 
 **Total: 352 credits** 
 

 

 

 

 

 

 

 
            (function() {
                // -- Constants from PHP --
                var UNBLOCK_SURCHARGE = 1.2;

                // -- Dollar formatter --
                function formatDollar(d) {
                    return '$' + d.toFixed(2);
                }
                function numberFormat(n) {
                    return n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
                }

                // -- Static cost examples (plan selector) --
                var exampleSelect = document.getElementById('cost-example-plan');
                var exampleSpans  = document.querySelectorAll('.cost-example-dollar');

                function updateExamples() {
                    var opt = exampleSelect.options[exampleSelect.selectedIndex];
                    var costPerCredit = (parseInt(opt.dataset.planPrice, 10) / 100) / parseInt(opt.dataset.monthlyCredits, 10);
                    exampleSpans.forEach(function(span) {
                        var credits = parseFloat(span.dataset.credits);
                        span.innerHTML = '<strong>' + formatDollar(credits * costPerCredit) + ' on ' + opt.text;
                    });
                }
                exampleSelect.addEventListener('change', updateExamples);
                updateExamples();

                // -- Interactive calculator --
                var calcPlan      = document.getElementById('calc-plan');
                var calcDuration  = document.getElementById('calc-duration');
                var calcBandwidth = document.getElementById('calc-bandwidth');
                var calcProxy     = document.getElementById('calc-proxy');
                var calcMode      = document.getElementById('calc-mode');
                var calcUnblock   = document.getElementById('calc-unblock');
                var calcCredits   = document.getElementById('calc-credits');
                var calcDollar    = document.getElementById('calc-dollar');
                var calcRuns      = document.getElementById('calc-runs');
                var calcBreakdown = document.getElementById('calc-breakdown');
                var rateCredit    = document.getElementById('rate-credit');
                var rateHour      = document.getElementById('rate-hour');
                var rateGb        = document.getElementById('rate-gb');

                function updateCalc() {
                    var opt            = calcPlan.options[calcPlan.selectedIndex];
                    var priceCents     = parseInt(opt.dataset.planPrice, 10);
                    var monthlyCredits = parseInt(opt.dataset.monthlyCredits, 10);
                    var costPerCredit  = (priceCents / 100) / monthlyCredits;

                    // Per-plan rates from data attributes
                    var timePer30s  = parseInt(opt.dataset.cbTime, 10);
                    var bwDc        = parseInt(opt.dataset.cbBwDc, 10);
                    var bwRes       = parseInt(opt.dataset.cbBwRes, 10);
                    var minCredits  = parseInt(opt.dataset.cbMin, 10);

                    var seconds   = Math.max(1, parseInt(calcDuration.value, 10) || 1);
                    var bwMb      = Math.max(0, parseFloat(calcBandwidth.value) || 0);
                    var isUnblock = calcUnblock.checked;
                    var bwRate;

                    var mode = calcMode.value;
                    var isUnblock = mode === 'unblock';
                    calcUnblock.checked = isUnblock;
                    calcProxy.value = mode === 'unblock' ? 'residential' : mode;

                    if (isUnblock) {
                        bwRate = Math.ceil(bwRes * UNBLOCK_SURCHARGE);
                    } else {
                        bwRate = mode === 'residential' ? bwRes : bwDc;
                    }

                    var blocks    = Math.ceil(seconds / 30);
                    var timeCost  = blocks * timePer30s;
                    var bwCost    = Math.ceil(bwMb) * bwRate;
                    var subtotal  = timeCost + bwCost;
                    var total     = Math.max(minCredits, subtotal);

                    var dollarCost     = total * costPerCredit;
                    var runs           = Math.floor(monthlyCredits / total);
                    var creditsPerHour = 120 * timePer30s;

                    // Plan rates reference
                    rateCredit.textContent = formatDollar(costPerCredit);
                    rateHour.textContent   = formatDollar(costPerCredit * creditsPerHour) + ' / hr';
                    rateGb.textContent     = formatDollar(costPerCredit * bwRate * 1024) + ' / GB';

                    // Breakdown
                    var parts = [];
                    parts.push('Time: ' + blocks + ' block' + (blocks > 1 ? 's' : '') + ' &times; ' + timePer30s + ' = ' + timeCost + ' credits');
                    parts.push('Bandwidth: ' + Math.ceil(bwMb) + ' MB &times; ' + bwRate + ' = ' + bwCost + ' credits');
                    if (calcUnblock.checked) {
                        parts.push('<span class="badge badge-info">Unblock');
                    }
                    if (subtotal < minCredits) {
                        parts.push('Subtotal: ' + subtotal + ' credits &rarr; minimum ' + minCredits + ' applies');
                    }
                    calcBreakdown.innerHTML = parts.join(' &nbsp;|&nbsp; ');

                    calcCredits.textContent = numberFormat(total) + ' credits';
                    calcDollar.textContent  = formatDollar(dollarCost);
                    calcRuns.textContent    = numberFormat(runs) + ' sessions';
                }

                [calcPlan, calcDuration, calcBandwidth, calcMode].forEach(function(el) {
                    el.addEventListener('input', updateCalc);
                    el.addEventListener('change', updateCalc);
                });
                updateCalc();
            })();
            ## Cost Optimization Tips

##### Minimize Session Time

- Disconnect as soon as your task is complete
- Use efficient automation scripts
- Avoid idle connections
 
 

##### Reduce Bandwidth

- Use built-in [`cache=true`](https://scrapfly.io/docs/cloud-browser-api/proxy#bandwidth-optimization) to serve static resources from cache at a reduced rate
- [Block unnecessary resources](#resource-stubbing) with `block_images`, `block_styles`, `block_fonts`, `block_media`
- Filter known trackers with [`blacklist=true`](https://scrapfly.io/docs/cloud-browser-api/proxy#bandwidth-optimization)
 
 

 

---

##### Choose the Right Proxy

- Use **datacenter** by default (cheaper)
- Switch to **residential** only when needed for specific targets
 
 

##### Use Sessions Wisely

- Reuse session IDs to maintain browser state
- Batch operations in a single session when possible
 
 

 

 

 

## Related Documentation

- [Cloud Browser Getting Started](https://scrapfly.io/docs/cloud-browser-api/getting-started) - Connection and usage guide
- [File Downloads](https://scrapfly.io/docs/cloud-browser-api/file-downloads) - Retrieve downloaded files from browser sessions
- [General Billing Overview](https://scrapfly.io/docs/billing) - Account-wide billing information