Browser API

Simplify your dynamic scraping operations. Transform any website into a live data pipeline with the leading AI-powered data extraction platform. Run and scale your Puppeteer, Selenium, and Playwright scripts on fully hosted browsers, with built-in captcha solving automated proxy management.

No risk. Pay only for completed requests.

  • Use proxies, sessions, cookies, and browser fingerprints
  • Target countries, regions, and ASNs worldwide
  • Handle captcha challenges inside browser workflows
  • Scale automation without managing Chrome servers
  • Start quickly with simple plug-and-play integration
  • Run JavaScript-heavy websites with full browser rendering

Full scraping automation stack in scraping browser

Browser fingerprinting

Manage browser fingerprints, headers, cookies, and session signals to make automation workflows more stable.

Automated captcha solving

Handle captcha challenges in the background, including reCAPTCHA, hCaptcha, Turnstile, and other common verification flows.

Integrated proxy management

Use residential and mobile proxies with IP rotation, geo-targeting, and sticky sessions for large-scale data collection.

Easy integration

Connect through WebSocket or CDP and use your existing Playwright, Puppeteer, or Selenium scripts with minimal changes.

Auto-scaling infrastructure

Run browser automation in the cloud without managing local Chrome instances, Docker containers, or browser servers.

JavaScript rendering and debugging

Render dynamic websites, inspect browser sessions, and debug workflows with screenshots, logs, and developer tools.

How 2Captcha Browser extends Puppeteer, Selenium, and Playwright

2Captcha Browser
Puppeteer
Selenium
Playwright
Web Navigation
JS Rendering
Multi-Driver Stack
Optimized Driver Selection
AI Stealth Undetection Technology
Fully-managed Auto-scaling Infrastructure
Data Web Scraping Infrastructure
Built-in Proxies

How it works

Connect your automation code to a cloud browser endpoint and run scraping workflows without managing browser infrastructure. Keep your existing Playwright, Puppeteer, or Selenium logic while the hosted browser handles rendering, proxies, sessions, fingerprints, captcha challenges, and scaling.

  • Connect through CDP or WebSocket

    Use a remote browser endpoint instead of launching Chrome locally. Connect through CDP, WebSocket, or a supported automation library and control the cloud browser from your existing codebase.

  • Run your automation script

    Open pages, click buttons, fill forms, wait for selectors, scroll, navigate between pages, and interact with dynamic content using the same browser automation logic you already use.

  • Render the target website

    The hosted browser loads HTML, CSS, JavaScript, XHR requests, images, and dynamic page elements like a regular browser. This makes it possible to work with SPA websites, lazy-loaded content, filters, pagination, and JavaScript-heavy pages.

  • Handle access challenges

    Captcha challenges, proxy rotation, browser fingerprints, headers, cookies, and sessions are handled inside the browser workflow. Your script can continue after verification, retries, or session updates without adding custom handling for every website.

  • Extract the data

    Collect rendered HTML, visible page text, screenshots, network responses, or structured data from the completed browser session. Use the output in your scraper, data pipeline, monitoring system, AI agent, or internal workflow.

Easy-to-integrate

Headless Browser is a scalable engine for scraping and automation - built for humans and AI agents alike.

Libraries: Playwright, Puppeteer & CDP-compatible tools

AI control: Support for MCP on Claude Desktop, Cursor and other MCP clients

Browsers: Chromium and Firefox

Control the browser directly through CDP-compatible tools. Open pages, inspect network traffic, manage cookies, execute JavaScript, and collect rendered data.

import puppeteer from 'puppeteer';

const login    = 'YOUR_LOGIN';
const password = 'YOUR_PASSWORD';

// Generate profile ID
const chars     = 'abcdefghijklmnopqrstuvwxyz0123456789';
const profileId = 'profile_' + Array.from({ length: 5 }, () =>
  chars[Math.floor(Math.random() * chars.length)]).join('');

const cdpUrl = `ws://${login}-pid-${profileId}-zone-scraping_browser-country-us:${password}@cb.2captcha.com:9222`;

