How to Schedule Recurring Website Screenshots with GrabzIt
Schedule recurring screenshots with GrabzIt’s online tool or your own scheduler. Learn how to configure captures, handle results, and troubleshoot common issues.
To schedule recurring website screenshots with GrabzIt, create a scheduled capture in its online Screenshot Tool and choose a daily, weekly, or monthly recurrence. You can pause or resume the task later. If you need capture timing or result handling to follow your own application logic, call GrabzIt’s screenshot API from an external scheduler such as cron. GrabzIt’s Python documentation describes calling the API from a cronjob, webpage, or app. GrabzIt’s scheduled capture documentation and Python API documentation explain these routes.
Choose a scheduling route
| Route | Use it when | What to plan for |
|---|---|---|
| GrabzIt online scheduled task | You want a recurring capture managed through the online tool. | Configure the page, output, capture settings, and recurrence. The tool documents daily, weekly, and monthly schedules, plus pause and resume controls. |
| Your scheduler plus GrabzIt API | Your application or operations workflow should decide when a capture runs or what happens to its result. | Protect credentials on the server, schedule the API call, and handle completion and output in your integration. |
Use the online task for a straightforward recurring job. Choose an external scheduler when you need to coordinate screenshots with deployments, data collection, alerting, or other application work.
Set up a recurring task in the online tool
- Identify the page. Decide which URL to capture and whether the screenshot should show the initial viewport, the entire page, or a specific page element.
- Choose the output and capture options. Select the format and any relevant settings for your capture. GrabzIt’s online tool supports targeting an HTML element with a CSS selector. Its API also supports full-page captures.
- Set the recurrence. Choose the required daily, weekly, or monthly schedule. The product documentation also describes scheduling a specific date and time; consult the current tool for the available controls.
- Decide how to handle the output. Use the available task storage or configure an export destination if your workflow needs one.
- Review the task and keep its controls in mind. Pause a task when captures should stop temporarily, then resume it when they should continue.
Exact interface labels and options can change. Follow the current tool rather than relying on unverified field names or screenshots.
Choose the right capture scope
Viewport capture
A viewport capture records the visible browser area. It is suitable for monitoring a fixed banner, landing-page hero, or other content that fits within a known viewport.
Full-page capture
Use a full-page capture when content below the fold matters. GrabzIt’s REST documentation uses browser height -1 to request the whole page. Full-page jobs may take longer than viewport captures, especially when a page loads substantial content or images.
Capture a specific element
When only one chart, report, or page region matters, target its CSS selector in the online tool. Check that the selector matches the intended element on the scheduled page; page redesigns can make a previously valid selector stop matching.
Use an external scheduler with the API
An external scheduler separates timing from screenshot configuration. A typical integration has the scheduler start a server-side script, the script request a capture from GrabzIt, and your application handle the resulting callback or exported file. The API documentation describes callback and export parameters for programmatic handling. Configure the request using the current official API reference for your chosen language and output.
- Create or identify the GrabzIt application credentials required by the API.
- Store secrets in server-side configuration or a secret manager. Do not put REST credentials in browser JavaScript: GrabzIt warns that client-side REST use exposes the application key.
- Write a script that submits the capture request and handles its completion according to the API’s documented method.
- Schedule the script with cron or the scheduler used by your application environment.
- Log the scheduled run, request outcome, and output location so missed or failed jobs can be investigated.
For an illustrative Unix cron entry, this runs a script every day at 02:15 according to the machine’s cron timezone:
15 2 * * * /usr/bin/python3 /srv/captures/daily_capture.py
The cron line only schedules your script; it is not a GrabzIt API request. Implement daily_capture.py with the current GrabzIt SDK or documented REST flow, including the required credentials, capture parameters, and completion handling. Confirm the host’s timezone and cron environment, since they affect when and how the script runs.
Manage files, exports, and retention
GrabzIt’s support documentation lists Amazon S3, Dropbox, FTP, and WebDav among API export destinations. Choose a destination your workflow can access, and confirm the current API parameters and account settings before depending on a specific export or retention behavior.
Archiving depends on the account package and task settings. GrabzIt’s archiving documentation says tasks deleted on completion are not archived. Check current account settings and terms before relying on a retention period; do not assume a recurring task’s output will remain available indefinitely.
For predictable operations, define how long your own destination should keep captures, how filenames avoid collisions, and who can read the stored screenshots. A scheduled screenshot can contain private or customer-specific page data.
Bulk setup and task naming
Scheduled-task filenames can include a sanitized version of the URL and a timestamp variable with a chosen UTC offset. Check the current naming options when you need stable downstream filenames or timezone-specific organization.
Important: GrabzIt’s CSV mass importer overwrites all current scheduled tasks. Do not treat it as an additive import for an account with existing tasks. Before using it, export or otherwise preserve the current task configuration and verify the import behavior in the official task-management documentation.
Reliability and performance considerations
- Schedule around the page’s update cycle. Capturing too frequently can create redundant files; capturing too infrequently can miss short-lived changes.
- Account for page load variability. Dynamic pages and full-page captures may take longer. Use the API’s documented completion mechanism rather than assuming a request immediately means the image is ready.
- Make output names unique. Include a timestamp or other run identifier if repeated captures would otherwise overwrite each other.
- Monitor the whole job. Track whether the scheduler started, whether GrabzIt accepted the request, whether capture completed, and whether the output reached its destination.
- Plan for retries carefully. A retry can create a duplicate capture if the original request succeeded but your script did not receive or record the completion. Use an idempotent naming or tracking strategy where possible.
- Review current plan limits and retention. The research sources do not establish current pricing, quotas, or exact retention periods; check GrabzIt’s current account information before estimating ongoing costs.
Troubleshooting recurring captures
| Symptom | Likely cause | What to check or fix |
|---|---|---|
| No captures appear on the expected cadence | The task is paused, the schedule was configured differently than expected, or the timezone assumption is wrong. | Check task status and recurrence in the online tool. For cron, confirm the host timezone and that the scheduled command runs. |
| The screenshot omits content below the fold | The job captures only the viewport. | Enable full-page capture; in the REST API, the documented browser height value for the whole page is -1. |
| The expected region is missing | The CSS selector does not match, or the page structure changed. | Inspect the selector against the current page and update it in the task configuration. |
| The job ran but no file is at the destination | Completion handling or export configuration may be incomplete, or the task may be deleted on completion and therefore not archived. | Check the API callback/export settings and account task settings. Verify the destination credentials and current retention rules. |
| A REST integration exposes its application key | The request was implemented in client-side code. | Move the REST request to a server-side script. GrabzIt warns that client-side REST use exposes the key; use its documented JavaScript API route when a browser-based integration is appropriate. |
| Existing scheduled tasks disappeared after an import | The CSV mass importer overwrites all current scheduled tasks. | Restore from a saved export or recreate the task list as appropriate. Treat future CSV imports as replacement operations. |
| Repeated runs overwrite earlier images | The output naming pattern is not unique. | Use the documented timestamp naming option or another unique run identifier, and verify the timezone used for that timestamp. |
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. A single GET request can return a PNG, JPEG, WebP, or PDF. Here is a recurring capture script you can run from cron after choosing the schedule.
See the ScreenshotNeo API documentation for the available parameters.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Run one of these scripts from cron or your existing scheduler. ScreenshotNeo accepts cookie banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before the shot; each step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits cost nothing, and response headers identify the page verdict and billing status. Its MCP server gives AI agents tools to take screenshots, get page information, and capture PDFs. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.
Sign up for ScreenshotNeo’s free 1,000 screenshots a month, with no card required.
Frequently asked questions
Can I pause a recurring GrabzIt screenshot task?
Yes. GrabzIt documents controls to pause and resume a scheduled task.
Can I schedule a screenshot for a particular date and time?
GrabzIt’s product page describes a specific date-and-time schedule as well as daily, weekly, and monthly recurrence. Check the current tool for the precise available controls.
Can I save captures to cloud or file services?
GrabzIt’s API support documentation lists Amazon S3, Dropbox, FTP, and WebDav as export destinations. Confirm the current configuration details before setting up a production workflow.
Does CSV import add tasks to the existing list?
No. The documented CSV mass importer overwrites all current scheduled tasks, so preserve the existing configuration before importing.
Sources
- GrabzIt Screenshot Tool: recurring schedules and task controls.
- GrabzIt Python API documentation: calling the API from cronjobs, webpages, or apps.
- GrabzIt REST API documentation: capture settings, full-page browser height, credentials, callbacks, and export parameters.
- GrabzIt support documentation: exports, archiving, scheduled-task filenames, and CSV import behavior.


