Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Self-hosted, open-source platform for running Apify Actors. Drop-in compatible with the Apify SDK.

License

Notifications You must be signed in to change notification settings

crawlee-cloud/crawlee-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

95 Commits

Repository files navigation

Crawlee Cloud Logo

Self-hosted, open-source platform for running Apify Actors on your own infrastructure.

License: MIT TypeScript Node.js

Crawlee Cloud - Self-hosted platform for running web scrapers | Product Hunt

Documentation · Quick Start · Contributing


Why Crawlee Cloud?

Love the Crawlee/Apify ecosystem but want the freedom to run things your way? Crawlee Cloud brings the same great developer experience to your own infrastructure. Keep using the tools you love — just host them wherever you want.

Key Benefits

  • � Your infrastructure — Deploy on your own servers, cloud, or anywhere you like
  • 🔒 Complete privacy — Your data stays exactly where you want it
  • ⚡ SDK compatible — Works seamlessly with the Apify SDK you already know
  • 🐳 Container-based — Each Actor runs in an isolated Docker container
  • 📊 Beautiful dashboard — Monitor runs, explore datasets, manage everything visually

How It Works

# Instead of pointing to Apify's servers...
export APIFY_API_BASE_URL=https://api.apify.com/v2
# Point to your own Crawlee Cloud instance
export APIFY_API_BASE_URL=https://your-server.com/v2
export APIFY_TOKEN=your-token

Your existing Actor code works without any modifications:

import { Actor } from 'apify';
await Actor.init();
await Actor.pushData({ title: 'Scraped data' });
await Actor.exit();

Quick Start

Prerequisites

  • Node.js 18+
  • Docker & Docker Compose
  • PostgreSQL, Redis, and S3-compatible storage (or use our Docker setup)

1. Clone & Install

git clone https://github.com/crawlee-cloud/crawlee-cloud.git
cd crawlee-cloud
npm install

2. Start Infrastructure

# Starts PostgreSQL, Redis, and MinIO
npm run docker:dev

3. Configure Environment

cp .env.example .env
# Edit .env with your settings

4. Build & Run

npm run build
npm run db:migrate
npm run dev

The API server starts at http://localhost:3000.


Architecture

┌─────────────────────────────────────────────────────────────────┐
│ Your Actors │
│ (using official Apify SDK, no changes) │
└────────────────────────────┬────────────────────────────────────┘
 │
 ▼
┌─────────────────────────────────────────────────────────────────┐
│ Crawlee Cloud API │
│ (Apify-compatible REST endpoints) │
└─────────────────────────────────────────────────────────────────┘
 │ │ │
 ▼ ▼ ▼
 ┌──────────┐ ┌─────────┐ ┌─────────┐
 │PostgreSQL│ │ Redis │ │ S3/MinIO│
 │ metadata │ │ queues │ │ blobs │
 └──────────┘ └─────────┘ └─────────┘

Components

Component Description
API Server Fastify-based REST API compatible with Apify's v2 endpoints
Runner Polls job queue and executes Actors in Docker containers
Dashboard Next.js web UI for monitoring and management
CLI Command-line tool for pushing and running Actors

Documentation

Guide Description
API Reference REST API endpoints and usage
CLI Guide Command-line interface
Dashboard Web interface overview
Deployment Production deployment guide
Runner Actor execution engine
SDK Compatibility Apify SDK integration

Supported Apify SDK Features

Feature Status
Datasets (Actor.pushData) ✅ Supported
Key-Value Stores (Actor.getValue/setValue) ✅ Supported
Request Queues ✅ Supported
Request deduplication ✅ Supported
Distributed locking ✅ Supported

Contributing

We welcome contributions! Please see our Contributing Guide for details.

# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lint

License

This project is licensed under the MIT License.


Built with ❤️ for the web scraping community

Sponsor this project

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /