System Requirements
Python
Version 3.9 or higher
Git
For cloning the repository
Disk Space
~500 MB (dependencies + browser)
scrapai uses SQLite by default (no database installation required). For production scale, PostgreSQL is recommended.
Supported Platforms
- Linux (Ubuntu, Debian, CentOS, Fedora, Arch)
- macOS (Intel and Apple Silicon)
- Windows (10/11 via WSL only)
Installation Steps
1
Install Python 3.9+
- Linux
- macOS
- Windows
Ubuntu/Debian
Ubuntu/Debian
CentOS/Fedora
CentOS/Fedora
Arch Linux
Arch Linux
2
Clone the repository
3
Run setup
1
Create virtual environment
Creates a
.venv directory with isolated Python packages2
Install dependencies
Installs Scrapy, SQLAlchemy, Alembic, newspaper4k, trafilatura, Playwright, and more
3
Install Playwright Chromium
Downloads Chromium browser for JavaScript rendering and Cloudflare bypass
4
Create .env file
Copies
.env.example to .env with default SQLite configuration5
Initialize database
Runs Alembic migrations to create the database schema
6
Configure Claude Code permissions
If using AI agents, sets up permission rules in
.claude/settings.local.jsonExpected output
Expected output
4
Verify installation
Configuration
Database Configuration
scrapai uses SQLite by default (no setup required). For production, you can transfer your existing data to PostgreSQL:1
Get PostgreSQL
Use a managed service (AWS RDS, DigitalOcean, Supabase) or install locally:
2
Update .env
3
Run migrations and transfer
Proxy Configuration
scrapai supports smart proxy escalation. Configure proxies in.env:
S3 Storage Configuration
For automatic uploads to S3-compatible storage (Hetzner, DigitalOcean Spaces, Wasabi, Backblaze, etc.):Troubleshooting
Virtual environment creation fails
Virtual environment creation fails
Error:
The virtual environment was not created successfullySolution:Playwright Chromium won't launch (Linux)
Playwright Chromium won't launch (Linux)
Error: This installs required system packages (fonts, libraries, etc.).
Error: browserType.launch: Host system is missing dependenciesSolution: Install system dependencies:Permission denied when writing to data directory
Permission denied when writing to data directory
Error: Or fix permissions:
PermissionError: [Errno 13] Permission denied: './data'Solution: Change the data directory in .env:Database connection fails (PostgreSQL)
Database connection fails (PostgreSQL)
Error:
sqlalchemy.exc.OperationalError: could not connect to serverSolutions:-
Verify PostgreSQL is running:
-
Check your
DATABASE_URLin.env -
Test connection:
-
Check PostgreSQL logs:
Command not found: ./scrapai (Linux/macOS)
Command not found: ./scrapai (Linux/macOS)
Error:
bash: ./scrapai: No such file or directorySolution: Make the script executable:Python version too old
Python version too old
Error:
ERROR: This package requires Python 3.9 or higherSolution: Install a newer Python version:Upgrading
To upgrade to the latest version:Uninstallation
To completely remove scrapai:Next Steps
Quick Start
Build your first scraper in 5 minutes
CLI Reference
Complete command reference
Configuration
Advanced configuration options
GitHub Repository
View source code and report issues