Day 45 / Daily GitHub Discovery / Developer Tools

Crawlee

Production-grade web scraping and browser automation library with anti-detection and auto-scaling.

~26,000 stars · checked Oct 4, 2026
TypeScriptNode.jsPlaywrightPuppeteerCheerioDocker
Visit GitHub (opens in a new tab)

What it does

Crawlee is an open-source web scraping and browser automation library for Node.js that enables developers to build fast, production-grade crawlers with automatic anti-bot evasion, proxy rotation, persistent request queues, and system-adaptive autoscaling.

Why it’s interesting

Vanilla Playwright or Puppeteer quickly hit production walls: bot detection, memory leaks, IP bans, and network drops. Crawlee handles these headaches out of the box with intelligent browser fingerprinting, adaptive concurrency pools, and persistent queuing.

Real-world use case

Build a competitor price-tracking pipeline or AI training dataset scraper. Crawlee intelligently chooses between lightweight Cheerio (static HTML) and Playwright (JavaScript rendering), rotates proxies, and saves clean JSON datasets without manual retries.

What I can learn

  • 01

    Automated Anti-Detection and Fingerprinting

    Learn how to randomize browser fingerprints (HTTP headers, WebGL parameters, Canvas hashes) to bypass sophisticated bot detection systems.

  • 02

    Resource-Aware Concurrency Pools

    Study how AutoscaledPool monitors CPU and heap memory in real time to dynamically throttle concurrent browser instances without triggering OOM errors.

  • 03

    Unified Crawler Abstraction

    Understand how a standardized routing interface keeps extraction logic identical regardless of whether Playwright or Cheerio executes underneath.

One thing to explore

Browser Pool and Crawler Implementations

Inspect packages/browser-pool/ and packages/core/src/crawlers/ to see how browser lifecycles, session retirement, and request queues are coordinated.

Explore the source (opens in a new tab)

10-Minute Challenge

Build and run a 5-page crawl with auto-enqueuing

Before you start: Node.js 16+, npm, Playwright installed, 10 minutes

  1. npm install crawlee playwright
  2. Create crawler.mjs with PlaywrightCrawler and auto-enqueue linked pages
  3. Set maxRequestsPerCrawl to 5 and log extracted titles
  4. Inspect ./storage/datasets/default/ for extracted JSON output

Keep exploring

All repositories →