Available on Free and Paid plans

## Workers Free

| Feature | Limit |
| - | - |
| Concurrent browsers per account (Workers Binding API only) | 3 per account |
| New browser instances per minute (Workers Binding API only) | 3 per minute |
| Browser timeout | 60 seconds [1](#user-content-fn-2) |
| Total requests per min (REST API only) | 6 per minute |

## Workers Paid

Need a higher limit?

These limits will be raised once we are ready to start charging for this service. If you need higher limits sooner, complete the [Limit Increase Request Form](https://forms.gle/CdueDKvb26mTaepa9). If the limit can be increased, Cloudflare will contact you with next steps.

| Feature | Limit |
| - | - |
| Concurrent browsers per account (Workers Binding API only) | 10 per account [2](#user-content-fn-1) |
| New browser instances per minute (Workers Binding API only) | 10 per minute [2](#user-content-fn-1) |
| Browser timeout | 60 seconds [1](#user-content-fn-2)[2](#user-content-fn-1) |
| Total requests per min (REST API only) | 60 per minute |

## Note on concurrency

While the limits above define the maximum number of concurrent browser sessions per account, in practice you may not need to hit these limits. Browser sessions close automatically—by default, after 60 seconds of inactivity or upon task completion—so if each session finishes its work before a new request comes in, the effective concurrency is lower. This means that most workflows do not require very high concurrent browser limits.

## Pricing

Browser Rendering service is currently available at no cost up to the limits specified above **until billing begins**. Pricing to be announced and we will provide advance notice before any billing begins.

## Footnotes

1. By default, a browser instance gets killed if it does not get any [devtools](https://chromedevtools.github.io/devtools-protocol/) command for 60 seconds, freeing one instance. Users can optionally increase this by using the `keep_alive` [option](https://developers.cloudflare.com/browser-rendering/platform/puppeteer/#keep-alive). `browser.close()` releases the browser instance. [↩](#user-content-fnref-2) [↩2](#user-content-fnref-2-2)

2. Contact our team to request increases to this limit. [↩](#user-content-fnref-1) [↩2](#user-content-fnref-1-2) [↩3](#user-content-fnref-1-3)
