# BrowserPluginOptions<!-- --> \<LibraryOptions>

### Hierarchy

* *BrowserPluginOptions*
  * [BrowserLaunchContext](https://crawlee.dev/js/api/browser-crawler/interface/BrowserLaunchContext.md)

## Index[**](#Index)

### Properties

* [**browserPerProxy](#browserPerProxy)
* [**experimentalContainers](#experimentalContainers)
* [**ignoreProxyCertificate](#ignoreProxyCertificate)
* [**launchOptions](#launchOptions)
* [**proxyUrl](#proxyUrl)
* [**useIncognitoPages](#useIncognitoPages)
* [**userDataDir](#userDataDir)

## Properties<!-- -->[**](#Properties)

### [**](#browserPerProxy)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L85)optionalbrowserPerProxy

**browserPerProxy?

<!-- -->

: boolean

If set to `true`, the crawler respects the proxy url generated for the given request. This aligns the browser-based crawlers with the `HttpCrawler`.

Might cause performance issues, as Crawlee might launch too many browser instances.

### [**](#experimentalContainers)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L74)optionalexperimentalContainersexperimental

**experimentalContainers?

<!-- -->

: boolean

Like `useIncognitoPages`, but for persistent contexts, so cache is used for faster loading. Works best with Firefox. Unstable on Chromium.

### [**](#ignoreProxyCertificate)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L90)optionalignoreProxyCertificate

**ignoreProxyCertificate?

<!-- -->

: boolean

If set to `true`, TLS certificate errors from the upstream proxy will be ignored. This is useful when using HTTPS proxies with self-signed certificates.

### [**](#launchOptions)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L55)optionallaunchOptions

**launchOptions?

<!-- -->

: LibraryOptions

Options that will be passed down to the automation library. E.g. `puppeteer.launch(launchOptions);`. This is a good place to set options that you want to apply as defaults. To dynamically override those options per-browser, see the `preLaunchHooks` of [BrowserPool](https://crawlee.dev/js/api/browser-pool/class/BrowserPool.md).

### [**](#proxyUrl)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L61)optionalproxyUrl

**proxyUrl?

<!-- -->

: string

Automation libraries configure proxies differently. This helper allows you to set a proxy URL without worrying about specific implementations. It also allows you use an authenticated proxy without extra code.

### [**](#useIncognitoPages)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L68)optionaluseIncognitoPages

**useIncognitoPages?

<!-- -->

: boolean = false

By default pages share the same browser context. If set to true each page uses its own context that is destroyed once the page is closed or crashes.

### [**](#userDataDir)[**](https://github.com/apify/crawlee/blob/8f2663aedfd2280ca35b9185b4e287f65a2ce969/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L78)optionaluserDataDir

**userDataDir?

<!-- -->

: string

Path to a User Data Directory, which stores browser session data like cookies and local storage.
