Screenshot API for Zapier

Take website screenshots in Zapier with ScreenshotAPI: add a Webhooks by Zapier action to capture, store, and share screenshots — no code, 200 free/month.

Last updated: 2026-07-08

Try ScreenshotAPI free

200 free screenshots/month. No credit card required.

Start for free

To take a screenshot in Zapier, add a Webhooks by Zapier → Custom Request action that makes a GET request to https://screenshotapi.to/api/v1/screenshot with a url query parameter and your x-api-key header. Zapier receives the rendered image and hands it to any downstream step — Google Drive, Dropbox, Slack, or email — so you can capture, store, and share website screenshots with no code and no headless browser to run. There is no dedicated ScreenshotAPI app in Zapier; the built-in Webhooks by Zapier action calls the API directly and gives you the full parameter set (dimensions, format, full-page, PDF, dark mode). ScreenshotAPI's free tier includes 200 screenshots per month. This page shows that one action first, then builds real Zaps on top of it.

Automate Website Screenshots with Zapier and ScreenshotAPI

Zapier connects thousands of apps through automated workflows called Zaps. By adding ScreenshotAPI to your Zaps, you can capture website screenshots automatically whenever a trigger fires. No coding, no server setup, no headless browser configuration.

A Zapier screenshot integration with ScreenshotAPI is perfect for use cases like capturing screenshots of newly submitted websites in a form, monitoring competitor pages on a schedule, generating visual reports for stakeholders, or archiving page snapshots for compliance.

Quick Start

  1. Sign up for ScreenshotAPI and copy your API key. 200 free screenshots per month are included.
  2. Create a new Zap in your Zapier account.
  3. Add a Webhooks by Zapier action to call the API.

The Simplest Zapier Screenshot (One Action)

You don't need a multi-step Zap or a dedicated app to capture a page — a single Webhooks by Zapier action is the entire "Zapier screenshot" step. Add it after any trigger:

  • App: Webhooks by Zapier
  • Action Event: Custom Request
  • Method: GET
  • URL: https://screenshotapi.to/api/v1/screenshot
  • Query String Params:
    • url: the page you want to capture (e.g. https://example.com) — map this from a trigger field to make it dynamic
  • Headers:
    • x-api-key: sk_live_xxxxx

Zapier runs the request and hands the rendered image to the next step, so you can pipe it straight into a Google Drive upload, a Slack message, or an email attachment. Add fullPage=true to the query params to capture the entire scrollable page, type=pdf to return a PDF instead of an image, or colorScheme=dark for the dark-mode version. Every workflow below is just this one action wired to a different trigger and destination.

Basic Zap: Capture Screenshot on Form Submission

This workflow captures a screenshot whenever someone submits a URL through a Google Form.

Step 1: Trigger

Choose Google Forms as the trigger app and select "New Response in Spreadsheet." Connect your Google account and select the form that collects URLs.

Step 2: Capture Screenshot

Add a Webhooks by Zapier action with these settings:

  • Action Event: Custom Request
  • Method: GET
  • URL: https://screenshotapi.to/api/v1/screenshot
  • Query String Params:
    • url: Map to the URL field from the form response
    • width: 1440
    • height: 900
    • type: png
    • waitUntil: networkidle2
  • Headers:
    • x-api-key: sk_live_xxxxx

Step 3: Store the Screenshot

Add a Google Drive action:

  • Action Event: Upload File
  • File: Map to the response body from the webhook step
  • Folder: Select your screenshots folder
  • File Name: Use the submitted URL or a timestamp

Scheduled Monitoring Zap

Capture screenshots of your own site on a regular schedule:

Step 1: Schedule Trigger

Choose Schedule by Zapier as the trigger:

  • Trigger Event: Every Day (or Every Hour, Every Week)
  • Time of Day: 9:00 AM

Step 2: Capture Homepage

Add a Webhooks by Zapier Custom Request:

  • Method: GET
  • URL: https://screenshotapi.to/api/v1/screenshot?url=https://yoursite.com&width=1440&height=900&type=png
  • Headers: x-api-key: sk_live_xxxxx

Step 3: Send to Slack

Add a Slack action:

  • Action Event: Send Channel Message
  • Channel: #screenshots or #monitoring
  • Message Text: Daily homepage screenshot captured at {{zap_meta_human_now}}
  • File: Attach the screenshot from the webhook step

Multi-Page Screenshot Workflow

Capture multiple pages in a single Zap using Zapier's Looping feature:

Step 1: Trigger

Use any trigger that provides a list of URLs, or use Formatter by Zapier to create a list:

  • Action Event: Utilities > Line Items to Text
  • Input: Enter URLs separated by commas

Step 2: Loop Through URLs

Add Looping by Zapier:

  • Values to Loop: Map to your list of URLs

Step 3: Capture Each Page

Inside the loop, add a Webhooks by Zapier Custom Request:

  • Method: GET
  • URL: https://screenshotapi.to/api/v1/screenshot
  • Query String Params:
    • url: Map to the current loop value
    • width: 1440
    • height: 900
    • type: webp
    • quality: 80
  • Headers: x-api-key: sk_live_xxxxx

Step 4: Upload to Storage

Add a storage action inside the loop to save each screenshot to Google Drive, Dropbox, or S3.

Competitor Monitoring Workflow

Track visual changes on competitor websites:

  1. Trigger: Schedule by Zapier (weekly)
  2. Action: Webhooks by Zapier Custom Request to capture competitor homepage
  3. Action: Send screenshot to an email or Slack channel with a note about which competitor was captured
  4. Action: Store in Google Drive with dated filename for historical comparison

Webhook Trigger for On-Demand Screenshots

Create a Zap that accepts webhook requests from your own application:

Step 1: Trigger

Choose Webhooks by Zapier > Catch Hook. Copy the webhook URL and call it from your app:

bash
curl -X POST "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com", "type": "png"}'

