Naptown Labs

Webhook Debugging
Made Instant

Capture, inspect, replay, and forward webhooks in real time. Zero signup required. Every feature Webhook.site charges for — free.

snag.harmjoy.us
5
DB Tables
RT
Socket.io Streaming
0
Signup Required
25/27
Tests Passing
Everything you need to debug webhooks

The free Webhook.site alternative built for developers who want replay, forwarding, and real-time streaming without paying $9–69/mo.

Real-Time Capture

Every incoming webhook streams to your dashboard instantly via Socket.io. See method, headers, body, query params, and source IP the moment they arrive.

🔄

Replay Requests

Replay any captured webhook to an arbitrary URL. Full response logging with status code, headers, body, and round-trip duration.

📨

Auto-Forwarding

Set a forward URL on any endpoint. Incoming webhooks are automatically proxied to your target with optional header forwarding. Fire-and-forget, logged in forward_log.

🔧

Custom Responses

Configure the status code and response body your endpoint returns. Test how webhook senders handle 200, 400, 500, or any status you need.

🔒

Zero-Signup Auth

No account needed. An httpOnly cookie (snag_owner, 30-day) auto-assigns ownership. API access via Bearer secret_token for automation.

📋

cURL Export & Search

Export any captured request as a cURL command. Filter requests by HTTP method. Full header and body inspection for every webhook.

How it works under the hood

Node.js + Express 5 + Socket.io on a single VPS. SQLite for zero-ops persistence.

Sender
POST /w/:slug
Express 5
Raw Body Capture
SQLite (WAL)
better-sqlite3
Socket.io
Real-Time Push
Forward
Async Proxy
Replay
On-Demand Resend
Cleanup
15min Interval
Deploy
PM2 + Caddy
// Webhook receiver — captures ALL methods on /w/:slug/{*subpath} app.use('/w', express.raw({ type: '*/*', limit: '1mb', verify: (req, _res, buf) => { req.rawBody = buf; }, })); // Socket.io auth — parse httpOnly cookie from handshake headers io.on('connection', (socket) => { const cookies = parseCookies(socket.handshake.headers.cookie); const ownerToken = cookies.snag_owner; // Validate ownership before joining endpoint room }); // Rate limits: 120 req/slug/min (webhooks), 10 creations/IP/hour
Generous free tier, simple Pro upgrade

Every feature is available on Free. Pro just raises the limits.

Free
$0
  • 3 endpoints
  • 48-hour retention
  • 500 requests per endpoint
  • 256KB body limit
  • Real-time streaming
  • Replay + Forward + cURL
  • Custom responses
Pro Lifetime
$35 once
  • All Pro features
  • 1,000 endpoints
  • 30-day retention
  • 50,000 requests per endpoint
  • 1MB body limit
  • One-time payment, forever
Simple stack, zero dependencies on cloud services

One VPS, one process, one database file. Deploys in seconds via tar+SCP.

Node.js + Express 5
API Server + Routing
🔌
Socket.io
Real-Time WebSocket Push
🗃
better-sqlite3
SQLite (WAL Mode)
🛡
Helmet
Security Headers + CSP
💰
Stripe
Checkout + Portal + Webhooks
🎨
Vanilla JS (IIFE)
SPA Frontend, No Framework
Hetzner VPS
Hosting (PM2 + Caddy)
📄
Pino
Structured JSON Logging

Ready to try it?