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
- npm install crawlee playwright
- Create crawler.mjs with PlaywrightCrawler and auto-enqueue linked pages
- Set maxRequestsPerCrawl to 5 and log extracted titles
- Inspect ./storage/datasets/default/ for extracted JSON output