explaingit

berstend/puppeteer-extra

7,323JavaScriptAudience · developerComplexity · 2/5Setup · easy

TLDR

A plugin framework built on Puppeteer that lets you add capabilities like bot-detection avoidance, CAPTCHA solving, and ad blocking to automated Chrome browser sessions with a single plugin call.

Mindmap

mindmap
  root((repo))
    What it does
      Plugin framework
      Browser automation
      Extends Puppeteer
    Plugins
      Stealth plugin
      CAPTCHA solver
      Ad blocker
    Related Tools
      Puppeteer
      Playwright
      playwright-extra
    Use Cases
      Web scraping
      Bot bypass
      Form automation
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Scrape websites that block automated bots by adding the stealth plugin so your Puppeteer session looks like a real browser user

USE CASE 2

Automatically handle reCAPTCHA challenges on forms without manual intervention using the built-in CAPTCHA solver plugin

USE CASE 3

Control a Playwright browser with the same plugin system using playwright-extra for cleaner, blocked-site scraping

Tech stack

JavaScriptNode.jsPuppeteerPlaywright

Getting it running

Difficulty · easy Time to first run · 30min

The reCAPTCHA plugin requires a paid third-party solving service API key such as 2captcha.

In plain English

puppeteer-extra is a plugin framework built on top of Puppeteer, a Node.js tool that controls a Chrome or Chromium browser automatically. Puppeteer lets developers write code that opens web pages, clicks buttons, fills in forms, takes screenshots, and extracts content, all without a person at the keyboard. It is widely used for testing websites, scraping data, and automating repetitive browser tasks. puppeteer-extra wraps Puppeteer with a plugin system so additional capabilities can be added cleanly without forking or modifying the core library. The most widely used plugin included in this repository is the stealth plugin, which modifies the browser's behavior to reduce the chance that a website detects it as an automated bot rather than a real person. Other available plugins include one that handles reCAPTCHA challenges automatically, an ad blocker, and a plugin that alters the user agent string (the label a browser sends to websites to identify itself). This GitHub repository is organized as a monorepo, meaning it holds multiple related packages in one place. The main puppeteer-extra library and each of its plugins each live in their own subfolder under the packages/ directory. The root README is intentionally brief and points to those individual packages for full documentation. New plugins can be contributed by extending a base class that the project provides. The repository also includes playwright-extra, a companion package that brings the same plugin system to Playwright, a similar browser automation tool developed by Microsoft.

Copy-paste prompts

Prompt 1
I want to scrape a website that blocks regular Puppeteer bots. Show me how to install puppeteer-extra and the stealth plugin, and write a Node.js script that opens the page with stealth mode enabled.
Prompt 2
I'm automating a form submission with Puppeteer that has a reCAPTCHA on it. Show me how to use the puppeteer-extra-plugin-recaptcha plugin with my 2captcha API key to solve it automatically.
Prompt 3
I want to use puppeteer-extra's plugin system with Playwright instead of Puppeteer. Show me how to set up playwright-extra with the stealth plugin and open a browser page.
Open on GitHub → Explain another repo

← berstend on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.