Documentation has been updated: see help center and changelog in one place.

Chrome

Unblocking Browser supports two specialized browser environments, one of which is Chrome. Learn more on how to start using it.

The Unblocking Browser Chrome environment provides high-performance remote browsers running on dedicated servers and using residential proxies for connection. These browser environments are fast, stable, and highly configurable. They can act as a drop-in replacement for your local browser infrastructure.

Key Features

  • Fast and stable performance

  • Any proxy country selection

  • Compatible with Chrome DevTools Protocol (CDP)

Connection Details

Connect to UBC using the following WebSocket endpoint:

wss://ubc.oxylabs.io

Basic Usage

from playwright.sync_api import sync_playwright

username = "your-username"
password = "your-password"
endpoint = "ubc.oxylabs.io"
browser_url = f"wss://{username}:{password}@{endpoint}"

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(browser_url)
    page = browser.new_page()
    page.goto('https://example.com')
    browser.close()

United States Proxy Infrastructure

Users, who mainly operate in the US, can connect directly to US-based infrastructure via the special entry point. This ensures faster loading time and better browsing efficiency. To establish connection, enter the following:

Code examples:

Note: this solution primarily shortens the response time for the US-based users, and should not be confused with proxy geo-location selection. More on that in the following section.

Country Selection

You can specify a country for your browser session by adding the ?p_cc parameter to your connection URL. Here are examples:

If no country is specified, the system will automatically assign one based on availability.

Browser Arguments

Unblocking Browser Chrome accepts additional browser arguments passed with connection URL in the format of ?bargs=. These GET parameters specify command-line arguments that browsers should be started with.

  1. If the argument should have value, we use bargs=argname:argvalue;

  2. If the argument is just a flag, we use bargs=flagname .

Currently, Oxylabs Unblocking Browser Chrome supports the following arguments:

Argument
Description

force-color-profile:<profile>

Force all monitors to be treated as though they have the specified color profile.

window-position:X,Y

Specifies the initial window position.

hide-scrollbars

Prevents creating scrollbars for web content – useful for taking consistent screenshots.

enable-features:<feature1>,<feature2>,<feature3>

Comma-separated list of feature names to enable.

disable-notifications

Disables the Web Notification and the Push APIs.

Usage example:

Device Type

You can customize how the browser emulates different device types by using the ?p_device parameter. This allows you to emulate fingerprints of the selected device types (desktop, mobile, tablet), which is particularly useful for scraping responsive layouts, mobile-specific content, or device-dependent behavior such as CAPTCHAs or UI elements.

Available ?p_device parameter values:

  • desktop (default) – Emulates a standard desktop browser with a full-size viewport and desktop user-agent string.

  • mobile – Simulates a smartphone experience with a smaller screen resolution, touch capabilities, and a mobile user-agent.

  • tablet – Emulates a tablet device, ideal for scraping medium-sized layouts and hybrid mobile/tablet interfaces.

For example:

CAPTCHA Solving Events

Oxylabs will log a message to the console when a CAPTCHA is detected and is in the process of being solved. Following messages can be printed into console log:

oxylabs-captcha-solve-start

Fired when our system has detected the CAPTCHA and started solving it.

oxylabs-captcha-solve-end

Fired when the auto-solver has successfully solved the CAPTCHA.

oxylabs-captcha-solve-error

Fired when the auto-solver has failed to solve the CAPTCHA.

You can subscribe to these events to pause your automation and resume only after the CAPTCHA has been successfully handled. Normally CAPTCHA solving takes up to 30 seconds depending on the type and complexity of the CAPTCHA, but in some cases could take longer so allow time for CAPTCHA solving to end.

Check out the below example of how these events can be handled.

Dynamic CAPTCHA Solving

By default, Unblocking Browser automatically detects and solves CAPTCHAs immediately when a page loads. However, some websites display CAPTCHAs at later stages, such as popup windows when submitting forms or after specific user interactions.

Unblocking Browser allows you to trigger CAPTCHA detection and solving manually at any point during your session. To manually trigger CAPTCHA solving, execute the following code to send a message to the window object:

Supported CAPTCHA types include:

  • hcaptcha

  • recaptcha

  • turnstile (Cloudflare CAPTCHA)

Example of usage (Playwright / Puppeteer JavaScript):

Turnstile CAPTCHA requires a different approach since it must be intercepted before it appears on screen. To do so, initiate CAPTCHA detection first, then perform the action that triggers the CAPTCHA:

Last updated

Was this helpful?