Everything you need to know about the AllScreenshots CLI.
Get up and running with AllScreenshots CLI in under a minute.
brew tap allscreenshots/allscreenshots
brew install allscreenshots allscreenshots config add-authtoken YOUR_API_KEY allscreenshots https://github.com Get your API key at dashboard.allscreenshots.com/api-keys
Choose your preferred installation method.
brew tap allscreenshots/allscreenshots
brew install allscreenshots cargo install allscreenshots curl -fsSL https://screenshots.sh/install.sh | sh Configure your API key to start capturing screenshots.
allscreenshots config add-authtoken YOUR_API_KEY This stores your API key securely in ~/.config/allscreenshots/config.toml
export ALLSCREENSHOTS_API_KEY=your_api_key allscreenshots https://example.com --api-key YOUR_API_KEY allscreenshots config show The simplest way to capture a screenshot.
allscreenshots https://github.com allscreenshots https://github.com -o github.png allscreenshots https://github.com --full-page allscreenshots https://github.com --device "iPhone 14" Available commands in the AllScreenshots CLI.
| Command | Description |
|---|---|
capture | Take a synchronous screenshot |
async | Take an async screenshot with job tracking |
batch | Capture multiple URLs (bulk operation) |
watch | Watch mode - re-capture at intervals |
compose | Combine multiple screenshots into one image |
schedule | Manage scheduled screenshots |
jobs | List and manage screenshot jobs |
gallery | Browse screenshots with thumbnails |
usage | Show API usage and quota |
config | Manage authentication and settings |
devices | Show available device presets |
completions | Generate shell completions |
Fine-tune your screenshots with these options.
| Option | Description |
|---|---|
-o, --output <FILE> | Save screenshot to file path |
-d, --device <NAME> | Device preset (e.g., "iPhone 14", "Desktop HD") |
--width <PIXELS> | Viewport width in pixels |
--height <PIXELS> | Viewport height in pixels |
--full-page | Capture the full scrollable page |
--format <FORMAT> | Image format: png, jpeg, webp, pdf |
--quality <1-100> | Image quality (for jpeg/webp) |
--delay <MS> | Delay before capture in milliseconds |
--display | Display image in terminal |
--no-display | Don't display image in terminal |
--clipboard | Copy image to clipboard |
--json | Output as JSON |
-v, --verbose | Verbose output |
Use device presets to simulate different screen sizes.
allscreenshots devices | Device | Resolution |
|---|---|
| Desktop HD | 1920x1080 |
| Desktop | 1440x900 |
| Laptop | 1366x768 |
| Device | Resolution |
|---|---|
| iPad Pro 12.9 | 1024x1366 |
| iPad Pro 11 | 834x1194 |
| iPad | 820x1180 |
| iPad Mini | 744x1133 |
| Tablet Landscape | 1024x768 |
| Tablet Portrait | 768x1024 |
| Device | Resolution |
|---|---|
| iPhone 14 Pro Max | 430x932 |
| iPhone 14 Pro | 393x852 |
| iPhone 14 | 390x844 |
| iPhone SE | 375x667 |
| Android Large | 412x915 |
| Android Medium | 393x873 |
| Android Small | 360x800 |
allscreenshots https://example.com --device "iPhone 14 Pro" Capture multiple URLs efficiently with batch processing.
allscreenshots batch -f urls.txt -o ./screenshots/ allscreenshots batch https://github.com https://gitlab.com https://bitbucket.org -o ./screenshots/ allscreenshots batch -f urls.txt -o ./screenshots/ --progress | Option | Description |
|---|---|
-f, --file <FILE> | Read URLs from file (one per line) |
-o, --output <DIR> | Output directory for screenshots |
--progress | Show progress bar |
--poll-interval <SEC> | Polling interval in seconds (default: 2) |
Continuously capture screenshots at specified intervals.
allscreenshots watch https://example.com -i 30s allscreenshots watch https://example.com -i 5m --max-captures 10 allscreenshots watch https://example.com -i 1m -o ./snapshots/ | Option | Description |
|---|---|
-i, --interval <TIME> | Interval between captures (e.g., "5s", "1m", "30s") |
--max-captures <N> | Maximum number of captures (0 = unlimited) |
Power user options for fine-grained control.
| Option | Description |
|---|---|
--wait-for <SELECTOR> | CSS selector to wait for before capture |
--wait-until <EVENT> | Wait until: load, domcontentloaded, networkidle, commit |
--selector <CSS> | CSS selector to capture specific element |
--custom-css <CSS> | Custom CSS to inject before capture |
--dark-mode | Enable dark mode |
--block-ads | Block advertisements |
--block-cookies | Block cookie banners |
--block-level <LEVEL> | Block level: none, light, normal, pro, pro_plus, ultimate |
Common use cases and recipes.
allscreenshots https://github.com --dark-mode -o github-dark.png allscreenshots https://example.com --wait-for ".loaded" --delay 1000 allscreenshots https://example.com --selector "#hero-section" -o hero.png allscreenshots https://example.com --block-ads --block-cookies allscreenshots https://example.com --format pdf --full-page -o page.pdf allscreenshots https://example.com --format jpeg --quality 95 -o photo.jpg # Desktop
allscreenshots https://example.com --device "Desktop HD" -o desktop.png
# Tablet
allscreenshots https://example.com --device "iPad Pro 11" -o tablet.png
# Mobile
allscreenshots https://example.com --device "iPhone 14" -o mobile.png allscreenshots https://example.com --custom-css "body { background: #000; }" allscreenshots https://example.com --json --no-display | jq '.url' Need help? Open an issue or check out the API documentation.