v97

latestOpenAPI 3.1.0raw.githubusercontent.com2026-07-31135175384.2 KB
Browser Pools

Create a browser pool

Create a new browser pool with the specified configuration and size. Pooled browsers load their profile read-only: any save_changes on the profile is ignored (not rejected), so pooled browsers never persist changes back to the profile.

post/browser_pools

Request body

sizeinteger required

Number of browsers to maintain in the pool. The maximum size is determined by your organization's pooled sessions limit (the sum of all pool sizes cannot exceed your limit).

namestring

Optional name for the browser pool. Must be unique within the project.

fill_rate_per_minuteinteger

Percentage of the pool to fill per minute. Defaults to 25. The cap is 25 for most organizations but can be raised per-organization, so only the lower bound is enforced here.

timeout_secondsinteger

Default idle timeout in seconds for browsers acquired from this pool before they are destroyed. Defaults to 600 seconds. Minimum 10, maximum 259200 (72 hours).

stealthboolean

If true, launches the browser in stealth mode to reduce detection by anti-bot mechanisms. Defaults to false.

headlessboolean

If true, launches the browser using a headless image. Defaults to false.

refresh_on_profile_updateboolean

When true, flush idle browsers when the profile the pool uses is updated, so pool browsers pick up the latest profile data. When a profile is provided during creation, this defaults to true. Requires a profile to be set on the pool.

proxy_idstring

Optional proxy to associate to the browser session. Must reference a proxy in the same project as the browser session.

kiosk_modeboolean

If true, launches the browser in kiosk mode to hide address bar and tabs in live view. Defaults to false.

chrome_policyobject

Custom Chrome enterprise policy overrides applied to all browsers in this pool. Keys are Chrome enterprise policy names; values must match their expected types. Blocked: kernel-managed policies (extensions, proxy, CDP/automation). See https://chromeenterprise.google/policies/ The serialized JSON payload is capped at 5 MiB.

start_urlstring

Optional URL to navigate to when a new browser is warmed into the pool. Best-effort: failures to navigate do not fail pool fill. Only applied to newly-warmed browsers; browsers reused via release/acquire keep whatever URL the previous lease left them on. Accepts any URL Chromium can resolve, including chrome:// pages.

Example request

{
  "size": 10,
  "name": "my-pool",
  "stealth": true,
  "refresh_on_profile_update": true,
  "viewport": {
    "width": 1280,
    "height": 800,
    "refresh_rate": 60
  },
  "kiosk_mode": true,
  "start_url": "https://example.com"
}

Response

Browser pool created successfully

idstring required

Unique identifier for the browser pool

namestring

Browser pool name, if set

available_countinteger required

Number of browsers currently available in the pool

acquired_countinteger required

Number of browsers currently acquired from the pool

created_atstring date-time required

Timestamp when the browser pool was created

profile_idstring

Resolved profile ID the pool is attached to. Omitted when no profile is attached. Authoritative for programmatic consumers; the profile inside browser_pool_config reflects the configured selector (echoed as sent on create).

extension_idsstring[] required

Resolved extension IDs attached to the pool, in configured load order. Empty when no extensions are attached. Authoritative for programmatic consumers; the extensions inside browser_pool_config reflect the configured selector (echoed as sent on create).

Example response

{
  "id": "iv25ujqf37x3j07dwoffegqr",
  "name": "my-pool",
  "available_count": 85,
  "acquired_count": 15,
  "browser_pool_config": {
    "size": 10,
    "name": "my-pool",
    "stealth": true,
    "refresh_on_profile_update": true,
    "viewport": {
      "width": 1280,
      "height": 800,
      "refresh_rate": 60
    },
    "kiosk_mode": true,
    "start_url": "https://example.com"
  },
  "profile_id": "iv25ujqf37x3j07dwoffegqr"
}