const browser = await puppeteer.connect({ browserWSEndpoint: cdpUrl });
const page    = await browser.newPage();
await page.goto('https://example.com');
console.log('Title:', await page.title());
await browser.disconnect();

Run Puppeteer scripts on fully hosted browser sessions instead of managing local Chrome instances, Docker containers, or browser servers.

import puppeteer from 'puppeteer';

const login    = 'YOUR_LOGIN';
const password = 'YOUR_PASSWORD';

// Generate profile ID
const chars     = 'abcdefghijklmnopqrstuvwxyz0123456789';
const profileId = 'profile_' + Array.from({ length: 5 }, () =>
  chars[Math.floor(Math.random() * chars.length)]).join('');

// Optional: add proxy in the URL
// const proxyUrl = 'http://proxy_login:proxy_pass@proxy.example.com:3128';
// const encoded  = btoa(proxyUrl).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
// const suffix   = `-proxy-${encoded}`;
const suffix = '';

const cdpUrl = `ws://${login}-pid-${profileId}-zone-scraping_browser-country-us${suffix}:${password}@cb.2captcha.com:9222`;

(async () => {
  const browser = await puppeteer.connect({ browserWSEndpoint: cdpUrl });
  const page    = await browser.newPage();
  await page.goto('https://example.com');
  console.log('Title:', await page.title());
  await browser.disconnect();
})();

Connect Playwright to a remote browser endpoint and automate dynamic pages, forms, clicks, scrolling, screenshots, and data extraction in the cloud.

import { chromium } from 'playwright';

const login    = 'YOUR_LOGIN';
const password = 'YOUR_PASSWORD';

// Generate profile ID
const chars     = 'abcdefghijklmnopqrstuvwxyz0123456789';
const profileId = 'profile_' + Array.from({ length: 5 }, () =>
  chars[Math.floor(Math.random() * chars.length)]).join('');

const cdpUrl = `ws://${login}-pid-${profileId}-zone-scraping_browser-country-us:${password}@cb.2captcha.com:9222`;

(async () => {
  const browser = await chromium.connectOverCDP(cdpUrl);
  const context = browser.contexts()[0];
  const page    = await context.newPage();
  await page.goto('https://example.com');
  console.log('Title:', await page.title());
  await browser.close();
})();

Use Selenium-based workflows for browser automation, QA, scraping, and legacy test infrastructure without maintaining your own browser grid.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import random, string

login    = 'YOUR_LOGIN'
password = 'YOUR_PASSWORD'

# Generate profile ID
chars      = string.ascii_lowercase + string.digits
profile_id = 'profile_' + ''.join(random.choices(chars, k=5))

cdp_url = (
    f'ws://{login}-pid-{profile_id}'
    f'-zone-scraping_browser-country-us'
    f':{password}@cb.2captcha.com:9222'
)

options = Options()
options.add_experimental_option('debuggerAddress', cdp_url.replace('ws://', ''))

driver = webdriver.Chrome(options=options)
driver.get('https://example.com')
print('Title:', driver.title)
driver.quit()

Give AI agents a real browser runtime for web navigation, page interaction, form handling, data extraction, and multi-step automation tasks.

// Claude Desktop — mcp_servers config (claude_desktop_config.json)
{
  "mcpServers": {
    "2captcha-browser": {
      "command": "npx",
      "args": [
        "-y",
        "@2captcha/mcp-browser",
        "--login",    "YOUR_LOGIN",
        "--password", "YOUR_PASSWORD",
        "--country",  "us"
      ]
    }
  }
}

Build scraping workflows in the languages developers already use, with examples for browser automation, captcha handling, proxy settings, sessions, and debugging.

import base64
import random
import string
from playwright.sync_api import sync_playwright

login    = 'YOUR_LOGIN'
password = 'YOUR_PASSWORD'

# Generate profile ID
chars      = string.ascii_lowercase + string.digits
profile_id = 'profile_' + ''.join(random.choices(chars, k=5))

