thomasdondorf/puppeteer-cluster

Puppeteer Pool, run a cluster of instances in parallel

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 9 minutes ago
Added to GitGenius on September 19th, 2026
Created on June 24th, 2018
Open Issues & Pull Requests: 127 (+0)
GitHub issues: Enabled
Number of forks: 319
Total Stargazers: 3,514 (+0)
Total Subscribers: 46 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 169.5 days
Mean response time: 393.7 days
90th percentile: 1138.0 days
Tracked items: 14

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,117 days
Stale 30+ days: 17
Stale 90+ days: 14

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (3)
  • bug (1)
  • discussion (1)
  • duplicate (1)
  • help wanted (1)
  • question (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Puppeteer Cluster is a library that manages a pool of Puppeteer workers to run Chromium instances in parallel.

The tool solves the problem of efficiently crawling multiple pages or running browser-based tests concurrently. It spawns a pool of Chromium instances and handles job queuing, error recovery, and browser lifecycle management. When a browser crashes, the tool automatically restarts it. Jobs can be configured to retry automatically on failure. The library offers three built-in concurrency models that control isolation between jobs: page-level concurrency shares cookies and localStorage across jobs, context-level concurrency uses incognito pages to isolate data, and browser-level concurrency runs each job in a separate browser instance to prevent crashes from affecting other jobs.

Developers should choose this tool when they need to parallelize browser automation tasks at scale, such as crawling large numbers of pages or running many browser tests. It suits projects that require reliable error handling and automatic recovery without manual intervention. The library provides progress monitoring and statistics to track cluster activity. TypeScript support via generics allows type-safe definitions of input and output data for tasks.

The project maintains active engagement with pull requests and issues, showing responsiveness to community contributions and bug reports. Development includes regular updates to keep pace with Puppeteer API changes and Node.js ecosystem evolution. The codebase demonstrates attention to code quality through TypeScript adoption and comprehensive examples covering common use cases from simple screenshots to large-scale crawling scenarios.