maaaaz

webscreenshot: Capture Website Screenshots in Batches

webscreenshot is a Python command-line tool for capturing screenshots of website lists, based on the url-to-image PhantomJS script. It supports Windows and Linux, with PhantomJS as its default renderer and Chrome, Chromium, Edge Chromium, and Firefox as alternatives.

InactivePythonLGPL-3.0CLIDeveloper ToolsCross Platform
Stars
697
Forks
167
Last commit
1 year ago
Contributors
2
Releases, 12 months
0

Our take

Inactiveno commits in over a year

Health score

21/100

How it is scored
Activity
20
Community
21
Issues
21
Pull requests
21
  • Fewer contributors than 86% of the projects we track

webscreenshot is a capable batch screenshot utility, but its inactive status and reliance on legacy PhantomJS for its most complete feature set make it a cautious choice for new workflows.

Good fit if

  • You need a Python CLI to capture a list of websites on Windows or Linux.
  • PhantomJS's broader option support, including cookies, custom headers, and screenshots of HTTPS sites with non-publicly-signed certificates, matches your needs.
  • You can evaluate and maintain a tool with no commits or releases in over a year and most of its code coming from one person.

Look elsewhere if

  • You need ongoing maintenance or recent issue and pull request activity, which the project has not shown in the measured recent period.
  • Your workflow depends on reliable rendering of self-signed HTTPS sites in Chrome, Chromium, or Edge Chromium, or on Firefox parallelism and private browsing.
  • You need a renderer-independent set of screenshot and HTTP options, since several options are PhantomJS-only.
All health signals
Last commit2025-10-19 (1 year ago)
Commits, last 90 days0
Releases, last 12 months0
Contributors2 (top contributor: 88% of commits)
Issues closed, last 90 days0
Pull requests merged, last 90 days0
Project age12 years

Checked on 2026-10-24 with the GitHub API.

Overview

webscreenshot is a Python command-line tool for taking screenshots of one or many websites, based on the url-to-image PhantomJS script. It is intended for people who need repeatable captures across a target list, rather than taking screenshots manually. The project supports Windows and Linux.

PhantomJS is the default renderer and offers the broadest feature set, though it is legacy and abandoned. Chrome, Chromium, and Edge Chromium are supported alternatives with limitations; Firefox support is also available but the README advises against using it for now.

Key Features

  • Processes a single URL or a text file of website targets, with configurable parallel workers.
  • Runs PhantomJS, Chrome, Chromium, Edge Chromium, or Firefox as the renderer.
  • Configures screenshot dimensions and, with PhantomJS, output format, quality, cropping, and custom JavaScript.
  • Supports cookies, custom HTTP headers, and HTTP Basic Authentication with PhantomJS.
  • Accepts proxy settings and can apply a timeout to renderer processes.
  • Can capture both HTTP and HTTPS versions of targets and optionally label screenshots with their URLs using ImageMagick.

Use Cases

  • Security or web operations teams can capture a supplied list of domains to review their visible pages.
  • Developers can create repeatable screenshots of sites or routes while checking a release or investigating a visual issue.
  • Analysts can capture pages behind HTTP Basic Authentication or requiring cookies and custom headers, using PhantomJS.
  • Teams can run batch captures on Windows or Linux and save results to a chosen output directory.

What you need

Detected in the repository

  • Python >=3 (from pyproject.toml)

License in plain words

LGPL-3.0weak copyleft

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the license notice
  • Share your changes: yes, changes to the library itself, when you distribute it; linking from closed code is allowed
  • Includes an explicit patent grant from the contributors:

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

Install from PyPI and capture a single URL:

pip install webscreenshot
webscreenshot https://example.com

For renderer setup, batch inputs, and other options, see the README.

Considerations

The project is marked inactive: there have been no commits in over a year, no releases in the past year, and no issues or pull requests closed or merged in the measured recent period. The contributor base is small and concentrated, so users should account for limited maintenance capacity. Python 3 and a compatible browser renderer are required; running without an X server may require xvfb, and URL labels require ImageMagick. PhantomJS is abandoned, while the README documents meaningful limitations in the other renderers. The repository metadata lists LGPL-3.0, but the README describes GPLv3-or-later terms, so confirm the applicable license before redistribution or integration.

Found this useful?

Share it with someone who would like webscreenshot.