v0.3 — now in public beta

Webhook inspector with a
localhost tunnel.

Point Stripe, Shopify, GitHub, or anything else at a permanent URL. Watch every request stream in live — then tunnel them straight to your laptop for testing.

Free tier · no card Self-hostable MIT licensed
— 01 / FEATURES

Three things webhook.site can't do.

Inspecting requests is the easy part. The hard part is everything else. HookSpy ships with the features you actually need to debug real webhook integrations.

Localhost tunnel

Run one command and every webhook hitting your URL gets forwarded to your dev server. No ngrok, no port-forwarding, no public IP.

$ hookspy tunnel in_xyz localhost:3000

Mock responses

Configure each inbox to return any status, body, or delay. Test your retry logic against a real 503. webhook.site only sends 200.

status: 503 delay: 5000ms

Schema validation

Paste a JSON Schema. Every request gets validated against it and flagged in the dashboard. Catch breaking changes before deploy.

evt_3O7x... · valid
— 02 / HOW IT WORKS

From signup to first webhook in 60 seconds.

No SDK, no library, no agent on your server. Just a URL and a CLI binary.

  1. Create an inbox

    Sign up, click "+ New", and you've got a permanent URL. Each project, each environment, each integration — make as many as you need.

  2. Point your service at it

    Paste the URL into Stripe's webhook config, Shopify's settings, GitHub's repo settings — anywhere that sends webhooks.

  3. Watch them arrive

    Open the dashboard. Every request streams in live with full headers, body, schema status, and timing. Search, filter, replay, copy as curl.

  4. Tunnel to localhost

    Run hookspy tunnel in your terminal and every webhook gets forwarded to your dev server. Set breakpoints, restart freely, replay at will.

Step 01 — Create an inbox
$ hookspy create stripe-test

   Inbox created

    Slug:  in_kp4mxn8wqa
    URL:   https://hooks.app.com/
           i/in_kp4mxn8wqa
# In your Stripe dashboard:
Developers → Webhooks → Add endpoint

URL:     https://hooks.app.com/
         i/in_kp4mxn8wqa
Events:  payment_intent.succeeded
         payment_intent.failed
         charge.refunded
 14:23:18  POST /i/in_kp4...
  stripe  payment_intent.succeeded
  ✓ schema valid  4.2KB

 14:23:25  POST /i/in_kp4...
  stripe  charge.refunded
  ✓ schema valid  3.1KB
$ hookspy tunnel in_kp4mxn8wqa \
    http://localhost:3000/webhooks

   https://hooks.app.com/i/in_kp4...
   http://localhost:3000/webhooks
   Connected.

  14:23:18 POST /webhooks
  ✓ 200 in 47ms
— 03 / PRICING

One price you'll actually pay.

Free for personal projects. Real pricing for teams. No "contact sales," no surprise overages, no per-event metering.

Free
For tinkering and side projects
$0/mo
  • 1 inbox
  • 1,000 requests / day
  • 1 day retention
  • 100 req / minute
  • CLI tunnel
Solo
For one developer, all integrations
$8/mo
  • Unlimited inboxes
  • 50,000 requests / day
  • 7 day retention
  • 500 req / minute
  • Schema validation
Pro
For high-volume production
$79/dev/mo
  • Everything in Team
  • 5M requests / day
  • 90 day retention
  • 10,000 req / minute
  • SSO & audit logs
  • Priority support

Stop debugging
webhooks blind.

Get an inbox in 30 seconds. No card. No commitment.

Get started — free