Browser API
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
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()Use cases
Scraping browser bypasses the roadblocks so you can focus on the data.
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
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
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.
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.
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.