Schedule website screenshots to run automatically every few minutes, hourly, daily, weekly, monthly, or on a custom cron expression. Each schedule combines the pages to capture, reusable browser settings, and a delivery destination so your visual records arrive without manual screenshots.
Create your first schedule free See the three-step setup

Choose a destination, reuse the capture settings you need, and then decide when the job runs:
Access scheduling through the left side menu after logging into the Add Screenshots Portal.
Capture screenshots in just three simple steps:
Storage and request templates are reusable, allowing you to set up different schedules for various websites.
Create reusable templates for where your screenshots are stored, including options such as:
Specify folder names and file names with configurable path patterns for organized storage.
Example storage account configuration:

Create reusable request templates to define how screenshots are taken, including options like viewport size, image quality, file format, and more.
Example request template:

Set up one or multiple schedules based on your needs, specifying the websites to capture, the timing, and the capturing method.
Example of a multi-page screenshot configuration:

Create custom schedules using a CRON expression, which is a time-based scheduling format.
Before activating a recurring capture, confirm the time zone shown for the schedule and review the next run time. This is especially important for reports tied to local business hours or daylight-saving changes. For evidence and compliance workflows, include the capture time and region in your folder or file name pattern.
The CRON expression format is: {minute} {hour} {day of the month} {month} {day of the week}
Example: * * * * * (runs every minute)
Allowed values for each field:
| Field | Valid Values |
|---|---|
| Minute | 0-59 |
| Hour | 0-23 |
| Day of the month | 1-31 |
| Month | 1-12 |
| Day of the week | 0-6 (Sunday to Saturday) |
Use crontab.guru for an easy-to-use CRON scheduler expression editor.
| Expression | Description | Runs at |
|---|---|---|
| * * * * * | every minute | 09:00 09:01 ... 10:01 |
| */5 * * * * | every 5 minutes | 09:00 09:05 ... 10:05 |
| 0 * * * * | every hour (hourly) | 09:00 10:00 ... 11:00 |
| 0 */6 * * * | every 6 hours | 06:00 12:00 ... 18:00 |
| 0 8-18 * * * | every hour between 8-18 | 08:00 09:00 ... 18:00 |
| 0 0 * * * | every day (daily) | Feb 1 00:00 ... Feb 2 00:00 |
| 0 10 * * * | every day at 10:00 | Feb 1 10:00 ... Feb 2 10:00 |
| 0 * * * 1-5 | every hour on workdays | Feb 7 (FRI) 23:00 ... Feb 10 (MON) 00:00 |
| 0 0 * * 0 | every Sun (weekly) | Feb 9 (SUN) 00:00 ... Feb 16 (SUN) 00:00 |
| 0 9 * * 1 | every Mon at 09:00 | Feb 3 (MON) 09:00 ... Feb 10 (MON) 09:00 |
| 0 0 1 * * | every 1st of the month (monthly) | Feb 1 00:00 ... Mar 1 00:00 |
| 0 * * * 0 | every hour on Sun | Feb 9 (SUN) 23:00 ... Feb 16 (SUN) 00:00 |
| 0 0 1-7 * 0 | every first Sun of the month at 00:00 | Feb 2 (SUN) 00:00 Apr 1 (SUN) 00:00 |
| 5 23 * * * | daily at 23:05 (11:05 pm) | Feb 2 23:05 ... Feb 3 23:05 |
| 45 23 * * 6 | every Sat at 23:45 (11:45 pm) | Oct 24 23:45 ... Oct 21 23:45 |
| 0 9 * * 1 | every Mon at 09:00 | Oct 19 09:00 ... Oct 26 09:00 |
A schedule controls when the job runs. The linked request template controls how the browser captures each page, including viewport, full-page mode, waits, image format, and browser actions. The storage template then controls where every result is delivered.
For a visual history rather than a simple archive, connect the schedule to before, after, and diff screenshots. For large URL sets, use bulk website screenshots with a sitemap or list.
Want help configuring always-on monitoring? Review plans or create an API key to start scheduling captures in minutes.