Bypass reCAPTCHA with Puppeteer
Automatically solve reCAPTCHA v2 and v3 challenges in your Puppeteer scripts. Built-in CAPTCHA solving, stealth mode, and fingerprint evasion for reliable automation.
The reCAPTCHA Challenge
Why solving CAPTCHAs with Puppeteer is difficult
The Browserless Solution
Automated reCAPTCHA bypass with zero configuration
Simple Puppeteer Code
No complex CAPTCHA solving logic needed - just write normal Puppeteer code
import puppeteer from 'puppeteer';
import { solveCaptcha } from 'some-captcha-service';
const browser = await puppeteer.launch();
const page = await browser.newPage();
// Navigate to page with reCAPTCHA
await page.goto('https://example.com/login');
// Detect CAPTCHA
const captchaExists = await page.$('.g-recaptcha');
if (captchaExists) {
// Extract site key
const siteKey = await page.$eval(
'.g-recaptcha',
el => el.getAttribute('data-sitekey')
);
// Call external CAPTCHA solving service
const solution = await solveCaptcha({
siteKey,
url: page.url(),
apiKey: process.env.CAPTCHA_API_KEY
});
// Wait for solution (can take 30+ seconds)
const token = await solution.waitForToken();
// Inject token into page
await page.evaluate((token) => {
document.getElementById('g-recaptcha-response').innerHTML = token;
}, token);
// Submit form
await page.click('button[type="submit"]');
}
// Continue automation...
await browser.close();import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({
browserWSEndpoint: 'wss://production-sfo.browserless.io?token=YOUR_API_KEY'
});
const page = await browser.newPage();
// Navigate to page with reCAPTCHA
await page.goto('https://example.com/login');
// reCAPTCHA is automatically detected and solved
// No extra code needed!
// Fill in login form
await page.type('#username', 'user@example.com');
await page.type('#password', 'password123');
await page.click('button[type="submit"]');
// Continue automation...
await page.waitForNavigation();
const data = await page.evaluate(() => {
return document.querySelector('.dashboard-data').textContent;
});
await browser.close();
console.log('Data:', data);import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({
browserWSEndpoint: 'wss://production-sfo.browserless.io?token=YOUR_API_KEY'
});
const page = await browser.newPage();
// First page with reCAPTCHA v2
await page.goto('https://example.com/signup');
await page.type('#email', 'user@example.com');
await page.type('#password', 'SecurePass123!');
// CAPTCHA automatically solved
await page.click('button#signup');
await page.waitForNavigation();
// Second page with invisible reCAPTCHA
await page.goto('https://example.com/verify');
await page.type('#verification-code', '123456');
// Invisible CAPTCHA automatically solved
await page.click('button#verify');
await page.waitForNavigation();
// Third page with reCAPTCHA v3
await page.goto('https://example.com/checkout');
await page.type('#credit-card', '4111111111111111');
// v3 CAPTCHA automatically handled
await page.click('button#purchase');
await browser.close();Comprehensive CAPTCHA Coverage
Support for all major CAPTCHA types and services
Why Choose Browserless for CAPTCHA Bypass?
Common Use Cases
Where automated CAPTCHA solving makes a difference
How It Works Behind the Scenes
Multi-layered approach for reliable CAPTCHA bypass
Stealth Mode Activation
When your Puppeteer script connects to Browserless, stealth mode is automatically enabled. This removes all WebDriver flags, randomizes browser fingerprints, and masks automation signatures that trigger CAPTCHA challenges.
CAPTCHA Detection
As your script navigates pages, Browserless continuously monitors for CAPTCHA elements. When a reCAPTCHA, hCaptcha, or other challenge is detected, the solving process initiates automatically in the background.
Automatic Solving
The CAPTCHA is solved using a combination of techniques: advanced computer vision for image challenges, machine learning models, and when needed, integration with professional solving services. The solution is injected seamlessly.
Seamless Continuation
Once solved, your Puppeteer script continues execution exactly where it left off. No timeouts, no manual intervention, no code changes needed. The entire process is transparent to your automation logic.
Start Bypassing reCAPTCHA Today
Add automatic CAPTCHA solving to your Puppeteer scripts with zero configuration. Free trial includes 1,000 requests with full CAPTCHA bypass support.