Webhook Testing

How to Capture Webhooks Without Webhook.site

Capture and inspect webhook payloads without Webhook.site. Use a persistent webhook catcher URL, inspect headers, and replay events to localhost.

August 15, 2026 · 8 min read · MockFlow Team

Why Leave Webhook.site?

Webhook.site is the default paste-a-URL tool in a lot of SaaS docs. It is fast. It is also easy to outgrow: temporary URLs expire, there is no replay to your real server, and there is no mock API next to the inspector.

If you searched for a webhook.site alternative, you probably need a webhook catcher that stays up, shows the full payload (including signatures), and lets you re-send the event without clicking “Send test webhook” again.

The Capture Workflow

  1. Create a free MockFlow account and a Request Catcher.
  2. Copy the public HTTPS URL.
  3. Paste it into the provider’s webhook settings.
  4. Trigger a test event and inspect headers, body, query, and IP.
  5. Replay the captured request to localhost or staging.

That is the whole webhook catcher loop. You do not need ngrok for the capture step, because MockFlow already has a public URL. Use replay when you want the payload on your machine.

Stripe and GitHub

For Stripe, add the catcher as an endpoint in Developers → Webhooks, or run stripe listen --forward-to https://api.mockflow.io/…. Inspect Stripe-Signature before you write verification code.

For GitHub, set the catcher as the webhook URL on a repo or organization. Push an empty commit or use “Redeliver” after you have captured one payload.

FAQ

Can I keep using Webhook.site for one-off tests?

Yes. Switch when you need persistence, replay, or a workspace you will open again tomorrow.

Where do I start?

Create a free account, then a Request Catcher. The product page walks through the first cURL request.

Capture webhooks on a URL that does not expire

Free webhook catcher with inspection and replay. No credit card.