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
- A SnapSharp account (free tier: 100 screenshots/month)
- Your API key from Dashboard → API Keys
- An n8n instance (cloud or self-hosted)
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:
| Field | Value |
|---|---|
| Method | GET |
| URL | https://api.snapsharp.dev/v1/screenshot |
| Response Format | File (binary output) |
Under Authentication, choose Header Auth and add:
| Header Name | Value |
|---|---|
Authorization | Bearer YOUR_API_KEY |
Under Query Parameters, add:
| Parameter | Value |
|---|---|
url | {{ $json.url }} (or a fixed URL like https://example.com) |
width | 1280 |
height | 720 |
format | png |
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:
- Add a Set node
- 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:
| Parameter | Description | Plan |
|---|---|---|
full_page=true | Capture full page height | Starter+ |
dark_mode=true | Emulate dark mode | Free |
device=iPhone+14 | Mobile viewport | Free |
block_ads=true | Remove cookie banners and ads | Starter+ |
delay=2000 | Wait 2s before capture (ms) | Free |
cache=true | Use Redis cache (cache hits are free) | Free |
Workflow 1: Screenshot → Google Drive
Trigger: Manual or Schedule
Nodes: HTTP Request → Google Drive (Upload)
- HTTP Request — configured as above with
format=png - 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)
- File Name:
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)
- Google Sheets → Read Rows: read column A (URLs)
- Split In Batches (size: 1) — process one row at a time
- HTTP Request:
url={{ $json['URL'] }}&width=1280&height=720&format=png - Google Drive → Upload: save PNG
- 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)
- Slack Trigger: listen for messages matching
!screenshot - Set node: extract URL from
{{ $json.text.replace('!screenshot ', '') }} - HTTP Request: screenshot the URL
- 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-snapsharpRestart 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:
| Field | Value |
|---|---|
| Method | POST |
| URL | https://api.snapsharp.dev/v1/og-image |
| Body | JSON |
| Body Content | { "template": "gradient", "title": "{{ $json.title }}", "description": "{{ $json.description }}" } |
| Response Format | File |
Rate limits and error handling
Add an IF node after the HTTP Request to check {{ $response.statusCode }}:
200→ proceed to next step429→ add a Wait node (60 seconds) and retry4xx→ 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
- Create a free account — no credit card required
- Go to Dashboard → API Keys → Create key
- 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.