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:
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
Sign into Screenshot Machine.

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
Log in to D3 SOAR.
Find the Screenshot Machine integration.

Navigate to Configuration on the top header menu.
Click on the Integration icon on the left sidebar.
Type Screenshot Machine in the search box to find the integration, then click it to select it.
Click on the + Connection button on the right side of the Connections section. A new connection window will appear.
Configure the following fields to create a connection to Screenshot Machine.

Connection Name: The desired name for the connection.
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.
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.
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.
Description (Optional): The description for the connection.
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.

Configure User Permissions: Defines which users have access to the connection.
Active: The checkbox that enables the connection to be used when selected.
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.
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.
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.
Test the connection.

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.
Click OK to close the alert window.
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
|
Device | Optional | The device type used to render webpages during screenshot capture. Valid options are:
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:
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
|
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:
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. |