Help CenterWebhooks
Advanced feature

Webhooks

Get real-time notifications when things happen in URLPixel. Perfect for automation, monitoring, and integrating URLPixel into your existing workflows.

What are webhooks? (The simple explanation)

🔔 Think of webhooks like push notifications for your apps

  • When something happens in URLPixel, we instantly notify your app
  • No need to constantly check - we’ll tell you when it’s ready
  • Perfect for connecting URLPixel to other tools and services

Screenshot created → Instant notification → Your app responds

Blog Automation

Automatically add new screenshots to your blog posts or portfolio

Screenshot created → Add to CMS

Team Notifications

Alert your team in Slack when screenshots are ready or limits approached

Usage warning → Slack notification

Backup & Archive

Automatically save screenshots to your cloud storage or database

Screenshot created → Save to AWS S3

What events can you listen for?

Screenshot Events

screenshot.createdPopular

New screenshot successfully generated

screenshot.failedPopular

Screenshot generation failed

Usage Events

usage.warningPopular

Approaching limits (80% or 90% usage)

usage.exceeded

Monthly screenshot quota reached

Site Management

site.created

New site added to account

site.updated

Site information modified

site.deleted

Site removed from account

Try creating a webhook

Create Your First Webhook

Try creating a webhook endpoint

Give it a name to remember what it’s for

Where URLPixel should send notifications

Screenshot CreatedPopular

When a new screenshot is successfully generated

Screenshot FailedPopular

When screenshot generation fails

Usage WarningPopular

When approaching monthly limits (80%, 90%)

Usage Exceeded

When monthly screenshot quota is reached

Site Created

When a new site is added

Site Updated

When site information is modified

Site Deleted

When a site is removed

Security & reliability

Built-in security

  • HMAC SHA-256 signatures - Verify events actually came from URLPixel
  • Secret keys - Each webhook gets a unique secret for signature verification
  • HTTPS only - All webhook deliveries use secure connections
  • Auto-disable - Failing endpoints are automatically disabled after 10 failures

Reliable delivery

  • 5 retry attempts - Exponential backoff over 12 hours
  • Delivery tracking - See exactly when events were sent
  • Test endpoints - Verify your webhook before going live
  • Plan-based limits - 2-10 webhooks depending on your plan

Example webhook receiver

webhook-receiver.js
const crypto = require('crypto');
const express = require('express');
const app = express();

app.post('/webhooks/urlpixel', 
  express.raw({type: 'application/json'}), 
  (req, res) => {
    
  // Verify the signature
  const signature = req.headers['x-urlpixel-signature'];
  const expectedSignature = crypto
    .createHmac('sha256', process.env.WEBHOOK_SECRET)
    .update(req.body, 'utf8')
    .digest('hex');
  
  if (signature !== `sha256=${expectedSignature}`) {
    return res.status(401).send('Invalid signature');
  }
  
  // Handle the event
  const event = JSON.parse(req.body);
  const eventType = req.headers['x-urlpixel-event'];
  
  switch (eventType) {
    case 'screenshot.created':
      console.log('New screenshot:', event.data.url);
      // Add to your CMS, send notification, etc.
      break;
      
    case 'usage.warning':
      console.log('Usage warning:', event.data.percentage);
      // Consider upgrading plan, notify team, etc.
      break;
  }
  
  res.status(200).send('OK');
});

Ready to get started?

1

Set up your endpoint

Create a URL on your server that can receive POST requests

2

Create your webhook

Use our dashboard or API to register your endpoint with URLPixel

3

Test it works

Send a test event to make sure your endpoint receives and processes it correctly

4

Go live!

Start receiving real events and automate your workflows

Webhook limits by plan

Free

$0
2 webhooks

Hobby

$5
2 webhooks

Creator

$15
5 webhooks

Business

$39
10 webhooks