You're integrating a service that sends webhooks — GitHub, Stripe, Shopify, Twilio, a payment provider, an internal system — and you need to see exactly what it sends before you write a line of handler code. The fastest way is to point the webhook at a capture URL and watch the requests arrive.
Click the button at the bottom of this page, or from a terminal:
$ curl https://catchhook.catchhook.workers.dev/new
You get two URLs: one to send webhooks to (/h/…) and one to
watch them arrive (/b/…). No account required.
Paste the /h/… URL into the service's webhook settings (GitHub repo →
Settings → Webhooks, Stripe dashboard → Developers → Webhooks, etc.), or just curl it
yourself to try it out:
$ curl -X POST https://catchhook.catchhook.workers.dev/h/YOUR_BIN -H 'content-type: application/json' -d '{"event":"ping"}'
Open the dashboard URL. Every request shows up live within a couple of seconds — method, path, query params, all headers, and the body (JSON pretty-printed, forms decoded). From there you can:
Most webhook senders retry on non-2xx responses. In your bin's settings, set the response
status to 500 and watch how (and when) the service retries. Set a 10-second
response delay to see what its timeout policy is. Then flip back to 200.
$ curl -s https://catchhook.catchhook.workers.dev/cli -o catchhook && chmod +x catchhook $ ./catchhook tail YOUR_BIN # live-streams captures into your shell
No signup needed. Or from your terminal: curl https://catchhook.catchhook.workers.dev/new