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 →