Menu
n8nautomationno-codescreenshotsworkflow

Automate Screenshots in n8n with the SnapSharp API

SnapSharp Team·April 15, 2026·7 min read

n8n is one of the most powerful open-source automation platforms — self-hostable, highly flexible, and with a thriving community of workflow templates. Its HTTP Request node can call any REST API, which makes connecting n8n to the SnapSharp screenshot API straightforward.

This guide covers the exact node configuration, handling binary output (PNG images), and three real workflow examples you can adapt immediately.


What you need


Step 1: Add an HTTP Request node

In your n8n workflow, click + to add a node and search for HTTP Request.

Step 2: Configure the node

Basic screenshot

Set the following fields in the HTTP Request node:

FieldValue
MethodGET
URLhttps://api.snapsharp.dev/v1/screenshot
Response FormatFile (binary output)

Under Authentication, choose Header Auth and add:

Header NameValue
AuthorizationBearer YOUR_API_KEY

Under Query Parameters, add:

ParameterValue
url{{ $json.url }} (or a fixed URL like https://example.com)
width1280
height720
formatpng

Click Execute Node — the output will be a binary PNG file you can pass to the next node.

Naming the binary output

To give the file a meaningful name (useful for Google Drive, Notion, email attachments), add this node after the HTTP Request:

  1. Add a Set node
  2. Add a field: filename{{ $json.url.replace(/https?:\/\//, '').replace(/\//g, '-') }}.png

Or use the Move Binary Data node to rename the binary property.


Advanced parameters

Add these to the Query Parameters section:

ParameterDescriptionPlan
full_page=trueCapture full page heightStarter+
dark_mode=trueEmulate dark modeFree
device=iPhone+14Mobile viewportFree
block_ads=trueRemove cookie banners and adsStarter+
delay=2000Wait 2s before capture (ms)Free
cache=trueUse Redis cache (cache hits are free)Free

Workflow 1: Screenshot → Google Drive

Trigger: Manual or Schedule
Nodes: HTTP Request → Google Drive (Upload)

  1. HTTP Request — configured as above with format=png
  2. Google Drive → Upload node:
    • File Name: {{ $now.format('YYYY-MM-DD') }}-screenshot.png
    • Binary Data: Toggle on
    • Binary Property: data (the output of the HTTP Request node)

Result: every run saves a dated screenshot to your Drive folder.


Workflow 2: URL list from Google Sheets → screenshot each → save back

This is useful for screenshot archives, competitor monitoring, or client report generation.

Nodes: Google Sheets (Read) → Split In Batches → HTTP Request → Google Drive (Upload) → Google Sheets (Update)

  1. Google Sheets → Read Rows: read column A (URLs)
  2. Split In Batches (size: 1) — process one row at a time
  3. HTTP Request: url={{ $json['URL'] }}&width=1280&height=720&format=png
  4. Google Drive → Upload: save PNG
  5. Google Sheets → Update Row: write the Drive file URL back into column B

SnapSharp returns the screenshot immediately (synchronous), so the workflow stays simple — no polling needed.


Workflow 3: Screenshot on new Slack message → post back

Use case: QA team reports a broken page in Slack → bot takes a screenshot and posts it.

Nodes: Slack Trigger → HTTP Request → Slack (Send Message)

  1. Slack Trigger: listen for messages matching !screenshot
  2. Set node: extract URL from {{ $json.text.replace('!screenshot ', '') }}
  3. HTTP Request: screenshot the URL
  4. Slack → Send Message: reply in thread with the screenshot attached as a file

Using the n8n SnapSharp community node

SnapSharp publishes an official n8n community node that wraps the API with a visual form — no manual URL or header configuration needed.

Installing the community node

In n8n Settings → Community Nodes → Install:

n8n-nodes-snapsharp

Restart n8n after installation (required for community nodes).

Node capabilities

The SnapSharp node exposes all API endpoints directly:

  • Screenshot (URL or HTML)
  • OG Image generation
  • PDF from URL or HTML
  • Site Audit
  • Screenshot Diff
  • Async Screenshot (with job polling)

Each operation shows only the relevant parameters, validates input client-side, and handles binary output automatically.


OG Image generation workflow

The SnapSharp API also generates Open Graph images from templates — useful for automating social cards when new content is published.

Nodes: RSS Feed → HTTP Request (OG Image) → Buffer (image) → Slack/Notion/Buffer

HTTP Request node for OG images:

FieldValue
MethodPOST
URLhttps://api.snapsharp.dev/v1/og-image
BodyJSON
Body Content{ "template": "gradient", "title": "{{ $json.title }}", "description": "{{ $json.description }}" }
Response FormatFile

Rate limits and error handling

Add an IF node after the HTTP Request to check {{ $response.statusCode }}:

  • 200 → proceed to next step
  • 429 → add a Wait node (60 seconds) and retry
  • 4xx → send a Slack alert with the error message

For automated workflows running overnight, the Retry on Fail setting in the HTTP Request node (up to 3 retries, 5-second interval) handles transient errors automatically.


Getting your API key

  1. Create a free account — no credit card required
  2. Go to Dashboard → API Keys → Create key
  3. Copy the key — it is shown only once

The free tier includes 100 screenshots/month, which is enough for building and testing your workflows. The Starter plan provides 5,000/month with caching, full-page capture, and ad blocking.

Automate Screenshots in n8n with the SnapSharp API — SnapSharp Blog