A high-performance Apify Actor that empowers developers to test, inspect, and automate incoming webhooks in real-time without running localhost or complex tunneling tools. This innovative tool is optimized for Apify Standby Mode, providing sub-10ms logic execution and zero cold-start latency.
Interactive Demos
Run the following command while the Actor is active to see real-time streaming:
# Make sure the Actor is running locally on port 8080
npm start
# If authKey is configured, run with:
# AUTH_KEY=your-secret node demo_cli.js
node demo_cli.js
Test and Inspect Webhooks Instantly
With the Webhook Debugger, you can test and inspect webhooks instantly without running localhost or complex tunneling tools. Perfect for debugging Stripe, GitHub, Shopify, or any service.
Custom Deployments
You can run this Actor anywhere—on your local machine, VPS, or internal cloud—without an Apify account. It works as a standard Node.js application.
# Option A: Run via npx (Zero Install)
npx webhook-debugger-logger
# Option B: Clone & Install
git clone https://github.com/ar27111994/webhook-debugger-logger.git
cd webhook-debugger-logger
npm install
npm start
Note that when running via npx or npm start for the first time, the Actor will automatically generate a configuration file at storage/key_value_stores/default/INPUT.json. You can edit this file to change settings (like urlCount) in real-time!
Custom Deployments: Configure the Actor
For custom deployments, you can configure the Actor via environment variables or JSON input:
# Example: 5 URLs, 72h retention, 100MB payload limit
INPUT='{"urlCount": 5, "retentionHours": 72, "maxPayloadSize": 104857600}' npm start
Real-Time Configuration Changes
When running locally or self-hosted, you are not bound by the UI constraints of the Apify Platform:
- URL Count: Create 100+ webhooks (vs Platform UI limits) if your self-hosted instance has enough resources.
- Retention: Keep data for 365 days ("retentionHours": 8760). Fully configurable. - Payloads: Parse up to 100MB payloads (default 10MB) by setting maxPayloadSize. - Rate Limit: Fully configurable (e.g., 10,000+ per min) for management endpoints (/logs, /info, /replay). Applied per client IP.
Hot-Reload
To change settings while running (e.g., enable debug logging), simply edit storage/key_value_stores/default/INPUT.json. The Actor polls for changes every 5 seconds and applies them automatically.
Retention is Activity-Based
Important! Retention is activity-based: the expiration timer resets whenever the Actor is active (restarts/hot-reloads). This ensures your webhooks don't expire mid-debugging session. They only expire if you abandon the Actor for the full duration.
API Mocking and Workflow Tool
Webhook Debugger generates temporary webhook URLs and logs every incoming request with full details (headers, body, query params). Perfect for testing webhook integrations from Stripe, GitHub, Shopify, or any service.
- Stripe & PayPal Debugging: Mock successful or failed payment responses to test your order fulfillment logic.
- GitHub CD/CI Testing: Verify complex payloads from CI/CD triggers without waiting for real builds.
- Shopify Webhook Relay: Securely forward Shopify hooks to your local development environment.
- n8n & Zapier Buffer: Acts as a high-performance validator for your automation workflows.
Pre-Configured Setup Guides
Stop building generic tools and start solving real problems. Use these pre-configured setup guides for your specific tech stack:
- 💳 Stripe Hardening Pack: Verify signatures, inspect payloads, and replay payment events safely.
- 🛍️ Shopify Launch Pack: Bridge Shopify webhooks to your local machine with 72h retention for high-traffic windows.
- 💬 Slack & Messaging: Test complex message blocks and interactive components.
- 💰 Revenue Recovery: Recover missed payments and reconcile Stripe/Shopify orders during high-burst launches.
- 🌉 Low-Code Bridge: Optimize Zapier and Make (Integromat) costs by using the Actor as a smart pre-filter.
- 📑 Legacy Migration: Safely compare raw payloads side-by-side when upgrading API versions or switching providers.
Debugging Webhooks
Debugging webhooks is painful:
- ❌ Can't see what data services send
- ❌ No way to inspect payloads
- ❌ Localhost tunneling is complicated (ngrok, etc.)
- ❌ Failed webhook tests require service reconfiguration
Run the Webhook Debugger and get:
- 3 unique webhook URLs
- Configure service to send to those URLs
- See all requests in real-time
- Export logs as JSON/CSV
No setup required. No localhost tunneling. Takes 30 seconds.
| Feature | Description |
|---|---|
| URL Generation | Generate 1-10 temporary webhook URLs (Unlimited for self-hosted) |
| Request Logging | Capture ALL incoming requests (GET, POST, etc.) |
| Full Details | Headers, body, query params, IP, timing |
| Multi-Format | Handles JSON, Text, XML, and Form Data |
| URL Expiry | Webhook URLs expire automatically (configurable 1-72h, or Unlimited self-hosted) |
| Hot-Reloading | Configuration changes apply instantly without restarts (v2.7) |
| Export | Download logs as JSON or CSV from dataset |
Enterprise Update
The Enterprise Update transforms this Actor into a professional API mocking and workflow tool.
- API Key Auth: Require a secret token for every incoming webhook.
- IP Whitelisting: Lock down your endpoints to specific IPs or CIDR ranges.
- Rate Limiting (v2.6): Protect your management endpoints (/logs, /info, /replay) with configurable per-IP rate limits. - Sensitive Data Masking (v2.6): Automatically redact known sensitive headers like Authorization and Cookie from your logs. - SSRF Protection (v2.8): Enterprise-grade Server-Side Request Forgery protection prevents your Actor from being used to scan internal networks (localhost, 10.x.x.x, etc.) during forwarding or replay.
Updates to the following settings are applied immediately without restarting the Actor:
authKey
maxPayloadSize
customScript
rateLimit