> ## Documentation Index
> Fetch the complete documentation index at: https://browseruse-0aece648-mintlify-cli-docs-1773354647.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Proxies & Stealth

> Configure anti-detect browsers with CAPTCHA solving and residential proxies in 195+ countries.

## Stealth by default

Every Browser Use Cloud session runs on stealth infrastructure. No configuration needed.

* **Anti-detect browser fingerprinting** — undetectable as automation
* **Automatic CAPTCHA solving** — CAPTCHAs are handled transparently
* **Ad and cookie banner blocking** — clean pages, faster execution
* **Cloudflare / anti-bot bypass** — works on protected sites

<Info>
  Stealth is always on. You do not need to configure anything. If you are searching for "captcha" — it is handled automatically.
</Info>

## Country proxies

A US residential proxy is always active by default — no configuration needed. To route through a different country, set `proxyCountryCode` on the session or inline via `sessionSettings`.

<CodeGroup>
  ```python Python theme={null}
  from browser_use_sdk import AsyncBrowserUse

  client = AsyncBrowserUse()

  # Via session — US proxy is the default
  session = await client.sessions.create(proxy_country_code="us")
  result = await client.run("Get the price of iPhone 16 on amazon.com", session_id=session.id)

  # Or inline via session_settings (auto-creates session)
  result = await client.run(
      "Get the price of iPhone 16 on amazon.com",
      session_settings={"proxyCountryCode": "us"},
  )
  ```

  ```typescript TypeScript theme={null}
  import { BrowserUse } from "browser-use-sdk";

  const client = new BrowserUse();

  // Via session — US proxy is the default
  const session = await client.sessions.create({ proxyCountryCode: "us" });
  const result = await client.run("Get the price of iPhone 16 on amazon.com", {
    sessionId: session.id,
  });

  // Or inline
  const result = await client.run("Get the price of iPhone 16 on amazon.com", {
    sessionSettings: { proxyCountryCode: "us" },
  });
  ```
</CodeGroup>

Common country codes: `us`, `gb`, `de`, `fr`, `jp`, `au`, `br`, `in`, `kr`, `ca`, `es`, `it`, `nl`, `se`, `sg`.

<Info>
  The default is always `us`. This applies to auto-sessions (`run()` without a `session_id`), manually created sessions, and browser sessions — unless you explicitly set a different country code.
</Info>

## Custom proxy

Bring your own proxy server (HTTP or SOCKS5).

<CodeGroup>
  ```python Python theme={null}
  from browser_use_sdk import AsyncBrowserUse, CustomProxy

  client = AsyncBrowserUse()
  session = await client.sessions.create(
      custom_proxy=CustomProxy(
          url="http://proxy.example.com:8080",
          username="user",
          password="pass",
      ),
  )
  ```

  ```typescript TypeScript theme={null}
  import { BrowserUse } from "browser-use-sdk";

  const client = new BrowserUse();
  const session = await client.sessions.create({
    customProxy: {
      url: "http://proxy.example.com:8080",
      username: "user",
      password: "pass",
    },
  });
  ```
</CodeGroup>

Proxy is a session-level setting. All tasks in the same session use the same proxy. See [Models & Pricing](/cloud/pricing) for proxy costs.

## Disabling proxies

<Warning>
  Disabling the proxy is not recommended. Residential proxies are a core part of Browser Use's stealth infrastructure and significantly reduce the chance of being blocked or fingerprinted. Only disable them if you have a specific reason (e.g. testing against localhost, or your target site allowlists your server IP).
</Warning>

To opt out of the built-in proxy, pass `proxyCountryCode` as `null` explicitly. This works for sessions, tasks (via `sessionSettings`), and browser sessions.

<CodeGroup>
  ```python Python theme={null}
  from browser_use_sdk import AsyncBrowserUse, SessionSettings

  client = AsyncBrowserUse()

  # Session — no proxy
  session = await client.sessions.create(proxy_country_code=None)

  # Task with inline session settings — no proxy
  result = await client.run(
      "Go to http://localhost:3000 and check the homepage",
      session_settings=SessionSettings(proxy_country_code=None),
  )

  # Browser session — no proxy
  browser = await client.browsers.create(proxy_country_code=None)
  ```

  ```typescript TypeScript theme={null}
  import { BrowserUse } from "browser-use-sdk";

  const client = new BrowserUse();

  // Session — no proxy
  const session = await client.sessions.create({ proxyCountryCode: null });

  // Task with inline session settings — no proxy
  const result = await client.run("Go to http://localhost:3000 and check the homepage", {
    sessionSettings: { proxyCountryCode: null },
  });

  // Browser session — no proxy
  const browser = await client.browsers.create({ proxyCountryCode: null });
  ```
</CodeGroup>

For the V3 API:

<CodeGroup>
  ```python Python theme={null}
  from browser_use_sdk.v3 import AsyncBrowserUse

  client = AsyncBrowserUse()
  result = await client.run(
      "Go to http://localhost:3000 and check the homepage",
      proxy_country_code=None,
  )
  ```

  ```typescript TypeScript theme={null}
  import { BrowserUse } from "browser-use-sdk/v3";

  const client = new BrowserUse();
  const result = await client.run("Go to http://localhost:3000 and check the homepage", {
    proxyCountryCode: null,
  });
  ```
</CodeGroup>

<Info>
  The US proxy is active by default on every session. To disable it for an auto-session (v2), pass `sessionSettings` with `proxyCountryCode: null` — omitting `sessionSettings` entirely leaves the default US proxy on.
</Info>
