Run concurrently
Process large URL lists without queuing behind artificial concurrency limits.
Navigate, sign in, click, type, wait, and capture the exact state you need. Reuse the workflow on demand, on a schedule, or through the API.

Combine browser actions, scheduling, visual comparison, and direct storage delivery without maintaining your own browser workers.
Process large URL lists without queuing behind artificial concurrency limits.
Replay the same workflow from the US, Europe, or Australia and Asia Pacific.
Send captures to S3, Azure, Google Cloud, Cloudflare R2, SFTP, webhooks, or email.
Use pre-activities for setup and authentication, then post-activities to reach the exact visual state to capture.
Open a login page, enter credentials, establish a session, or prepare an account before visiting the final target.
Click menus, type searches, wait for components, focus elements, work inside an iFrame, and capture the final state.
No programming required for basic workflows. Configure activities in a request template and add a schedule when the workflow is ready.
Explore schedulingSelect elements by visible text, placeholder, CSS selector, or another supported identifier.
Need a reliable target? See the element selection guide.
Follow three common patterns: a public search flow, a page behind authentication, and interaction inside an iFrame.
In the following example, we will use Post-Activities to interact with the https://dev.to/ website by searching for "Hello World" and clicking on the "Newest" tab on the search results page.
1. Let's start by visiting the website (https://dev.to/):

2. Create a Post Activity to type "Hello World" in the "Search..." text field:

3. Create a Post Activity to press the "Enter" key on the keyboard:


4. Create a Post Activity to click on the "Newest" tab:

The final result:

Here are the technical details to replay the login request using the website screenshot API:
POST https://api.addscreenshots.com/screenshots?apikey=YOUR_API_KEY
{
"url": "https://dev.to",
"viewport": "1024x768",
"quality": "80",
"activities_after": [
{
"type": "Hello World",
"element": "Search..."
},
{
"keypress": "Enter"
},
{
"click": "Newest"
}
]
}Your API key can be found on the API Keys page. Need an API Key? Sign up to get started.
For internal applications, replace YOUR_API_KEY with your own unique API Key.
For public facing websites or hotlinks, generate a signed URL.
In the following example we will use Pre-Activities to navigate to a login page (https://app.addscreenshots.com/login), fill in our credentials and complete the login. Once we're logged in, we will navigate to the Storage Account page (https://app.addscreenshots.com/storage).
1. First, navigate to the login page of the website.

2. Automate the website login using Pre-Activities to:
a) Navigate to the login page,
b) Type "you@mail.com" in the text field with the placeholder "Enter Email Address...",
c) Type "Secret321" in the password field with the placeholder "Password",
d) Click on the element with the "Login" text

The final result:

Here are the technical details to replay the search request using the Screenshot API:
POST https://api.addscreenshots.com/screenshots?apikey=YOUR_API_KEY
{
"url": "https://app.addscreenshots.com/storage",
"viewport": "1024x768",
"quality": "80",
"activities_before": [
{
"navigate": "https://app.addscreenshots.com/login"
},
{
"type": "you@mail.com",
"element": "Enter Email Address..."
},
{
"type": "Secret321",
"element": "Password"
},
{
"click": "Login"
}
]
}In the following example we will use Post-Activities to interact with an iFrame (child page) on the https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe website by clicking on a menu item and only selecting the iFrame in the final screenshot.
1. Let's start by visiting the website:

2. Create a Post Activities to:
a) select the "iFrame" (make it the active document to interact with),
b) click on the "CSS" menu and
c) set the section to "iframe" (only show the iframe section)

The final result:

Here are the technical details to replay the iframe interaction request using the Screenshot API:
POST https://api.addscreenshots.com/screenshots?apikey=YOUR_API_KEY
{
"url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe",
"viewport": "1024x768",
"wait": "250",
"section": "iframe",
"quality": "80",
"activities_after": [
{
"iframe": "iframe"
},
{
"click": "CSS"
}
]
}