bisibility — Track Google rankings and Search Console insights. Free during beta.
Try bisibility freeOur product
Favicon of Scrapy Redis

Scrapy Redis

PublishedLast updated

Scrapy-Redis provides Redis-backed components for Scrapy, enabling distributed crawling with shared request queues and item pipelines.

Scrapy-Redis is a practical, battle-tested extension that adds Redis-based components to Scrapy for building distributed web crawling systems.

Key Features:

  • Distributed Queue - Share request queues across multiple Scrapy spiders via Redis
  • Deduplication - Redis-based request fingerprinting prevents duplicate crawls
  • Shared Scheduler - Coordinate multiple crawler instances with a centralized scheduler
  • Item Pipeline - Push scraped items to Redis for downstream processing
  • Drop-In - Minimal configuration changes to distribute existing Scrapy spiders

Whether you're scaling Scrapy crawlers across multiple servers, building real-time scraping pipelines, or coordinating distributed extraction, Scrapy-Redis provides the essential components for distributed Scrapy deployments.

Web scraping workflow

How to use Scrapy Redis in a web scraping pipeline

Scrapy Redis adds Redis-backed components to Scrapy, including shared scheduling and duplicate filtering. It can coordinate multiple spider processes while your spiders continue to implement target-specific requests and extraction.

A practical workflow

  1. Configure compatible Scrapy spiders to use the chosen Redis scheduler and duplicate-filter components, and agree on a shared job and queue namespace.
  2. Add seed requests to the shared input and run worker processes that consume requests, fetch pages and discover subsequent URLs.
  3. Persist extracted items through your selected pipeline, keeping collection results distinct from the Redis request state. Use the optional item-queue behavior only if it matches your downstream design.

When it fits

It fits an existing Scrapy project that needs shared request state across workers or a crawl that can resume from a retained frontier. It is a more specific integration choice than simply calling plain Scrapy a distributed crawler.

Boundaries

Redis becomes an operational dependency. Request identity, persistence settings, queue isolation and failure recovery need deliberate configuration. Shared scheduling does not automatically provide exactly-once output, browser rendering or business-level deduplication of records extracted from different URLs.

Features:
Distributed CrawlingJob QueueDeduplicationSchedulingOpen SourceItem Pipeline

Share:

bisibility

Growing a website? Track its keywords, Google rankings, Search Console insights, and share of voice with bisibility. Free during beta.

Try bisibility freeOur product

Repository

rmax/scrapy-redis

  • Stars

    5.6K
  • Forks

    1.6K
  • Last commit

    2026-09-17
  • License

    MIT
  • Language

    Python

Metrics recorded 2026-10-16

Repository details

License source: Repository license file

View Repository

Sources

github.com

Verified against the rmax/scrapy-redis repository and the PyPI package.