# Optional: embed proxy in the URL
# proxy_url = 'http://proxy_login:proxy_pass@proxy.example.com:3128'
# encoded   = base64.urlsafe_b64encode(proxy_url.encode()).decode().rstrip('=')
# suffix    = f'-proxy-{encoded}'
suffix = ''

cdp_url = (
    f'ws://{login}-pid-{profile_id}'
    f'-zone-scraping_browser-country-us{suffix}'
    f':{password}@cb.2captcha.com:9222'
)

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(cdp_url)
    context = browser.contexts[0]
    page    = context.new_page()
    page.goto('https://example.com')
    print('Title:', page.title())
    browser.close()

Scraping browser

Choose the amount of proxy traffic you want to purchase. The price depends on the selected volume.

10 GB$0 /GB

Order summary

Traffic
10 GB
Price
$0
Discount
$0
Order total
$0

Use cases

Scraping browser bypasses the roadblocks so you can focus on the data.

Data Extraction & E-commerce

Data Extraction & E-commerce

Legitimate public data gathering to scale business processes and analytics without the risk of IP blocks.

Market & Price Intelligence

Extract competitor pricing and inventory from marketplaces (Amazon, Walmart) in real-time. Built-in proxies easily bypass aggressive retail WAFs.

SEO Monitoring & SERP

Bulk parse Google search results for rank tracking. Choose your exact geolocation (country/city) and forget about search engine captchas.

AI & LLM Data Training

AI & LLM Data Training

Provide your neural networks and AI agents with uninterrupted access to fresh internet data.

RAG & Agent Tooling

Integrate via Model Context Protocol (MCP). Enable your LLM agent to gather information from any protected website, receiving clean Markdown or JSON in return.

Dataset Gathering

Automated collection of massive text and visual datasets for training ML models. The browser autonomously handles all Cloudflare and DataDome challenges during the scraping process.

QA & Security Testing

QA & Security Testing

Reliable tools for developers and QA engineers to automate routine tasks and validate system integrity.

End-to-End (E2E) Testing

Seamless testing of user flows (registration, checkout) in CI/CD pipelines using Playwright or Puppeteer without facing roadblocks in pre-production.

WAF & Bot-Protection Stress Test

Emulate complex traffic scenarios to test infrastructure resilience and validate the response of bot protection systems (Akamai, Imperva) under heavy load.

Social Media

Social Media

Interact with social media safely while maintaining high account trust scores.

Persistent Sessions

Utilize Sticky Sessions (IP retention) and persistent profiles (cookie storage). Your script will behave and look exactly like a regular user browsing from a specific mobile device.

Lead Generation

Collect public contacts and profiles for outreach campaigns, avoiding shadowbans and account restrictions thanks to flawless kernel-level browser fingerprinting.

Compliance and Responsible Use

We are committed to ensuring that our technology is used lawfully, responsibly, and for legitimate purposes. We do not support, authorize, or tolerate any illegal activity, abuse, or misuse of our products and services.

Our services are intended to support lawful access to publicly available information, including use cases that contribute to research, transparency, innovation, and the development of useful data-driven solutions. We strictly oppose the collection, processing, or use of unauthorized, restricted, confidential, or sensitive information without proper legal basis or permission.

Users are solely responsible for ensuring that their use of our services complies with all applicable laws, regulations, contractual obligations, website terms, privacy requirements, and third-party rights.

If you believe that our services are being used in violation of applicable law, our policies, or the rights of others, please contact us and provide relevant details. We review abuse reports carefully and may take appropriate action, including restricting or terminating access to our services where necessary.

To strengthen transparency, user control, and privacy protection, we maintain a dedicated Privacy Center where users can access information about data practices, privacy rights, and available control options.

FAQ

