Skip to main content
Skip table of contents

Screenshot Machine

LAST UPDATED: JANUARY 9, 2026

Overview

The Screenshot Machine is explicitly built to capture a full-page screen or small website thumbnail or to create a PDF from web pages online.

D3 SOAR is providing REST operations to function with Screenshot Machine.

Screenshot Machine is available for use in:

D3 SOAR

V16.0+

Category

Data Enrichment

Deployment Options

Option II, Option IV

Connection

Gather the following information to connect D3 SOAR to Screenshot Machine.

Parameter

Description

Example

Server URL

The URL of the Screenshot Machine service.

https://api.screenshotmachine.com

API Key

The API key used to authenticate the connection.

*****

Configuring Screenshot Machine to Work with D3 SOAR

  1. Sign into Screenshot Machine.

  2. Copy the customer API key on the dashboard.

    Refer to step 3.i.2 of Configuring D3 SOAR to Work with Screenshot Machine.

Configuring D3 SOAR to Work with Screenshot Machine

  1. Log in to D3 SOAR.

  2. Find the Screenshot Machine integration.

    1. Navigate to Configuration on the top header menu.

    2. Click on the Integration icon on the left sidebar.

    3. Type Screenshot Machine in the search box to find the integration, then click it to select it.

    4. Click on the + Connection button on the right side of the Connections section. A new connection window will appear.

  3. Configure the following fields to create a connection to Screenshot Machine.

    1. Connection Name: The desired name for the connection.

    2. Site: The site on which to use the integration connection. Use the drop-down menu to select the site. The Share to Internal Sites option enables all internal sites to use the connection. Selecting a specific site will only enable that site to use the connection.

    3. Recipient site for events from connections Shared to Internal Sites: This field is displayed when Share to Internal Sites is selected for the Site field, allowing selection of the internal site for deploying the integration connection.

    4. Agent Name (Optional): The proxy agent required to build the connection. Use the dropdown menu to select the proxy agent from a list of previously configured proxy agents.

    5. Description (Optional): The description for the connection.

    6. Tenant (Optional): When configuring the connection from a master tenant site, users can choose the specific tenant sites with which to share the connection. Once this setting is enabled, users can filter and select the desired tenant sites from the dropdowns to share the connection.

    7. Configure User Permissions: Defines which users have access to the connection.

    8. Active: The checkbox that enables the connection to be used when selected.

    9. System: This section contains the parameters defined specifically for the integration. These parameters must be configured to create the integration connection.

      1. Input the Server URL. The default value is https://api.screenshotmachine.com.

      2. Input the API Key from the Screenshot Machine platform. Refer to step 2 in Configuring Screenshot Machine to Work with D3 SOAR.

    10. Enable Password Vault: An optional feature that allows users to take the stored credentials from their own password vault. Refer to the password vault connection guide if needed.

    11. Connection Health Check: Periodically checks the connection status by scheduling the Test Connection command at the specified interval (in minutes). Available only for active connections, this feature also allows configuring email notifications for failed attempts.

  4. Test the connection.

    1. Click on the Test Connection button to verify credentials and connectivity. A success alert displays Passed with a green checkmark. If the connection fails, review the parameters and retry.

    2. Click OK to close the alert window.

    3. Click + Add to create and add the configured connection.

Commands

Screenshot Machine includes the following executable commands for users to set up schedules or create playbook workflows. With the Test Command function, users can execute these commands independently for playbook troubleshooting.

Integration API Note

For more information about the Screenshot Machine API, refer to the Screenshot Machine API reference.

Get URL Screenshots

Retrieves one screenshot for each specified URL.

READER NOTE

Entering invalid URLs in the URLs parameter will not generate an error message. The operation will return download links for screenshots of all provided URLs, with rendered page screenshots for valid URLs and screenshots displaying an invalid URL message for invalid entries (refer to the image below).

Input

Input Parameter

Required/Optional

Description

Example

URLs

Required

The URLs for which screenshots will be captured.

JSON
[
  "https://www.d3security.com"
] 

Device

Optional

The device type used to render webpages during screenshot capture. Valid options are:

  • Desktop

  • Phone

  • Tablet

