DEV Community

Boehner
Boehner

Posted on

Automate Screenshots and Metadata Checks with SnapAPI + Zapier (No Code Required)

SnapAPI + Zapier Integration Guide

Automate screenshots, metadata checks, and OG audits — no code required.


What You Can Automate

Zapier connects apps with "if this, then that" workflows called Zaps. Connect it to SnapAPI and you can:

  • Screenshot every new form submission URL — someone fills out a lead form with their website, Zapier screenshots it automatically and saves it to Google Drive
  • Audit OG tags on every new blog post — your CMS publishes a post, Zapier checks the metadata and alerts you in Slack if og:image is missing
  • Monitor competitor pages — every Monday, take a fresh screenshot of a list of competitor URLs and save them to a Notion database

None of these require writing code. Zapier's built-in Webhooks action handles the SnapAPI call.


What You Need

  • A Zapier account — the free tier (100 tasks/month) is enough to get started
  • A SnapAPI API key — free at snapapi.tech, 100 calls/month, no credit card

Step-by-Step: Screenshot a URL with Zapier

This example Zap screenshots any new Google Form response URL and saves the image to Google Drive. Adapt the trigger to whatever fits your workflow.

Step 1 — Create a new Zap

Go to zapier.com/app/zaps and click + Create Zap.

Step 2 — Set the Trigger

Choose your trigger app and event. For this example:

  • App: Google Forms
  • Trigger Event: New Response in Spreadsheet

Connect your Google account and select the spreadsheet. In the "Set up trigger" step, map which column contains the URL you want to screenshot.

Step 3 — Add a Webhooks by Zapier Action

Click + to add an action step.

  • App: Webhooks by Zapier
  • Action Event: GET

Click Continue.

Step 4 — Configure the Webhooks Action

In the Set up action panel:

  • URL:
  https://api.snapapi.tech/v1/screenshot
Enter fullscreen mode Exit fullscreen mode
  • Query String Params — add two rows:
    | Key | Value |
    |---|---|
    | url | {{your URL field from the trigger}} |
    | format | png |

  • Headers — add one row:
    | Key | Value |
    |---|---|
    | x-api-key | YOUR_SNAPAPI_KEY |

  • Response Type: File

Step 5 — Test the Step

Click Test step. Zapier will make a live request to SnapAPI. If successful, you'll see a file object in the response — that's your screenshot.

Step 6 — Add a Final Action (Save or Send)

Add another action after the Webhooks step:

  • Save to Google Drive: App = Google Drive, Action Event = Upload File, File = the Webhooks response file
  • Or send via Slack: App = Slack, Action Event = Send File, File = the Webhooks response

Step 7 — Turn on the Zap

Click Publish. The Zap runs automatically from now on.


Alternative: Code by Zapier (for metadata)

If you need the JSON metadata (og:title, og:image, etc.) rather than the image file, use Code by Zapier instead of Webhooks:

  • App: Code by Zapier
  • Action Event: Run Javascript

Paste this code, substituting your API key:

const url = inputData.pageUrl; // mapped from your trigger
const apiKey = 'YOUR_SNAPAPI_KEY';

const res = await fetch(
  `https://api.snapapi.tech/v1/metadata?url=${encodeURIComponent(url)}`,
  { headers: { 'x-api-key': apiKey } }
);
const data = await res.json();

return {
  title:       data.og_title || data.title,
  description: data.og_description || data.description,
  og_image:    data.og_image,
  missing_og:  !data.og_image ? 'YES' : 'NO'
};
Enter fullscreen mode Exit fullscreen mode

The output fields (title, description, og_image, missing_og) become available in downstream steps — pipe them into Slack, Notion, or a Google Sheet.


Three Complete Zap Ideas

Zap 1 — Screenshot new leads automatically

  • Trigger: Google Sheets → New Row (lead's website URL in column B)
  • Action: Webhooks by Zapier → GET https://api.snapapi.tech/v1/screenshot?url={{Column B}}&format=png with x-api-key header
  • Action: Google Drive → Upload File (save screenshot, named by lead name)
  • Result: Every new lead in your CRM gets a screenshot of their site saved to Drive automatically

Zap 2 — OG tag alert on new blog posts

  • Trigger: RSS by Zapier → New Item in Feed (your blog RSS URL)
  • Action: Code by Zapier → run the metadata snippet above with inputData.pageUrl = RSS Item URL
  • Action (conditional): Filter by Zapier → Only continue if missing_og equals YES
  • Action: Slack → Send Message ("⚠️ Missing og:image on: {{RSS Item URL}}")
  • Result: Slack alert every time a post goes live without an OG image

Zap 3 — Weekly competitor screenshot archive

  • Trigger: Schedule by Zapier → Every Monday at 9am
  • Action: Webhooks by Zapier → GET screenshot for competitor URL #1
  • Action: Google Drive → Upload File
  • (duplicate Actions for each competitor URL)
  • Result: A weekly visual archive of competitor homepages in a dated Google Drive folder

Get Your Free SnapAPI Key

100 API calls/month, no credit card, active in 30 seconds.

snapapi.tech

Top comments (0)