Python web crawling and browser automation library · Production/stable according to the package classifier, with version 1.10.1 and an active public repository; metadata recency is uncertain because supplied dates extend into 2026.

apify/crawlee-python

Apache-2.0 Python 3.10+ library and CLI for building asynchronous HTTP and browser-based crawlers with routing, retries, proxy and session management, persistent queues, pluggable storage, templates, and optional parsing, Playwright, database, Redis, observability, and AI-related integrations; no native Claude Code integration is evidenced.

web scrapingweb crawlingbrowser automationdata extractiondata collectionHTTP automationAI data preparationRAG ingestiondeveloper tooling
Routing score
80.0
Readiness
Production-oriented library with documented examples, type hints, tests, CI badges, packaged releases, and optional integrations, although deployment-specific validation remains necessary.
License
Apache-2.0
Maintenance
active
Components
12
Revision
0

Selection

Select when

  • Select it for Python 3.10+ crawling projects that need HTTP and browser backends.
  • Select it when persistent request queues and resumable state are important.
  • Select it when proxy rotation, sessions, retries, and block handling are needed.
  • Select BeautifulSoupCrawler when pages do not require client-side JavaScript.
  • Select PlaywrightCrawler when content or interactions require JavaScript execution.
  • Select it when crawlers must integrate directly into an asyncio application.
  • Select it when generated starter projects would accelerate setup.
  • Select it when outputs include both structured datasets and downloaded files.
  • Select it when local execution and optional Apify deployment are both desirable.
  • Inference: select it alongside Claude Code when Claude is being used to develop a Python scraping application rather than when Claude needs an immediately registered tool.

Boundaries

Avoid when

  • Avoid it when a native Claude Code tool, skill, hook, or MCP integration is required.
  • Avoid browser extras when plain HTTP retrieval is sufficient and dependency size matters.
  • Avoid it when JavaScript-heavy automation cannot accommodate browser binaries and runtime resource use.
  • Avoid it when site terms, robots policies, law, or authorization do not permit the intended collection.
  • Avoid it when extraction must be fully no-code because handlers are written as Python code.
  • Avoid it when Python 3.9 or earlier must be supported.
  • Avoid default local storage behavior when writing a storage directory in the working directory is undesirable.
  • Avoid disabling the browser sandbox unless the deployment threat model explicitly accepts the added risk.
  • Avoid assuming anti-bot evasion will work reliably because the README's claim was not independently validated.

Strengths

Capabilities

Provides a unified interface for HTTP and headless-browser crawling.Runs asynchronous crawlers on Python's asyncio.Automatically adjusts parallel crawling based on available system resources.Retries errors and blocked requests according to crawler behavior described by the README.Supports integrated proxy rotation and session management.Routes requests to configurable handlers.Maintains a persistent queue of URLs to crawl.Stores tabular data and files through pluggable storage.Persists state during interruptions to avoid restarting a crawl from scratch.Offers BeautifulSoupCrawler for non-browser HTML retrieval and parsing.Offers PlaywrightCrawler for JavaScript execution and browser interaction.Supports headless or headed browser operation through configuration.Exposes environment-based settings with the CRAWLEE_ prefix.Provides a CLI that generates crawler projects from prepared templates.Offers optional extras for BeautifulSoup, Parsel, Playwright, adaptive crawling, Stagehand, Redis, SQL databases, and OpenTelemetry.Allows regular Python scripts to embed crawlers directly into other applications.Applies CPU, memory, event-loop-delay, and HTTP 429 thresholds to overload detection.Supports local operation and documented deployment to the Apify platform.Uses type hints and declares Python 3.10 through 3.14 classifiers.Creates a local storage directory during example crawler runs.

Risk profile

Risks and limitations

  • Uncertainty: only selected first-party files were supplied, so crawler internals, proxy logic, storage backends, CLI implementation, security policy, CI workflows, and integration tests were not comprehensively inspected.
  • Uncertainty: repository update and push timestamps extend into 2026 relative to this analysis context, so current activity, version state, issue counts, and adoption signals cannot be independently reconciled.
  • Uncertainty: no supplied file demonstrates native Claude Code integration, so classification as a companion development library is an inference.
  • The README's claim that default crawlers appear human-like and evade modern bot protections was not independently validated and may vary by target.
  • Browser crawling requires optional Playwright dependencies and browser installation, increasing setup size and runtime resource use.
  • Some unit tests are documented as potentially flaky because of isolation, resource, code, or test-design issues.
  • Default example runs create a storage directory in the current working directory, and purge-on-start defaults to true for storage clients.
  • The configuration can disable the browser sandbox, which increases risk if enabled without compensating isolation.
  • Proxy, browser, parser, database, Redis, observability, Stagehand, and AI features depend on separately versioned third-party packages or services.
  • Web crawling can encounter legal, contractual, robots-policy, authentication, rate-limit, privacy, and anti-bot constraints not resolved by the library.
  • No independent security audit, privacy assessment, Claude compatibility matrix, or cross-environment reliability benchmark was supplied.
  • The core package requires Python 3.10 or newer.

