puppeteer/puppeteer

JavaScript API for Chrome and Firefox

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 18 minutes ago
Added to GitGenius on December 29th, 2024
Created on May 9th, 2017
Open Issues & Pull Requests: 259 (+0)
GitHub issues: Enabled
Number of forks: 9,578
Total Stargazers: 95,544 (+0)
Total Subscribers: 1,209 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 18.4 hours
Mean response time: 489.6 days
90th percentile: 2025.4 days
Tracked items: 1,262

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 92% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "@puppeteer/browsers" is answered fastest, typically in about an hour, while "chromium" waits about 78 months. Only 4% of issues opened in the past year have been closed. Three people close 88% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 246
New in 7 days: 2
Closed in 7 days: 3
Avg open age: 1,187 days
Stale 30+ days: 242
Stale 90+ days: 232

Recent activity

Opened in 7 days: 1
Closed in 7 days: 2
Comments in 7 days: 12
Events in 7 days: 22

Top labels

  • unconfirmed (1,601)
  • confirmed (768)
  • needs-feedback (439)
  • P3 (335)
  • chromium (307)
  • not-reproducible (258)
  • upstream (235)
  • feature (153)

Detailed Description

Puppeteer is a JavaScript library that provides a high-level API for controlling Chrome and Firefox browsers through the DevTools Protocol or WebDriver BiDi. The library runs in headless mode by default, meaning it operates without a visible user interface, making it ideal for automated testing, web scraping, and server-side browser automation tasks. Written primarily in TypeScript, Puppeteer enables developers to programmatically interact with web pages, capture screenshots, generate PDFs, test web applications, and monitor network activity.

The repository serves as a comprehensive browser automation framework that abstracts away the complexity of low-level browser control protocols. Users can perform tasks such as form submission, performance testing, screenshot capture, and page rendering through a straightforward JavaScript API. The library supports both Chromium-based browsers and Firefox, providing flexibility for different automation scenarios. Puppeteer also integrates with the Chrome DevTools Protocol, allowing developers to leverage advanced browser capabilities for debugging and performance analysis.

The project's contributor ecosystem shows concentrated activity among key maintainers.

Installation of Puppeteer requires attention to package manager configurations, as modern package managers including npm, pnpm, Yarn, Bun, and Deno block dependency install scripts by default. This security-focused approach means users may need to manually download required browsers after installation or configure their package manager to allow install scripts. The repository also supports integration with the chrome-devtools-mcp server, a Puppeteer-based MCP implementation for browser automation and debugging, and offers experimental WebMCP API support for additional automation capabilities.

The repository's classification across 24 distinct categories reflects its broad applicability, spanning chrome devtools protocol integration, UI testing, network interception, headless browser operation, PDF generation, screenshot capture, element manipulation, and automated testing. This comprehensive feature set positions Puppeteer as a central tool in the JavaScript automation ecosystem, serving developers who need reliable, programmatic browser control for testing, monitoring, and data extraction purposes.