Automate website screenshots and page monitoring with n8n
n8n is the fastest way to glue web services together — but the moment a workflow needs to actually see a web page (screenshot it, read its content, watch it for changes), you’re stuck maintaining a headless browser. The n8n-nodes-ottersnap community node drops that whole problem behind one node.
Install
In n8n: Settings → Community nodes → Install, then enter:
n8n-nodes-ottersnap
Self-hosting? cd ~/.n8n/nodes && npm install n8n-nodes-ottersnap and restart.
Create the OtterSnap API credential with your key — free at ottersnap.com/#getkey (100 renders/month, no credit card).
Workflow 1 — daily visual report
- Schedule Trigger — every morning.
- OtterSnap → Screenshot — your dashboard URL, full page, PNG.
- Telegram / Slack / Email — send the binary file.
You get a pixel-perfect PNG in chat before your coffee is done. Add darkMode or the iPhone 15 preset to also keep an eye on how the page looks on mobile.
Workflow 2 — page changed → alert
The killer combo. In n8n, add a Webhook trigger node and copy its production URL. Then one OtterSnap → Watch: Create node:
- URL:
https://competitor.com/pricing - Interval:
60minutes - Webhook URL: the n8n webhook trigger URL you copied
Now the flow runs itself: OtterSnap re-renders the page on schedule, and every time the content changes it POSTs a signed payload into your workflow — where you branch on new_hash, format a message, and alert Discord/Slack/email. No polling nodes, no cron spaghetti.
Workflow 3 — extract → spreadsheet
- OtterSnap → Extract Page — a listing or blog page, JSON output.
- Code / Set — pick the fields you need (title, headings, links).
- Google Sheets — append a row.
Structured extraction runs in a real browser, so JavaScript-heavy pages that break plain-HTTP scrapers work fine here.
What it costs
Every render or check consumes 1 credit. The free plan includes 100/month; Starter ($19/mo) is 5,000 and Growth ($49/mo) is 25,000 — see pricing. All operations and parameters are documented in the API docs, and you can try every endpoint without a key in the playground.