Proxies
A saved Proxy is a reusable traffic configuration for browser Runtimes. Choose a custom endpoint, a managed rotating proxy, or a managed static lease. Attach a saved Proxy through Runtimes.
Choose a proxy type
Create a custom Proxy
protocol is "http" or "socks5". You can also provide a proxy url
instead of separate host and port fields. dnsResolution can be "local" or
"proxy"; udpMode can be "disabled", "auto", or "required".
Create a managed rotating Proxy
Managed rotating Proxies use one of the provider pools. pool1 supports
country, region, city, ISP, IP family, and preference targeting. pool2
supports country, state, city, and device targeting.
Common rotating fields:
Browse managed proxy locations
Search the provider-backed geo catalog when you need an exact geoId for a
managed rotating Proxy:
Use the customer-facing locations catalog to browse the locations available for a managed pool:
Both catalog clients support list() and iter() with the same pagination
filters: cursor, limit, q, country, region, type, and pool.
Discover static pools before creating a managed static Proxy:
Create a managed static Proxy
Managed static Proxies may be provisioning, active, provisioning_failed,
expired, or renewal_failed. The assigned IP, location, pricing, and
expiration fields become available when the lease is provisioned.
Attach a Proxy to a Runtime
Pass the saved Proxy ID in browser Runtime configuration:
The Proxy is selected when the Runtime starts. Changes to a saved Proxy apply to future Runtime starts.
Inspect and test a Proxy
Proxy credentials are write-only. Responses expose hasPassword for custom
Proxies rather than returning the password.
Proxy resource fields
All Proxy responses include:
The remaining fields depend on type. Custom Proxies expose connection
details and hasPassword; managed rotating Proxies expose their pool and
targeting configuration; managed static Proxies additionally expose lease
status and assignment details.
Use bctrl.proxies.list() and iter() to enumerate saved Proxies. Use
bctrl.proxies.pools.list(), iter(), and get() to browse managed pools.