By default, the value is set to Desktop.

Phone

Dimension

Optional

The size of the screenshots in the [width]x[height] format. By default, the value is 120x90.

The width accepts any natural number greater than or equal to 100 and less than or equal to 1920.

The height accepts any natural number greater than or equal to 100 and less than or equal to 9999. The value "full" is also supported to capture a full-length webpage screenshot (e.g., 1024xfull).

900x600

Format

Optional

The output format. Valid options are:

  • jpg

  • png

  • gif

By default, the value is set to jpg.

png

Cache Limit

Optional

The maximum acceptable age (in days) of cached screenshots. By default, the value is set to 14. To capture fresh screenshots, set the value to 0.

0

Delay

Optional

The wait time (in milliseconds) before screenshots are captured. By default, the value is set to 200 ms. This parameter supports capturing webpages that require additional time for animations or dynamic content to complete rendering.

1000ms

Zoom

Optional

The zoom scale applied to webpages before screenshots are captured. By default, the value is 100, which represents the original webpage size. Higher values increase capture resolution. For example, a value of 200 or greater captures retina-quality screenshots.

100

Click

Optional

The CSS selector that identifies HTML elements on which click events are triggered before screenshots are captured. This parameter supports dismissing elements such as GDPR or cookie banners. Refer to CSS Selectors Reference for information on CSS selectors.

.button-close

Hide

Optional

CSS selectors identifying HTML elements that will be hidden or removed before screenshots are captured. This parameter supports dismissing elements such as GDPR or cookie banners. Refer to CSS Selectors Reference for information on CSS selectors.

JSON
[
  ".cookie-banner"
] 

Cookies

Optional

A semicolon-separated list of cookies applied during webpage rendering for screenshot capture. Each cookie is specified as a name-value pair.

name1=value1;name2=value2

Accept Language

Optional

The language code used when requesting webpage content for screenshot capture.

zh

User Agent

Optional

The user-agent string used to emulate a specific device or browser during webpage rendering. Percent-encoding is required when reserved characters are included.

Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36

Selector

Optional

The CSS selector that identifies a single DOM element to be captured in screenshots. Refer to CSS Selectors Reference for information on CSS selectors.

*

Crop

Optional

The region of webpages to be cropped in screenshots. The value is defined in pixels using the x,y,width,height format.

Example: 100,0,800,300 captures screenshots cropped to a region with a width of 800 px and a height of 300 px, starting at the viewport position x=100 px and y=0 px.

100,0,800,300

Output

To view the sample output data for all commands, refer to this article.

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Get URL Screenshots failed.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Screenshot Machine portal. Refer to the HTTP Status Code Registry for details.

Status Code: 200.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: invalid_key.

Error Sample Data

Get URL Screenshots failed.

Status Code: 200.

Message: invalid_key.

Test Connection

Allows users to perform a health check on an integration connection. Users can schedule a periodic health check by selecting Connection Health Check when editing an integration connection.

Input

N/A

Output

Output Type

Description

Return Data Type

Return Data

Indicates one of the possible command execution states: Successful or Failed.

The Failed state can be triggered by any of the following errors:

  • A connection issue with the integration

  • The API returned an error message

  • No response from the API

More details about an error can be viewed in the Error tab.

String

Error Handling

If the Return Data displays Failed, an Error tab will appear in the Test Result window.

The error tab contains the details responded from D3 SOAR or third-party API calls, including Failure Indicator, Status Code, and Message. This can help locate the root cause of a command failure.

Parts in Error

Description

Example

Failure Indicator

Indicates the command failure that happened at a specific input and/or API call.

Test Connection failed. Failed to check the connector.

Status Code

The response code issued by the third-party API server or the D3 SOAR system that can be used to locate the corresponding error category. For example, if the returned status code is 401, the selected connection is unauthorized to run the command. The user or system support would need to check the permission setting in the Screenshot Machine portal. Refer to the HTTP Status Code Registry for details.

Status Code: 200.

Message

The raw data or captured key error message from the integration API server about the API request failure.

Message: invalid_ley.

Error Sample Data

Test Connection failed. Failed to check the connector.

Status Code: 200.

Message: invalid_ley.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.