Compare

Playwright vs Scrapy

Both free and self-hosted, but built for different jobs — Playwright renders a real browser, Scrapy schedules and parses at scale. Many teams use both together.

Side by side

Playwright Scrapy
Vendor Microsoft Zyte (open-source project)
Pricing model Open source + paid options Open source + paid options
Free tier Yes Yes
Deployment Self-hosted Self-hosted
Open source Yes (Apache-2.0) Yes (BSD-3-Clause)
Best for Engineers who need real-browser rendering for JS-heavy or interaction-gated pages and are building their own crawler. Engineering teams who want full control of crawl logic and are willing to run and maintain their own infrastructure.
Pricing

Free and open source; no vendor pricing. Costs are the compute you run it on and any proxies you add.

Pricing has not been verified yet — see the vendor's site.

Free and open source; no vendor pricing. Costs are whatever compute, proxies or hosting a team adds around it.

Pricing has not been verified yet — see the vendor's site.

Features
  • Drives real Chromium, Firefox and WebKit engines
  • Auto-waiting and network interception for JS-rendered content
  • Multi-language APIs (JavaScript/TypeScript, Python, Java, .NET)
  • Headless and headed execution, screenshots and video capture
  • Built-in test runner with parallel execution (for testing use cases)
  • Context isolation for running many independent sessions
  • Codegen tool that records interactions into a script
  • Asynchronous request scheduling and throttling
  • Built-in HTML/XML selectors (CSS and XPath)
  • Item pipelines for cleaning and storing scraped data
  • Middleware system for proxies, retries and custom headers
  • Built-in export to JSON, CSV and XML
  • Extensible with headless-browser middlewares for JS-heavy sites
  • Command-line tooling for generating and running spiders

Verdict

This comparison is common but slightly mismatched: Playwright is a browser-automation library built primarily for end-to-end testing, and Scrapy is a crawling framework built specifically for scraping. Neither includes proxies or anti-bot handling out of the box, and neither costs anything to license — both run entirely on infrastructure you provide.

Playwright's advantage is rendering fidelity: it drives real Chromium, Firefox and WebKit, so pages that require JavaScript execution, logins or complex interaction render exactly as they would for a human visitor. It has no concept of a crawl — no request queue, no built-in throttling policy, no item pipeline for storage. Scrapy's advantage is the opposite: asynchronous request scheduling, retries, throttling and pipelines for cleaning and storing scraped data at scale, but no browser of its own for JavaScript-heavy pages unless you add a headless-browser middleware.

In practice, teams doing production-scale scraping of dynamic sites often use both: Scrapy for the crawl logic, queueing and storage, with Playwright (or a similar engine) plugged in as the fetch layer for pages that need real rendering.

Choose Playwright if

  • The target requires JavaScript execution, login flows or interaction (clicks, scrolls, form fills) before content appears.
  • You're building a small number of targeted scripts rather than a large, scheduled crawl.
  • You want a library usable from JavaScript/TypeScript, Python, Java or .NET, and value its screenshot/video capture for debugging.

Choose Scrapy if

  • You're crawling many pages or sites and need scheduling, concurrency control and retries handled for you.
  • Most of your targets are standard HTML that doesn't require a browser to render.
  • You want built-in export pipelines (JSON, CSV, XML) and a plugin ecosystem for proxies and storage.

What they share

Both are open source with no vendor lock-in, both leave anti-bot handling and proxy management to you or a paired service, and both run anywhere you control — a laptop, CI, or a container. Whichever you pick (or both), you're still responsible for the parts a hosted platform would otherwise handle: IP rotation, fingerprint avoidance, and keeping selectors current as target sites change. See choosing a web scraping tool for where a hosted platform might replace this combination entirely.

Last reviewed September 22, 2026

In the index now