Create a capture URL in one click. Point any webhook or HTTP client at it and watch requests arrive live — full headers, body, query params. Copy any capture as curl, fetch, Python, or HTTPie. Replay it. Configure the response. Free, no limits that hurt.
No signup needed. Sign up free for 30-day history & permanent bins. Coming from webhook.site? See the comparison.
Requests appear in the dashboard within seconds. No refresh needed.
Re-send any capture to your real endpoint, or auto-forward everything live — inspect webhooks without taking them offline.
Set the status code, body, and even a response delay (up to 10s) — test failure paths, timeouts and retries. Template vars like {{body.challenge}} echo the request back, so your bin passes Slack/Zoom-style URL verification.
1,000 requests per bin, 30-day retention and custom URL slugs (/h/my-stripe-dev) with a free account. Anonymous bins last 24h.
Add your webhook secret and every request gets a ✓/✗ badge — GitHub, Stripe, or any HMAC-SHA256 signature.
Create bins and fetch captures with plain curl. Copy any capture as curl, fetch (JS), Python, or HTTPie code. Great for CI and scripts.
./catchhook relay re-delivers captures to your local server — original path, headers and byte-identical body, signatures intact. No tunnel, no ngrok. How →
Live-filter captures, or pick any two and see a colorized line diff of headers and body — spot exactly what changed between deliveries.
Bin URLs are unguessable. Delete everything anytime.
$ curl https://catchhook.catchhook.workers.dev/new
bin created
send requests to: https://catchhook.catchhook.workers.dev/h/k3x9w2m4qa
inspect live at: https://catchhook.catchhook.workers.dev/b/k3x9w2m4qa
JSON API: https://catchhook.catchhook.workers.dev/api/bins/k3x9w2m4qa/requests
$ curl -X POST https://catchhook.catchhook.workers.dev/h/k3x9w2m4qa -d '{"hello":"world"}' -H 'content-type: application/json'
Prefer to stay in the terminal? curl -s https://catchhook.catchhook.workers.dev/cli -o catchhook && chmod +x catchhook — then ./catchhook tail k3x9w2m4qa live-streams captures right into your shell, and ./catchhook relay k3x9w2m4qa http://localhost:3000 re-delivers them to your local server — no tunnel. CLI docs →