Skip to main content

Verified

Use Browserbase’s purpose-built Chromium browser with real fingerprints for maximum success rates.

Proxies

Route automation traffic through residential or datacenter proxies for greater reliability.

Authentication management

Handle 2FA, OAuth flows, and other authentication challenges in automated sessions.

IP Allowlisting

Route Browserbase traffic through your VPN by allowlisting proxy IPs.

Overview

Automated browsers perform legitimate tasks like testing, data collection, and content aggregation - but bot protection systems often block all automation by default, regardless of intent. Browserbase solves this through direct partnerships with leading bot protection providers. Rather than trying to evade detection, Verified browsers are recognized as legitimate by the protection systems themselves. This means higher success rates, fewer interruptions, and a more reliable automation experience.

Verified

Verified is available for Scale Plan customers. Reach out to hello@browserbase.com if you’re interested in learning more, trialing the feature, or upgrading.
Verified sessions use a purpose-built Chromium browser, maintained by the Browserbase team, with real browser fingerprints that are recognized by Browserbase’s bot protection partners. This provides significantly higher success rates than standard browser sessions. Key benefits:
  • Bot protection partners recognize sessions as legitimate
  • Significantly fewer CAPTCHA challenges
  • Reliable access to protected sites
  • Real browser fingerprints - not randomly generated configurations
SDK
import Browserbase from "@browserbasehq/sdk";

const bb = new Browserbase({apiKey: process.env.BROWSERBASE_API_KEY!});

const session = await bb.sessions.create({
  browserSettings: {
    verified: true,
  },
  proxies: true,
});
console.log(session);

Identity & Signed Agents

Identity takes this further through cryptographic authentication. Browserbase partners with leading identity and trust providers so your agents can prove they are legitimate, human-authorized, and operating with consent.

Web Bot Auth (Cloudflare)

Through Browserbase’s partnership with Cloudflare’s Signed Agents program, your sessions can prove they are legitimate user-authorized agents — giving website owners the ability to specifically allow Browserbase sessions.
  • Authenticated by bot protection partners via Web Bot Auth
  • Website owners can explicitly allow Browserbase sessions
  • No CAPTCHA challenges on participating sites
  • Built on open standards for agent authentication

Get Access

Request beta access to enable Web Bot Auth for your account.

Human verification (AgentKit by Tools for Humanity)

For permissionless access via the x402 protocol, agents can prove they’re backed by a real human using AgentKit from Tools for Humanity. Instead of API keys or KYC, your agent signs a cryptographic proof linked to a verified human identity on World Chain.
  • Proof-of-humanity without revealing personal identity
  • Unlocks Verified browsers on x402 sessions
  • One-time wallet registration, reusable across sessions
  • Silent fallback — unverified agents still get a working browser

Set up AgentKit

Learn how to prove your agent is human-backed via x402

The identity ladder

Browserbase supports multiple layers of agent identity, each appropriate for different trust levels:
LayerMechanismTrust level
API keyBrowserbase SDK with project credentialsAccount-level (you manage who has keys)
Credential vaults1Password integration for secure credential accessDelegated (agent accesses what you allow)
Signed agentsCloudflare Web Bot AuthCryptographic (websites opt in to allow)
Human-verifiedAgentKit on x402Cryptographic proof-of-humanity
Each layer builds on the previous. An agent using x402 with AgentKit has proven: it can pay (wallet with funds), it’s human-backed (AgentBook registration), and it’s accessing a legitimate browser (Browserbase Verified).

CAPTCHA solving

Through Browserbase’s partnerships with CAPTCHA providers, Browserbase can resolve challenges automatically so your sessions continue without interruption. CAPTCHA solving is enabled by default for all sessions. How it works
  • Solving can take up to 30 seconds, depending on the challenge type.
  • Pairing with proxies improves success rates.
  • For non-standard CAPTCHAs, you can provide custom selectors to guide the process.
To disable CAPTCHA solving, set solveCaptchas to false in browserSettings when creating a session.

CAPTCHA solving events

Browserbase emits a console log when it detects a CAPTCHA and begins solving. Listen to these events to wait until solving completes before continuing your automation.
const recaptcha = await page.goto("https://www.google.com/recaptcha/api2/demo");

page.on("console", (msg) => {
  if (msg.text() == "browserbase-solving-started") {
    console.log("Captcha Solving In Progress");
  } else if (msg.text() == "browserbase-solving-finished") {
    console.log("Captcha Solving Completed");
  }
});

Custom CAPTCHA solving

If you encounter a non-standard, or custom CAPTCHA provider, you need to specify the explicit selector for the CAPTCHA image and button itself. For this custom CAPTCHA provider, you’ll need to specify two CSS selectors:
1

The selector for the CAPTCHA image element

2

Right-click on the CAPTCHA image and select 'Inspect' then pull the 'id' from the HTML source code of the image

<img class="LBD_CaptchaImage" id="c_turingtestpage_ctl00_maincontent_captcha1_CaptchaImage" src="/BotDetectCaptcha.ashx?get=image&amp;c=c_turingtestpage_ctl00_maincontent_captcha1&amp;t=759cbf332a684ae3abe16213fe76438c" alt="CAPTCHA">
The id in this example is c_turingtestpage_ctl00_maincontent_captcha1_CaptchaImage
3

The selector for the input field where the solution should be entered

4

Right-click on the input field and select 'Inspect' then pull the 'id' from the HTML source code of the input field

<input name="ctl00$MainContent$txtTuringText" type="text" value="Enter the characters shown above" maxlength="6" id="ctl00_MainContent_txtTuringText" class="swap_value field" initialvalue="Enter the characters shown above" title="Enter the characters shown above">
The id in this example is ctl00_MainContent_txtTuringText
5

Configure your browser settings with these selectors

browserSettings: {
  captchaImageSelector: "#c_turingtestpage_ctl00_maincontent_captcha1_CaptchaImage",
  captchaInputSelector: "#ctl00_MainContent_txtTuringText"
}

Disabling CAPTCHA solving

CAPTCHA solving typically takes between 5 and 30 seconds. If you’d like to disable captcha solving, you can set solveCaptchas to false in the browserSettings when creating a session.
SDK
import Browserbase from "@browserbasehq/sdk";

const bb = new Browserbase({apiKey: process.env.BROWSERBASE_API_KEY!});

async function createSessionWithoutCaptchaSolving() {
  const session = await bb.sessions.create({
    browserSettings: {
      solveCaptchas: false,
    },
  });
  return session;
}

const session = await createSessionWithoutCaptchaSolving();
console.log(session);

Best practices

Follow these best practices to ensure stable, efficient, and responsible automation with Browserbase.

Site compliance & ethical automation

Before automating a website:
  • Review the site’s terms of service to ensure compliance.
  • Check robots.txt for crawling guidelines when applicable.
  • Cache responses to reduce unnecessary requests and improve efficiency.
Need help? Contact support@browserbase.com