ScreenshotNeo

BlogHow-to

How to change ArchiveBox’s Chromium screenshot settings

Change ArchiveBox screenshot dimensions, waits, timeout, and enablement through the CLI, ArchiveBox.conf, or environment variables.

By the ScreenshotNeo team4 October 20265 min read

To change the dimensions of ArchiveBox screenshots, set SCREENSHOT_RESOLUTION to width,height using a comma, not an x. For example, this sets screenshot output to 1920 by 1080 pixels:

archivebox config --set SCREENSHOT_RESOLUTION=1920,1080

ArchiveBox’s Screenshot plugin captures a PNG of the rendered page and requires its Chrome plugin. The documented default is 1440,2000. Use SCREENSHOT_RESOLUTION for a screenshot-only adjustment; the shared RESOLUTION setting can affect screenshot, PDF, and Chrome resolution behavior. ArchiveBox documentation

Choose how to configure the screenshot plugin

ArchiveBox supports configuration through its CLI, the collection’s ArchiveBox.conf, or environment variables. Choose the method based on whether the setting should persist in the collection or apply to a process.

Set the value with the CLI

archivebox config --set SCREENSHOT_RESOLUTION=1920,1080
archivebox config --get SCREENSHOT_RESOLUTION

The first command saves the setting; the second reads it back. If the output does not match, inspect the collection’s effective configuration and scope-specific settings before changing another value.

Edit ArchiveBox.conf

In the ArchiveBox data folder, add the setting under the existing [ARCHIVING_CONFIG] section:

[ARCHIVING_CONFIG]
SCREENSHOT_RESOLUTION=1920,1080

Keep the existing section and other settings intact. This is useful when configuration is managed as a file alongside a collection.

Use an environment variable for a process

For a one-off process, prefix the command with the variable:

env SCREENSHOT_RESOLUTION=1920,1080 archivebox add 'https://example.com'

Environment variables seed process-level defaults. Persisted Machine, Persona, Crawl, or Snapshot settings can take precedence according to scope. Changing an environment variable does not rewrite configuration already saved for an existing Crawl.

Screenshot settings and what they control

Setting Purpose Documented value or behavior
SCREENSHOT_RESOLUTION Screenshot output dimensions width,height; default 1440,2000; falls back to RESOLUTION
SCREENSHOT_ENABLED Enable or disable screenshot extraction Default true
SCREENSHOT_TIMEOUT Per-capture time limit in seconds Default 60; minimum 5; falls back to TIMEOUT
SCREENSHOT_WAIT_FOR_TEXT Wait for text to appear in the page or a child frame Empty by default
SCREENSHOT_WAIT_FOR_FRAME_URL Limit a text wait to frames whose URL contains this value Empty by default

These names and defaults may vary across versions. Check the installed collection’s values with archivebox config --get or search available options with archivebox config --search screenshot.

Use screenshot-only resolution or shared resolution?

SCREENSHOT_RESOLUTION takes precedence for screenshot output. If it is unset, ArchiveBox can use the shared RESOLUTION fallback, followed by the plugin’s hardcoded default. Set RESOLUTION only when the shared fallback is what you intend to change across relevant plugins.

CHROME_RESOLUTION is documented separately as the browser viewport resolution. It is not a substitute for SCREENSHOT_RESOLUTION. If you need to change both the browser viewport and screenshot output, inspect the options available in your installed version.

Wait for asynchronously rendered content

When a page fills in content after its initial load, set SCREENSHOT_WAIT_FOR_TEXT to text expected in the rendered page. The plugin can look in the page or a child frame. If the text occurs in multiple frames or you need to target a particular embedded page, set SCREENSHOT_WAIT_FOR_FRAME_URL to a substring of that frame’s URL as well.

archivebox config --set SCREENSHOT_WAIT_FOR_TEXT='Article content'
archivebox config --set SCREENSHOT_WAIT_FOR_FRAME_URL='example.com/embed'

Use text that is actually rendered and stable. A wait for text that never appears can consume the capture’s available time, so adjust SCREENSHOT_TIMEOUT when the page genuinely needs longer to load.

Enable or disable screenshot extraction

To turn screenshot extraction off:

archivebox config --set SCREENSHOT_ENABLED=false

To enable it again:

archivebox config --set SCREENSHOT_ENABLED=true

This controls the Screenshot plugin’s capture output. It does not remove the Chrome dependency if other enabled extractors also use Chrome.

Confirm the Chrome runtime is installed

The Screenshot plugin requires the Chrome plugin and a usable Chrome or Chromium runtime. ArchiveBox’s setup command checks for a compatible browser on the host and can install a managed Chromium build if needed:

archivebox install chrome
archivebox version

archivebox version reports the selected browser version and path. The broader archivebox install command installs extractor dependencies. Runtime setup can differ by host and ArchiveBox version, so check the reported executable path if captures fail to start.

Troubleshooting

Symptom Likely cause What to check or change
Invalid resolution or setting has no effect Dimensions were written with x, wrong section, or wrong setting name Use comma-separated width,height, for example 1920,1080; check with archivebox config --get SCREENSHOT_RESOLUTION.
Screenshot dimensions remain unchanged A persisted scope-specific value or higher-precedence setting overrides the process default Inspect effective collection and Crawl settings; use the screenshot-specific setting when only screenshot output should change.
No screenshot file is produced The Screenshot plugin is disabled or Chrome is unavailable Check SCREENSHOT_ENABLED, run archivebox install chrome, then inspect archivebox version for the runtime path.
Screenshot misses content loaded later Capture begins before the page’s content appears Set SCREENSHOT_WAIT_FOR_TEXT; for embedded content, constrain the search using SCREENSHOT_WAIT_FOR_FRAME_URL.
Capture ends before the page is ready The timeout is too short for the page or its waits Raise SCREENSHOT_TIMEOUT in seconds, observing the documented minimum of 5; its default is 60.
Commands show unexpected options or defaults The installed ArchiveBox version differs from the current plugin catalog Use archivebox config --search screenshot and query the individual setting in that collection.

Performance, reliability, and cost considerations

Larger screenshot dimensions require more image data and can increase storage and processing work. Use the smallest dimensions that preserve the detail your archive needs. Longer timeouts and content waits can make captures more reliable for slow or dynamic pages, but they also keep each browser capture occupied longer.

ArchiveBox screenshot settings control the behavior of your own archive and runtime. The research sources do not establish a universal capture speed, reliability rate, or cost; these depend on the host, browser setup, page, and how ArchiveBox is operated.

Or skip the browser setup

ScreenshotNeo offers a website screenshot API and MCP server. Its screenshot call can return an image or PDF, and the API parameters commonly used by other screenshot APIs work as well. See the ScreenshotNeo API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture, with each cleanup step configurable. Bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Learn more at ScreenshotNeo, or sign up for 1,000 free screenshots a month with no card.

FAQ

Does SCREENSHOT_RESOLUTION use width by height?

Yes. Write the width and height as two comma-separated numbers, such as 1920,1080.

Can I use an environment variable and keep existing Crawl settings?

Yes, but persisted scope-specific settings may override process defaults. The environment variable does not silently update existing Crawl configuration.

Does CHROME_RESOLUTION set screenshot output size?

It is documented as the Chrome browser viewport resolution. Use SCREENSHOT_RESOLUTION to change screenshot dimensions.