Step 2: Capture Screenshot

Use another Webhooks by Zapier Custom Request to call ScreenshotAPI with the URL from the incoming webhook.

Step 3: Process the Result

Send the screenshot to email, upload to cloud storage, or post to a team channel.

Dark Mode Screenshots

Add colorScheme=dark to the query string parameters to capture the dark mode version of any website:

  • Query String Params:
    • colorScheme: dark

This is useful for generating preview images for both themes, or for visual regression testing workflows.

Production Tips

API Key Security

Zapier stores your API key securely in the webhook configuration. It is never exposed to end users. For team accounts, use Zapier's shared app connections to manage the key centrally.

Error Handling

Enable Zapier's built-in error handling to retry failed screenshots. Add a "Paths" step after the webhook to check the response status code and branch accordingly.

Rate Limiting

If your Zap processes many URLs, add a Delay step between webhook calls to avoid hitting rate limits. Zapier's built-in delay supports 1 second to 1 hour intervals.

Webhook-Based Integration

ScreenshotAPI supports webhooks that notify your Zapier workflow when a screenshot completes. This enables truly asynchronous workflows where you don't have to wait for the screenshot to render.

How It Works

  1. Create a Zapier webhook trigger (Webhooks by Zapier > Catch Hook) and copy the webhook URL
  2. Register the Zapier URL as a webhook endpoint via the Webhooks API
  3. Take screenshots via the API — when each screenshot completes, ScreenshotAPI sends a screenshot.completed event to your Zapier webhook
  4. Process the event in Zapier — the payload includes the screenshot ID, URL, duration, and usage source

Webhook Payload

Each screenshot.completed event includes:

json
{ "event": "screenshot.completed", "timestamp": "2026-03-24T15:30:00.000Z", "data": { "screenshotId": "abc123", "url": "https://example.com", "durationMs": 2340, "source": "plan" } }

Registering a Webhook Endpoint

Use the API to register your Zapier Catch Hook URL:

bash
curl -X POST "https://screenshotapi.to/api/v1/automation/webhooks" \ -H "Content-Type: application/json" \ -H "x-api-key: sk_live_xxxxx" \ -d '{ "url": "https://hooks.zapier.com/hooks/catch/YOUR_HOOK_ID", "events": ["screenshot.completed"] }'

The response includes a secret field — store this to verify webhook signatures using the x-webhook-signature header.

Get 200 free screenshots per month. No credit card required. Sign up free →

Further Reading

Frequently asked questions

How do I take a screenshot in Zapier?

Add a Webhooks by Zapier action (Custom Request, GET) that calls https://screenshotapi.to/api/v1/screenshot with a url query parameter and your x-api-key header. Zapier receives the rendered image and passes it to any downstream step — Google Drive, Dropbox, Slack, or email. No code is required, and ScreenshotAPI's free tier includes 200 screenshots per month.

Is there a native ScreenshotAPI app or screenshot action in Zapier?

There is no dedicated ScreenshotAPI app in the Zapier directory. You use Zapier's universal Webhooks by Zapier action to call the API directly, which gives you the full screenshot parameter set — viewport dimensions, image format, full-page capture, PDF output, and dark mode.

Can I use ScreenshotAPI with Zapier without coding?

Yes. Use Zapier's Webhooks by Zapier action to make a GET request to the ScreenshotAPI endpoint. No coding required, just configure the URL, headers, and parameters in the Zapier editor.

How do I pass the API key in a Zapier webhook?

In the Custom Request action, add a custom header with key x-api-key and your API key as the value. Zapier sends this header with every request.

Can I save Zapier screenshots to Google Drive or Dropbox?

Yes. After the webhook step captures the screenshot, add a Google Drive or Dropbox action to upload the file. Zapier passes the image data between steps automatically.

What triggers can I use to start a screenshot workflow?

Any Zapier trigger works. Common choices include new form submissions, new rows in Google Sheets, scheduled intervals, new emails, Slack messages, or webhook catches from your own app.

Related resources

Start capturing screenshots today

Create a free account and get 200 free screenshots per month to try the API. No credit card required.