Browser pools are in limited preview. Book a demo to request access or learn more.
When to use pools
Pools are ideal when you need to:- Minimize latency for browser acquisition for more complex configurations (with profiles, proxies, etc.)
- Run many short-lived browser tasks in parallel
- Maintain consistent browser configuration across sessions
Create a pool
Create a browser pool with a specified size and configuration. All browsers in the pool share the same settings.Pool configuration options
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string | - | Optional unique name for the pool. |
size | integer | - | Number of browsers to maintain in the pool (1-50). |
fill_rate_per_minute | integer | 10 | Percentage of the pool to fill per minute (0-25). |
timeout_seconds | integer | 600 | Idle timeout for acquired browsers before destruction (60-86400). |
stealth | boolean | false | Enable stealth mode to reduce bot detection. |
headless | boolean | false | Run browsers in headless mode. |
profile | object | - | Profile to load into each browser session. |
extensions | array | - | List of extensions to load (max 20). |
proxy_id | string | - | Proxy to associate with browser sessions. |
viewport | object | - | Browser window size configuration. |
kiosk_mode | boolean | false | Hide address bar and tabs in live view. |
Acquire a browser
Acquire a browser from the pool. The request returns immediately if a browser is available, or waits until one becomes available. Theacquire_timeout_seconds parameter controls how long to wait; it defaults to the calculated time it would take to fill the pool at the currently configured fill rate.
cdp_ws_url for CDP connections and browser_live_view_url for live viewing.
Timeout behavior
Browsers remain in the pool indefinitely until acquired. Once acquired, the pool’stimeout_seconds applies just like a regular browser timeout—if the browser is idle (no CDP or live view connection) for longer than the timeout, it is destroyed and not returned to the pool. The pool will automatically create a replacement browser.
Release a browser
When you’re done with a browser, release it back to the pool. By default, the browser instance is reused. Setreuse: false to destroy it and create a fresh one.
Update a pool
Update the pool configuration. By default, all idle browsers are discarded and rebuilt with the new configuration.The
size parameter is always required when updating a pool, even if you only want to change other settings.discard_all_idle: false to keep existing idle browsers and only apply the new configuration to newly created browsers.
Flush idle browsers
Destroy all idle browsers in the pool. Acquired browsers are not affected. The pool will automatically refill based on the configuredfill_rate_per_minute.
Get pool details
Retrieve the current status and configuration of a pool.List pools
List all browser pools in your organization.Delete a pool
Delete a browser pool and all browsers in it. By default, deletion is blocked if browsers are currently acquired. Useforce: true to terminate acquired browsers and force deletion.