What is 2Captcha Scraping Browser?
A cloud-based, fully managed browser for web scraping. It provides an automated environment that handles proxy rotation, fingerprint spoofing, and captcha solving natively via Chrome DevTools Protocol (CDP).
When should I use 2Captcha Scraping Browser?
Use it when scraping dynamically rendered Single Page Applications (SPAs), interacting with complex web elements (clicking, scrolling), or bypassing strict Enterprise WAFs (Cloudflare, DataDome, Akamai) that block simple HTTP requests.
How is 2Captcha Scraping Browser different from Puppeteer, Playwright, or Selenium?
Puppeteer, Playwright, and Selenium are local automation libraries that get blocked by modern bot protection. 2Captcha Scraping Browser is a remote execution environment that runs these libraries while patching fingerprints and bypassing WAFs on the server side.
How does 2Captcha Scraping Browser work?
You connect an automation script via a WebSocket URL. The script sends commands to 2Captcha's serverless infrastructure, which executes the actions in a modified browser utilizing proxy routing and stealth modules, returning the rendered data.
What is CDP?
Chrome DevTools Protocol (CDP) is an API that enables external clients to inspect, debug, and control Chromium-based browsers. It is the underlying protocol used by Playwright and Puppeteer to send commands to the browser.
Can I use Playwright or Puppeteer with 2Captcha Scraping Browser?
Yes. Change your local launch() method to connect_over_cdp() and pass the 2Captcha WebSocket endpoint URL.
Can I use Selenium with 2Captcha Scraping Browser?
Yes. Selenium is supported utilizing WebDriver BiDi (Bidirectional) capabilities or remote web driver configurations pointing to the 2Captcha endpoint.
Does 2Captcha Scraping Browser render JavaScript?
Yes. It executes in a Chromium environment, rendering JavaScript, CSS, and executing AJAX requests like a standard desktop browser.
Does 2Captcha Scraping Browser handle captcha?
Yes. It natively intercepts and resolves reCAPTCHA, hCaptcha, Cloudflare Turnstile, and other challenges automatically in the background using 2Captcha's core solver technology.
Does 2Captcha Scraping Browser support proxies?
Yes. It includes built-in proxy management with access to residential, mobile, and ISP pools. It supports automatic IP rotation and geographic targeting.
Does 2Captcha Scraping Browser manage browser fingerprints?
Yes. It dynamically spoofs hardware and software fingerprints at the kernel level, including Canvas, WebGL, WebRTC, fonts, and TLS/HTTP2 signatures.
Can I keep cookies and session data with 2Captcha Scraping Browser?
Yes. It supports persistent browser profiles and sticky sessions. You can maintain cookies, localStorage, and active login states across multiple requests.
Is 2Captcha Scraping Browser headless or headful?
You interact with it programmatically like a headless browser, but it runs in a headful (GUI) mode on 2Captcha servers to lower detection rates by anti-bot systems.
How is 2Captcha Scraping Browser different from a scraping API?
A scraping API requires sending an HTTP GET/POST request and returns HTML, giving no control over the execution flow. The Scraping Browser gives full programmatic control to interact with the page in real-time (clicking, typing, waiting for elements).
Can I use my existing Playwright or Puppeteer scripts?
Yes. The script logic (selectors, navigation, interactions) remains identical. Only the initialization step changes from launching a local instance to connecting to the remote WebSocket.
What happens if the page is blocked or fails?
The infrastructure automatically retries the request using a clean IP and a new fingerprint profile before returning an error to the script.
Can I debug browser sessions?
Yes. The dashboard provides a Live Browser View (via VNC/WebRTC) to visually inspect running sessions, alongside access to console logs and network capture (HAR) exports.
Does 2Captcha Scraping Browser support AI agents?
Yes. It integrates with AI frameworks (CrewAI, LangChain) and the Model Context Protocol (MCP). It outputs clean Markdown or structured JSON optimized for LLM processing.
How does pricing usually work?
Billing is hybrid: based on the number of concurrent browser sessions (compute time) and the bandwidth consumed by the built-in residential or mobile proxies.
  • «GDPR»标志
  • «SSL secured»标志
  • «Google privacy policy»标志
  • «S/MIME»标志
  • «CCPA»标志