Appearance
Puppeteer
Category: Classic Browser Automation
Puppeteer is a Node.js library maintained by the Chrome DevTools team that provides a high-level API to control Chrome or Firefox over the DevTools Protocol (CDP) or WebDriver BiDi. It runs headless by default, meaning no visible browser UI unless you opt in.
At a Glance
| Property | Value |
|---|---|
| Category | Classic |
| Cloud / Local | Local (runs in your Node process) |
| Headless | Yes (default) |
| Headful | Yes (headless: false) |
| Proxies | Supply your own |
| CAPTCHA solving | No |
| Stealth / Anti-detect | Weak (detectable by default) |
| Cost | Free, open source (Apache-2.0) |
| Current version | 25.2.1 (June 2026) |
| Used by | 576,000+ projects |
When to Use Puppeteer
- Fast local scripting: screenshots, PDFs, form fills, data extraction from JS-rendered pages
- CI pipeline integration where you control the environment
- Prototyping automation flows before moving to a cloud browser (Steel, Browserbase, Hyperbrowser)
- Generating PDFs or screenshots of internal/preview URLs (localhost allowed)
When NOT to Use Puppeteer
- Scraping against bot-detection: use Browserbase or Hyperbrowser instead
- Geo-targeted SERP capture: pair with a residential proxy + UULE and route through Steel or Browserbase
- Unattended always-on workloads on Mike's Windows machine: use a cloud browser backend
Official Links
- Site: https://pptr.dev
- GitHub: https://github.com/puppeteer/puppeteer
- Examples: https://github.com/puppeteer/puppeteer/tree/main/examples
Safety and ToS Notes
Puppeteer is a general-purpose browser automation library with no built-in restrictions. Standard responsible-use rules apply:
- Do not use to bypass paywalls, access controls, or CAPTCHAs on sites that prohibit automated access.
- Respect each target site's
robots.txtand ToS. - Never run high-volume scraping or download-heavy tasks from Mike's home IP -- route those through proxies.
puppeteer(full package) downloads a pinned Chromium build on install.puppeteer-coredoes not; you supply the browser path.