ScreenshotNeo is the first API to try if you want dark-mode screenshots plus clean captures and transparent billing. For the specific dark-mode control, ScreenshotOne and ScreenshotAPI both document an option that requests dark rendering. Neither can make a site look dark if the site does not support a dark theme. Urlbox is worth comparing for full-page and lazy-loaded captures, but the reviewed documentation does not establish its dark-mode support.
Which screenshot APIs document dark-mode capture?
The clearest documented dark-mode options in the services compared here are ScreenshotOne and ScreenshotAPI. Both expose a setting to request dark rendering, with a crucial limitation: the target site must support a dark theme or provide styles that respond to dark-mode rendering. The feature is a request to the browser or rendering service, not a guarantee that every page will turn dark.
As an Amazon Associate I earn from qualifying purchases.
| API | What the reviewed documentation establishes | Practical qualification |
|---|---|---|
| ScreenshotNeo | Dark mode is one of its capture options. It also offers clean captures that remove known consent banners, newsletter popups and chat widgets, and bills only clean shots. | As with any dark-mode request, check the target site’s theme behavior. Every feature is available on every plan. |
| ScreenshotOne | Its dark_mode option accepts true to request dark rendering and false to request light rendering. The docs include an example request. |
The docs qualify the result: rendering depends on whether the site supports the requested mode. |
| ScreenshotAPI | Its browser-environment emulation documentation describes a dark_mode setting for screenshot or PDF generation. |
The docs say dark rendering is attempted where the website supports a dark theme or built-in dark-mode styles. |
| Urlbox | The reviewed pages describe full-page capture, viewport and output-format options, and scrolling intended to trigger lazy-loaded elements. | The reviewed documentation does not establish a dark-mode option. Verify its current documentation before choosing it specifically for dark-mode capture. |
This is a comparison of documented capabilities, not a hands-on test or a ranking of capture accuracy, price, or uptime. The available evidence does not support an apples-to-apples comparison on those measures.
How dark-mode capture works—and where it fails
A screenshot service loads a page in a browser-like environment and requests a rendering mode. A site may implement dark mode through system preference, its own theme control, stored user settings, or custom styles. If it does not have dark styles that respond to the request, a dark_mode parameter alone may leave the page light.
#1 Best Overall
That distinction matters when building automated reports, visual tests, or previews: a successful API response only confirms that an image or PDF was returned, not that the page adopted the intended theme. Inspect a representative output from each target site before relying on dark-mode screenshots at scale.
For sites without dark styles, applying custom CSS or JavaScript could be a separate approach, but the reviewed vendor pages do not establish a universal workaround. Treat such overrides as site-specific and test their effect on contrast, images, icons, and overlays.
Rank #2
- Intuitive interface of a conventional FTP client
- Easy and Reliable FTP Site Maintenance.
- FTP Automation and Synchronization
What to compare beyond the dark-mode switch
Choose based on the whole capture workflow, not a single parameter. The documented options differ in areas that affect the result and the effort needed to integrate them.
- Full-page behavior: Confirm whether the API captures the entire page or only the visible viewport, and how it handles content that loads as the page scrolls.
- Lazy-loaded content: Urlbox documents scrolling intended to trigger lazy-loaded elements and determine page height. Check whether the service’s behavior matches your pages, especially when content loads only after interaction.
- Viewport and format: Compare controls for viewport dimensions and desired output format; these influence responsive layouts and downstream image or PDF processing.
- Request workflow: ScreenshotOne documents authenticated GET and POST requests. Use the method that fits your integration and protect credentials in transit.
- Theme handling: Verify that the dark-mode option is documented and test it on the actual sites you capture. Do not infer support from a generic browser-emulation feature.
- Billing and failure handling: Understand how the provider treats failed loads, bot checks, blank pages, timeouts, and cache hits before estimating volume.
ScreenshotOne: explicit dark-mode parameter
ScreenshotOne documents dark_mode as a boolean: set it to true to request dark rendering or false to request light rendering. The documentation’s wording is deliberately qualified: “Set true to request site rendering, if supported, in the dark mode.” See its screenshot options and getting-started documentation for the request workflow.
Rank #3
Its getting-started guidance supports authenticated GET and POST requests and advises using HTTPS. HTTP does not encrypt API keys, authorization headers, cookies, or other sensitive request data in transit; use HTTPS whenever requests carry credentials or private information.
ScreenshotAPI: dark-mode emulation
ScreenshotAPI also documents a dark_mode emulation option for screenshots and PDFs. Its browser environment emulation documentation says the service attempts dark rendering when the site supports a dark theme or built-in dark-mode styles. That is a useful feature for compatible sites, not an override for pages that lack dark-theme styling.
Rank #4
Urlbox: useful capture comparison, dark-mode support unconfirmed
Urlbox’s reviewed documentation covers full-page screenshots and scrolling to trigger lazy-loaded elements and determine page height, as well as viewport and format options. Those are relevant if your pages extend beyond the initial viewport. However, those pages do not establish that Urlbox supports dark-mode rendering; do not select it for that requirement without checking its current product documentation.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. Its dark-mode option sits alongside 63 capture options, including full-page capture with lazy images loaded, CSS-selector element capture, device and viewport settings, and image or PDF output. Consent banners, newsletter popups, and chat widgets are removed before capture; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status.
One GET request returns an image or PDF. For a WebP screenshot, see the ScreenshotNeo API documentation and use:
Best Value
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. Every feature is on every plan.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsQuick Recap
How to validate dark-mode output
- Choose representative target pages. Include pages with the layouts, image types, embedded content, and consent flows you expect in production.
- Request dark mode using the provider’s documented option. For ScreenshotOne, set
dark_mode=true; for ScreenshotAPI, use its documented dark-mode emulation setting. - Inspect the returned image or PDF. Check page background, text contrast, icons, images, menus, and overlays rather than assuming the API setting guarantees the intended appearance.
- Test the light request as a control. For ScreenshotOne, request
dark_mode=falseand compare whether the site responds to the mode change. - Repeat after site or integration changes. A site’s theme implementation can change independently of your screenshot request, so keep representative captures in your integration checks.
Common problems and fixes
- The image is still light: The site may not have a dark theme that responds to the API’s mode request. Confirm the page’s own theme behavior; a parameter cannot guarantee dark styling.
- Only some parts appear dark: The site may theme components inconsistently or load parts through embedded content. Inspect those elements individually; the reviewed docs do not promise that every third-party frame will follow the same theme.
- The full-page capture misses content: Content may load only after scrolling or interaction. Check the provider’s documented full-page and lazy-load behavior; Urlbox documents scrolling intended to trigger lazy-loaded elements.
- Credentials are exposed in transit: Do not send API keys, authorization headers, or cookies over plain HTTP. ScreenshotOne’s getting-started documentation advises HTTPS because HTTP does not encrypt these values in transit.
- A capture request returns an unexpected page: Check whether the target presents a bot check, blank response, timeout, or failed load, and consult the response details and provider’s failure-billing rules rather than treating every returned artifact as a valid screenshot.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




