DEV Community

Boehner
Boehner

Posted on

SnapAPI + N8N Integration Guide

Automate screenshots, metadata extraction, and page monitoring without writing code.


What You Can Build

N8N is a self-hostable workflow automation tool — think Zapier but open source. Connecting it to SnapAPI takes about five minutes and unlocks:

  • Screenshot monitor — trigger on a schedule, screenshot a list of URLs, save to disk or upload to S3
  • OG tag audit pipeline — read URLs from a Google Sheet, call SnapAPI metadata, write PASS/FAIL results back to the sheet
  • Competitor tracker — weekly workflow that calls /v1/analyze on competitor pages and logs CTA text + tech stack changes to a database
  • PDF archiver — on any HTTP trigger (webhook, form submit, schedule), convert a URL to PDF and email it as an attachment

Prerequisites

  • N8N running locally (npx n8n) or on N8N Cloud
  • A SnapAPI API key — free at snapapi.tech (100 calls/month, no credit card)

Store your API key as an N8N credential:
Settings → Credentials → New → Header Auth

  • Name: SnapAPI
  • Header name: x-api-key
  • Header value: your_key_here

Step-by-Step: Screenshot Any URL

1. Add a Manual Trigger node

In a new workflow, click + and search for "Manual Trigger". This lets you test the workflow by clicking "Execute Workflow" manually. Later, replace it with a Schedule or Webhook trigger.

2. Add an HTTP Request node

Click + after the Manual Trigger. Search for "HTTP Request".

Configure it:

  • Method: GET
  • URL: https://snapapi.tech/v1/screenshot
  • Authentication: Header Auth → select the SnapAPI credential you created
  • Query Parameters:
    • url{{ $json.url }} (or hardcode a URL to test: https://example.com)
    • formatpng
    • full_pagefalse
  • Response Format: File

3. Add a Write Binary File node

Click + after the HTTP Request node. Search for "Write Binary File".

Configure it:

  • File Name: screenshot-{{ $now.format('yyyy-MM-dd') }}.png
  • Property Name: data (this is where N8N stores the binary response from the HTTP Request node)

4. Execute

Click Execute Workflow. A PNG file will appear in your N8N working directory (or configured output path).


Minimal Workflow JSON

Copy this into N8N via Import from JSON (menu → Import → paste):

{
  "name": "SnapAPI Screenshot",
  "nodes": [
    {
      "parameters": {},
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [240, 300]
    },
    {
      "parameters": {
        "url": "https://snapapi.tech/v1/screenshot",
        "authentication": "headerAuth",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            { "name": "url",       "value": "https://example.com" },
            { "name": "format",    "value": "png" },
            { "name": "full_page", "value": "false" }
          ]
        },
        "options": { "response": { "response": { "responseFormat": "file" } } }
      },
      "name": "SnapAPI Screenshot",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4,
      "position": [460, 300],
      "credentials": { "httpHeaderAuth": { "name": "SnapAPI" } }
    }
  ],
  "connections": {
    "Manual Trigger": {
      "main": [[{ "node": "SnapAPI Screenshot", "type": "main", "index": 0 }]]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Import this, connect your SnapAPI Header Auth credential, swap https://example.com for your target URL, and execute.


Three More Workflow Ideas

  • Google Sheets OG Audit: Schedule Trigger → Google Sheets (read URLs from column A) → Loop Over Items → HTTP Request to /v1/metadata → Google Sheets (write og_title, og_image, og_description, PASS/FAIL to columns B–E). Full site audit, results land in a spreadsheet automatically every Monday.

  • Webhook-triggered PDF: Webhook Trigger (POST with { "url": "..." }) → HTTP

Top comments (0)