ScreenshotAPI

Best Self-hosted Alternatives to ScreenshotAPI

A curated collection of the 4 best self hosted alternatives to ScreenshotAPI.

Cloud API that captures website screenshots (full page, viewport, device emulation) and returns images or PDFs via HTTP. Used for previews, visual monitoring and automation; supports format, size, auth, and page scripting options.

Alternatives List

#1
FlareSolverr

FlareSolverr

FlareSolverr is a proxy server with a REST API that uses a headless Chrome session to solve Cloudflare/DDoS-GUARD challenges and return HTML and cookies.

FlareSolverr is a lightweight HTTP API service that helps automate access to websites protected by Cloudflare and similar challenge pages. It launches a real browser on demand to solve the challenge, then returns the final page content and/or the resulting cookies for reuse.

Key Features

  • REST API for automated fetches that require solving Cloudflare or DDoS-GUARD challenges
  • Headless browser automation using Selenium with an “undetected” Chrome driver approach
  • Session management to reuse a browser profile and cookies across multiple requests
  • Supports upstream proxies (including authenticated proxies) for outbound requests
  • Can return full rendered HTML, response metadata, only cookies, or a rendered screenshot (Base64 PNG)
  • Designed for containerized operation with official Docker images

Use Cases

  • Integrating with automation tools (for example, indexers or scrapers) that need challenge-solving
  • Fetching cookies to use with other HTTP clients after the browser completes the challenge
  • Debugging challenge behavior by capturing rendered output or screenshots

Limitations and Considerations

  • Each request may launch a new browser instance unless sessions are used, which can be memory-intensive
  • Challenge-solving can fail or change over time as protection providers update their mechanisms

FlareSolverr is best suited for controlled automation scenarios where a real browser is required to pass anti-bot challenges. Used carefully with session reuse and sensible concurrency limits, it can provide reliable challenge handling behind a simple API.

12.7kstars
1kforks
#2
Flyimg

Flyimg

Dockerized image processing service that fetches, resizes, crops, compresses, caches, and serves optimized images (AVIF, WebP, MozJPEG, PNG, GIF, optional JXL).

Flyimg screenshot

Flyimg is a Dockerized image transformation service that fetches images from local or remote sources, applies resizing and cropping operations, converts to modern formats, and serves optimized outputs. It is designed to provide a Cloudinary-like workflow using URL-based transformation parameters and built-in caching.

Key Features

  • URL-based transformations (resize, crop, quality/compression and output format options)
  • Automatic format negotiation via the client Accept header (for example AVIF/WebP)
  • Output support for AVIF, WebP, MozJPEG, PNG, GIF, and optional JPEG XL via ImageMagick
  • Fetches source images from external URLs or local paths
  • Caching of transformed results for faster repeat requests
  • Containerized deployment with Nginx and PHP-FPM

Use Cases

  • Image optimization layer for websites, CMSs, and e-commerce catalogs
  • Replacing or complementing third-party image CDNs with a self-managed service
  • Generating responsive image variants and modern formats for performance

Limitations and Considerations

  • Performance and output quality depend on ImageMagick and selected encoders available in the container
  • Remote fetching requires careful access controls to avoid misuse (for example, unwanted internal network access)

Flyimg fits teams that want a simple, URL-driven image pipeline with modern formats and caching, while keeping deployment and operations straightforward through Docker. It is especially useful when you need consistent image transformations across multiple applications and environments.

1.2kstars
121forks
#3
URL to PNG

URL to PNG

Self-hosted HTTP API to render web pages to PNG with configurable viewport, caching, Playwright-based parallel rendering, and S3/CouchDB/filesystem storage.

URL to PNG screenshot

URL to PNG is a self-hosted HTTP service that captures web pages and returns PNG images. It exposes a simple query-parameter API and uses Playwright for parallel, configurable headless rendering.

Key Features

  • HTTP endpoint that accepts query parameters (url, width, height, viewport size, isMobile, isFullPage, isDarkMode, deviceScaleFactor, forceReload) to customize screenshots
  • Playwright-based parallel rendering with configurable Playwright options for Chromium browsers
  • Support for full-page captures, mobile user agent emulation, dark-mode preference, and device scale factor (DPR)
  • Caching of generated images with option to force reload and configurable TTL
  • Storage integration options: local filesystem plus adapters for Amazon S3 and CouchDB
  • Allow-list support to restrict which domains may be captured
  • Optional encrypted request payloads using a server CRYPTO_KEY for added request privacy
  • Prometheus-compatible metrics endpoint for monitoring rendering activity and performance
  • Distributed-friendly build: Docker image available and local development via pnpm and Playwright browser installation

Use Cases

  • Embed dynamic website screenshots in HTML or newsletters by targeting the service endpoint
  • Generate social preview or thumbnail images for URLs programmatically
  • Automated visual checks, status dashboards, or scheduled snapshots for monitoring website appearance

Limitations and Considerations

  • Rendering uses headless browsers and can be CPU/memory intensive under high concurrency; capacity planning is required
  • Some sites may block headless browsers or use anti-bot measures that prevent accurate captures
  • Requires Playwright browser binaries to be installed for local runs and proper configuration of storage backends (S3/CouchDB) when used

URL to PNG is focused on simple, configurable screenshot generation for self-hosted environments. It is suitable for embedding into workflows, CI, or internal tooling where control over rendering and storage is required.

237stars
36forks
#4
Webarchive

Webarchive

Go-based self-hosted web archiver for personal/home use. Saves pages as PDF, captures HTTP headers, and stores single-file HTML. Provides a REST API and optional web UI.

Webarchive is a lightweight, Go-based web archiving service designed for personal or home-network use. It exposes a REST API and optional web UI to capture and store web pages in multiple formats for offline access and evidence preservation.

Key Features

  • Save pages in multiple formats: PDF, captured HTTP headers, and single-file HTML with embedded resources
  • REST API for adding pages, listing archives, retrieving page metadata, and downloading stored files
  • Built-in basic web UI (configurable via environment variables) and Docker Compose support for easy deployment
  • Configurable via environment variables (DB path, API address, UI options, PDF rendering settings)
  • PDF generation via an external wkhtmltopdf binary with configurable viewport, DPI, and print/media options
  • Local file storage with per-page result IDs and simple file retrieval endpoints

Use Cases

  • Personal archival of articles, issue threads, or documentation for offline reading and long-term reference
  • Creating PDF snapshots of web pages for records, reporting, or legal evidence
  • Capturing HTTP response headers and a single-file HTML version for debugging, change tracking, or lightweight backups

Limitations and Considerations

  • PDF export requires an external wkhtmltopdf binary available in PATH; PDF fidelity depends on that tool
  • No built-in authentication or multi-user controls; access control and multi-tenant use are not implemented yet
  • UI is minimal (single basic theme) and feature set is intentionally simple; advanced browsing/search features are limited
  • Storage backends are basic/local by default; SQL-backed or multi-storage options are listed as roadmap items and not yet available

Webarchive is suited for users who need a compact, API-driven archiver they can run locally. It focuses on reliability and simplicity rather than advanced multi-user features or full enterprise workflows.

185stars
3forks

Why choose an open source alternative?

  • Data ownership: Keep your data on your own servers
  • No vendor lock-in: Freedom to switch or modify at any time
  • Cost savings: Reduce or eliminate subscription fees
  • Transparency: Audit the code and know exactly what's running