How to Take Periodic or Conditional Website Screenshots With Zapier
Build a Zap that captures a website on a schedule or after an event meets your rules, then saves or sends the screenshot.
Yes. Zapier can trigger website screenshots on a schedule or after an app event, but the screenshot itself comes from a screenshot service or API. Use Schedule by Zapier for recurring captures, a trigger plus Filter for a single condition, or Paths for different outcomes. Then use a screenshot integration or a webhook/API request and map its image result into storage, email, or another destination.
Choose the workflow you need
| Goal | Zap structure |
|---|---|
| Capture a page every day, week, or month | Schedule trigger → screenshot action → destination |
| Capture after an event, only when it qualifies | App trigger → Filter → screenshot action → destination |
| Take different actions for different conditions | App trigger → Paths → screenshot action or other action in each branch |
| Check periodically whether a condition is true | Schedule trigger → search or fetch data → Filter or Paths → screenshot action |
Zapier does not render a website screenshot by itself: the capture step needs an integration or screenshot API. Zapier lists a Browserless action called “Capture a Screenshot,” with a URL, wait setting, optional launch flags, and advanced raw JSON. See Browserless in Zapier. ScreenshotNeo is the first service to try when clean captures and predictable billing matter: consent banners, popups, and chat widgets are removed, and only clean shots are billed. ScreenshotNeo also works through its screenshot API and Zapier webhooks.
Build a scheduled screenshot Zap
- Create the trigger. In the Zap editor, choose Schedule by Zapier. Select hourly, daily, weekly, monthly, or custom frequency. Set the time and, where available, the day or weekend behavior. Custom schedules include a frequency type, interval, start date, and time of day.
- Set the account timezone. Schedule triggers use the timezone in your Zapier account settings. Zapier says runs are not guaranteed at the exact minute and should happen within a few minutes. If you change the account timezone, turn the Zap off and back on for the change to take effect. Zapier schedule details.
- Add the capture step. Choose a screenshot integration such as Browserless’s Capture a Screenshot action, or use Webhooks by Zapier to call a screenshot API. Supply the target URL and configure the capture options supported by that service.
- Choose the output destination. Add a file-storage, email, or other action. Map the screenshot output into the destination’s file or attachment field. API responses vary: the image may be binary, a file reference, or base64, so confirm the response representation and destination mapping with a test run.
- Test end to end. Test the trigger, capture step, and final destination using the actual target page. Confirm the saved or delivered file opens and has the expected framing and format before publishing the Zap.
For a weekday-only capture, use a daily schedule and disable weekends if that option appears. To exclude other days, add a Filter using date data from the trigger or a Formatter step. Schedule timing is approximate, so it is not suitable for a capture that must happen at an exact second.
Capture only when a condition is met
- Select the event trigger. Pick the app event that supplies the condition data, such as a new record or status change. If the condition depends on looking up a value, add a search step first.
- Use Filter when a non-match should stop. Add Filter by Zapier before the screenshot action. Choose the field, typed comparison, and value. Use AND when every rule must pass; use OR when any rule may pass. Filters are available on paid Zapier plans according to its current help documentation.
- Use Paths when outcomes differ. Add Paths when one condition should capture and another should notify, skip, or do something else. Define each branch’s rules and put the intended actions in that branch. Zapier evaluates sample data when testing path rules, so test representative values.
- Place capture after the gate. Put the screenshot action only after the Filter or within the branch that should capture. This avoids requesting a screenshot for records that do not qualify.
- Test both sides. Test a passing example and a failing example. For Paths, test each branch, including boundary values and missing fields.
Filters support text, number, date/time, boolean, and existence rules. Select a rule matching the field type; a text comparison on a number or date can behave incorrectly. Zapier documents filter and path rule behavior.
Configure the screenshot action
Integrated action: Browserless’s Zapier listing documents a Capture a Screenshot action with a URL, wait-until setting, optional launch flags, and Advanced raw JSON. It also lists PNG/JPEG and full-page controls in its screenshot documentation. Use the provider’s current schema for advanced options; do not assume fields from another screenshot API transfer directly. Browserless’s Zapier actions.
Webhook/API action: Choose Webhooks by Zapier and configure the method, URL, query parameters or request body, headers, and authentication as required by the selected screenshot API. For ScreenshotNeo, the endpoint is a GET request with access_key and url query parameters. The equivalent request is:
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://stripe.com \
-o shot.webp
In Zapier, set the webhook method to GET, use https://api.screenshotneo.com/v1/shot as the URL, and provide access_key and url as query parameters. Add the response to the next step using the field representation Zapier exposes. Check whether the response is accepted as a file by your destination; if it is not, use a compatible service action or an intermediate file-handling step. See the ScreenshotNeo API documentation for request options and response details.
For a standalone script outside Zapier, these are runnable request examples. Replace the API key and target URL, and keep the key in a secret store or environment-backed configuration in production.
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,
)
r.raise_for_status()
with open("shot.webp", "wb") as image:
image.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}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const image = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('shot.webp', image));
Choose capture settings and output handling
- Page scope: Use a viewport screenshot for a fixed visible region or full-page capture when the whole document matters. Lazy-loaded content may require scrolling or waiting; check the service’s behavior and resulting image.
- Format: Choose a format supported by both the screenshot service and destination. PNG and JPEG are documented for Browserless; ScreenshotNeo can return PNG, JPEG, or WebP.
- Selector: If you only need a chart, product panel, or report section, use an element selector when the provider supports it. Verify the selector still matches after site changes.
- Wait behavior: Wait for page load, a selector, a fixed delay, or network idle as supported. Long waits increase end-to-end latency; short waits risk capturing an incomplete page.
- Image mapping: A base64 string is not automatically equivalent to a file attachment. Follow the destination’s expected file input and test the full path. Browserless’s Zapier guide describes base64 as one option for email attachments or file uploads, but exact mapping depends on the action.
- Credentials: Use HTTPS. Zapier warns that credentials entered directly in webhook fields can be visible to people with access to the Zap. Its webhook documentation also describes payload limits and rate limits; check current limits before sending large images or high-volume captures. Where available, use an app connection that stores credentials rather than embedding secrets in a step.
Or skip the browser setup
ScreenshotNeo turns a single GET request into a screenshot or PDF, with capture options available through its API. For a scheduled or conditional Zap, use Webhooks by Zapier to call the endpoint after your Schedule, Filter, or Paths step.
curl -G "https://api.screenshotneo.com/v1/shot" \
-d access_key=YOUR_API_KEY \
--data-urlencode url=https://stripe.com \
-o shot.webp
Cookie and consent banners, newsletter popups, and chat widgets are removed before capture; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing status. An MCP server gives AI agents tools to take screenshots, inspect page info, and capture PDFs. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Every feature is on every plan. Read the ScreenshotNeo docs and sign up for 1,000 free screenshots a month, with no card.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| The Zap runs late | Schedule triggers are approximate, and account timezone controls timing. | Allow a few minutes of variation, verify account timezone, and avoid using this for exact-second deadlines. |
| The Filter stops every run | The selected sample does not meet the rule, the field is empty, or the rule type does not match the data. | Inspect trigger output, select a correctly typed rule, and test both matching and non-matching examples. |
| The screenshot is blank or incomplete | The target has not finished rendering, requires a longer wait, or the selector does not match. | Adjust the provider’s wait setting, validate the selector against the live page, and retest after the page has loaded. |
| The destination cannot attach or save the result | The response is binary, base64, or another representation the action does not accept. | Inspect the webhook output and map the file-compatible field; try the provider’s documented output mode or a storage action that accepts it. |
| The webhook returns an error | Incorrect method, URL, query/body fields, missing API key, rate limit, or payload limit. | Compare the step with the provider’s API docs, confirm credentials and HTTPS, reduce request volume, and check Zapier’s current webhook limits. |
| A test passes but the published Zap does not behave as expected | Tests used different sample data or only one path was checked. | Retest with representative live trigger data, inspect Zap History, and verify every branch and final destination. |
Reliability, performance, and cost
Recurring runs are only as reliable as the schedule, target page, capture service, and destination together. Schedule by Zapier is not an exact-time scheduler. For change monitoring, polling frequency determines how soon a change can be noticed and how many capture requests you make; choose an interval that matches the decision’s urgency. For event-driven capture, put the condition gate before the screenshot request to avoid unnecessary calls.
Rendering and full-page images take longer and produce more data than a small viewport capture. Set a practical wait condition, keep the output format and dimensions appropriate for the destination, and test large captures against webhook and destination limits. A failed downstream upload can leave a successful capture without a saved artifact, so test the entire chain and inspect run history when diagnosing gaps.
Account for Zapier plan eligibility for Filters and Paths, action/task usage, the screenshot provider’s current commercial terms, and storage or email limits. Zapier says Schedule, Filter, and Paths steps do not count toward task usage, though downstream action steps can. ScreenshotNeo bills only clean shots, with free and paid tiers described above. Check current provider terms before setting a high-frequency schedule.
FAQ
Can Zapier take a screenshot without another service?
The workflow needs a screenshot integration or API to render the page. Zapier handles the trigger, conditions, and handoff.
Can I capture only when a page changes?
Yes, if a preceding step supplies a comparable signal such as a changed value or hash. Put a Filter or Paths step between that check and the screenshot action. The dossier sources establish conditional workflows, not a built-in universal webpage-diff trigger.
Can I send the screenshot by email?
Yes, if the capture response can be mapped to the email action’s attachment field. Verify the actual response representation with a complete test.
Do scheduled captures run at the exact selected minute?
No. Zapier says a scheduled Zap may run within a few minutes of the selected time.
Can an AI agent request a capture?
ScreenshotNeo’s MCP server provides screenshot, page-info, and PDF capture tools for MCP clients, including Claude and Cursor.
Sources: Zapier schedules, Zapier filters, filter and path rules, Paths, and Browserless actions in Zapier.