Crawler code processes untrusted remote content and may operate authenticated browser sessions, proxies, or external services, so handlers, downloaded files, secrets, and destinations require review. Playwright configuration supports disabling the browser sandbox, but the default is false; enabling it broadens exposure. Optional dependencies and browser binaries increase the supply-chain and attack surface. The supplied files do not establish a security audit or complete threat model.

Component inventory

12 documented components

Python library; Claude Code relation: unclassified

Crawlee for Python

Async web-crawling and browser-automation library with routing, retries, proxies, queues, and persistent storage; no Claude Code integration is documented.

README.md; pyproject.toml
CLI

Crawlee CLI

Console entry point for generating crawler projects from prepared templates.

README.md; pyproject.toml
project template

Generated crawler project

Runnable crawler skeleton supporting uv, Poetry, pip, or manual dependency setup.

src/crawlee/project_template/{{cookiecutter.project_name}}/README.md
crawler module

BeautifulSoupCrawler

HTTP-based crawler that parses HTML with Beautiful Soup for efficient non-browser extraction.

README.md
crawler module

PlaywrightCrawler

Browser-based crawler for JavaScript-rendered pages and interactive automation.

README.md
routing API

Crawler router handlers

Decorator-based request routing with a default asynchronous handler for each crawled request.

README.md
workflow API

Crawling context operations

Context methods log processing, persist extracted records, and enqueue discovered links.

README.md
configuration module

Configuration

Pydantic settings for storage, browser launch, logging, persistence, timeouts, and resource thresholds.

src/crawlee/configuration.py
package modules

Optional feature extras

Install-time feature groups for adaptive crawling, AI, parsers, HTTP clients, Playwright, telemetry, databases, Stagehand, Redis, and CLI support.

pyproject.toml
cloud workflow

Apify platform deployment

Documented path for deploying Crawlee applications to Apify for cloud execution.

README.md
developer command suite

Poe development tasks

Documented tasks for setup, checks, formatting, tests, builds, cleanup, and local documentation.

CONTRIBUTING.md; pyproject.toml
developer workflow

Documentation website workflows

Docusaurus-based local documentation build, serving, linting, formatting, and image optimization.

CONTRIBUTING.md; website/package.json

Technical profile

Requirements and configuration

Language
Python
Package
crawlee on PyPI
Version
1.10.1 in the supplied pyproject.toml
Runtime
Python >=3.10
License
Apache-2.0
Architecture
Asyncio-based library with regular Python-script crawlers and an optional scaffolding CLI
Cli Entrypoint
crawlee = crawlee._cli:cli
Http Backend
BeautifulSoupCrawler defaults to ImpitHttpClient in the supplied README example
Browser Backend
PlaywrightCrawler uses Playwright, with headless mode enabled by default in configuration
Parsing
Optional BeautifulSoup and Parsel integrations are declared
Storage
Pluggable datasets, key-value stores, persistent queues, and a configurable local storage directory are documented
Configuration
Pydantic settings accept CRAWLEE_-prefixed environment variables and selected APIFY_ aliases
Resource Controls
Configuration includes CPU, memory, event-loop-delay, and HTTP 429 overload thresholds
Optional Integrations
Adaptive crawler, Pydantic AI, BeautifulSoup, CLI, curl impersonation, HTTPX, Parsel, Playwright, OpenTelemetry, SQL, Stagehand, and Redis extras are declared
Project Generation
The CLI creates templated crawler projects with uv, Poetry, pip, or manual dependency workflows
Testing
The repository uses pytest, parallel test execution, coverage, linting, and type checking, while acknowledging possible flaky tests
Distribution
Published as a Python package with optional extras and documented local or Apify-platform execution

Classification

How it enters the stack

External Cli LibraryInfrastructure

Evidence: Crawlee is a Python package plus scaffolding CLI that supplies crawling infrastructure and can use Playwright. No Claude Code plugin, skill, hook, MCP server, or manifest is documented. Inference: it runs alongside Claude Code as a dependency in projects Claude may help develop, rather than extending Claude directly.

Runs Alongside · medium setup effort · high confidence · automated

Evidence and risk

Primary sources

first_party_fileREADME.mdhttps://github.com/apify/crawlee-python/blob/master/README.md
first_party_filetests/unit/README.mdhttps://github.com/apify/crawlee-python/blob/master/tests/unit/README.md
first_party_fileAGENTS.mdhttps://github.com/apify/crawlee-python/blob/master/AGENTS.md
first_party_filepyproject.tomlhttps://github.com/apify/crawlee-python/blob/master/pyproject.toml
first_party_fileCONTRIBUTING.mdhttps://github.com/apify/crawlee-python/blob/master/CONTRIBUTING.md
first_party_filedocs/pyproject.tomlhttps://github.com/apify/crawlee-python/blob/master/docs/pyproject.toml
first_party_filewebsite/package.jsonhttps://github.com/apify/crawlee-python/blob/master/website/package.json

Routing context

Conflicts, complements, and synergies

integrates_with

gh_microsoft_playwright

The README states that PlaywrightCrawler is built on Playwright, and pyproject.toml declares Playwright as an optional dependency.

high confidence