⇲ CanHook
Features Pricing Docs FAQ Blog Log in Get started free
● Free webhook inspector + paid relay pipeline

Catch, inspect, and relay webhooks in seconds.

CanHook is a developer tool to catch, inspect, and relay webhooks: instant catch URLs with a live payload inspector, plus a paid relay pipeline that transforms and forwards webhooks to multiple destinations with retries.

No credit card required · Free tier forever

terminal
$ curl -X POST https://canhook.com/h/YOUR_TOKEN \
-H "Content-Type: application/json" \
-d '{"event":"order.created","id":123}'
← captured instantly · view it live in your dashboard
POSTapplication/json · 34 B · just now

How does CanHook work?

Three steps from zero to inspecting live webhooks.

1

Create a catch URL

Generate a unique endpoint like /h/abc123. It accepts any HTTP method — GET, POST, PUT, anything.

2

Point your service at it

Set your webhook URL in Stripe, GitHub, Shopify, or any service to your CanHook catch URL.

3

Inspect & relay

Watch requests arrive live. Inspect payloads, replay them, and forward to your real endpoints with transforms.

Everything you need to debug webhooks

✓Instant webhook catch URLs
✓Live payload inspector with syntax highlighting
✓Full request capture (headers, body, query, source IP)
✓Replay captured webhooks to any URL
✓Search and filter over request history
✓Webhook relay & forwarding to multiple destinations
✓Payload transforms (template, filter, passthrough)
✓Automatic retries with delivery logs
✓SSRF-protected destinations

Simple, honest pricing

Start free. Upgrade when you need relay and higher limits.

Free
$0/mo
  • 2 endpoints
  • 100 requests/endpoint
  • 1-day retention
  • Inspector only
Start free
MOST POPULAR
Pro
$9/mo
  • 20 endpoints
  • 5,000 requests/endpoint
  • 7-day retention
  • 5 relay rules
Choose Pro
Business
$29/mo
  • 100 endpoints
  • 50,000 requests/endpoint
  • 30-day retention
  • Unlimited relay rules
Choose Business

See full plan comparison →

People also ask

Common questions about webhook testing and CanHook.

A webhook catcher URL is a unique endpoint (like https://canhook.com/h/abc123) that accepts any incoming HTTP request and records it so you can inspect exactly what a service sent — headers, body, method, and more — without writing any server code.
Create a free CanHook endpoint, point the sending service at your catch URL, and every request appears in a live dashboard where you can view the pretty-printed JSON, raw body, headers, and query string, then replay or search them.
Set your Stripe webhook endpoint to your CanHook catch URL, trigger a test event from the Stripe dashboard, and CanHook captures the full signed payload so you can inspect the event structure before wiring it into your app.
On a paid plan, add relay rules to an endpoint. Each rule forwards the captured webhook to a destination URL, optionally transforming the payload, with automatic retries and per-destination delivery logs — so one inbound webhook fans out to many services.
Point the service at a CanHook catch URL. If requests appear in CanHook but not your app, the problem is downstream; if nothing appears, the sender isn't delivering — CanHook isolates exactly where the webhook is being lost.
Yes — CanHook's free tier gives you catch URLs, a live payload inspector, request history, and replay at no cost, with no credit card required.

Start catching webhooks now

Free forever tier. Get a catch URL in seconds and see exactly what your webhooks are sending.

Create your free account →