Hooklistener vs ngrok for webhook development
ngrok is a general-purpose tunnel: it puts any local HTTP, TCP or TLS service on a public URL. Hooklistener is a webhook debugger: a hosted URL that stores every request, a CLI that forwards it to localhost, and replay, signature checks and an MCP server on top. Use ngrok to expose an app; use Hooklistener when the traffic is webhooks you need to inspect and reproduce.
We make Hooklistener, so read this with that in mind. ngrok is a good tool and for plenty of jobs it's the right one; the section after the table says which. Every ngrok cell comes from ngrok's own pricing page or docs.
Hooklistener vs ngrok: feature comparison
Competitor cells checked against ngrok's own pages in September 2026; sources below.
| Capability | Hooklistener | ngrok |
|---|---|---|
| What it is | A webhook debugger: hosted endpoints that store every request, a CLI that tunnels or forwards to localhost, replay and signature tools. | A general-purpose ingress tool: puts local HTTP, TCP and TLS services on a public endpoint, with Traffic Policy rules at the edge. |
| Free tier | 1 hosted endpoint, 50 stored requests, 1-day history, 1 CLI tunnel at a time, MCP server. | 1 GB transfer, 20,000 HTTP requests/mo, up to 3 endpoints; interstitial page on HTTP endpoints. |
| Stable URL | The hosted endpoint URL never changes, on any plan. CLI tunnels get a random hook.events subdomain on Free; static tunnels start on Pro. | 1 static dev domain on Free. |
| Webhooks that arrive while you're offline | Captured by the hosted endpoint whether or not the CLI is running. A static tunnel can buffer requests and replay them when the CLI reconnects. | An agent endpoint only answers while the ngrok agent is running on your machine. |
| Request history | Stored in the cloud and searchable: 1 day on Free, 14 on Pro, 30 on Production, 90 on Scale. | Traffic Inspector with 24-hour retention on Free; full bodies need the opt-in Full Capture mode. |
| Replay | To localhost or any URL, with an edited body; saved replay suites. Replay starts on Pro. | Yes, requires Full Capture (opt-in). |
| Webhook signatures | Verify Stripe, GitHub and Slack signatures; re-sign on replay so your handler's check still passes (secrets on paid plans). | verify-webhook Traffic Policy action, 80 providers listed. |
| Protocols | The CLI tunnel forwards HTTP only, no WebSocket upgrades. Hosted WebSocket, Socket.IO, MQTT-over-WebSocket and SSE endpoints are separate. | HTTP(S) including WebSockets, plus TCP and TLS endpoints. |
| AI agents / MCP | Hosted MCP server with OAuth and 67 tools: create endpoints, wait for a webhook, verify it, replay it to localhost. On every plan. | MCP server searches ngrok's documentation only. |
| Open source | CLI (MIT); the service is hosted. | SDKs (MIT). |
| First paid tier | Pro $12/mo ($9/mo billed yearly): static tunnel, 25,000 requests/mo, 14-day history, replay. | Hobbyist $10/mo. |
When to choose each
Choose ngrok when
- You're exposing something other than a webhook receiver: a web app demo, an API for a mobile build, a device on your network.
- You need TCP or TLS tunnels, for SSH, databases or game servers. Hooklistener's tunnel is HTTP only.
- Traffic through the tunnel includes WebSockets. Hooklistener's CLI tunnel doesn't pass WebSocket upgrades.
- You want rules at the edge before traffic reaches you: ngrok's Traffic Policy can verify webhooks from 80 listed providers, add authentication or rewrite requests.
- You only see the odd webhook and 24 hours in the Traffic Inspector is enough history.
Choose Hooklistener when
- Stripe, GitHub or Shopify should get one URL you configure once and never edit again, whatever port you run on today.
- Webhooks arrive when your server isn't running: provider retries, scheduled events, a laptop that's closed. The hosted endpoint keeps them.
- You need to reproduce a failure: replay the exact request, change the body, and re-sign it for Stripe, GitHub or Slack.
- Claude Code, Codex or Cursor is writing the handler and needs to wait for a real webhook and replay it, through a hosted MCP server.
- A small team needs shared history: Production is $49/mo for 5 seats with shared workspaces and 30-day retention.
They don't conflict. You can keep ngrok for exposing apps and services, and give webhook providers a Hooklistener endpoint so every delivery is stored and replayable.
FAQ
Is Hooklistener a replacement for ngrok?
What is the Hooklistener equivalent of ngrok http 3000?
Does ngrok keep webhook history?
Is Hooklistener free like ngrok?
Which one verifies Stripe and GitHub webhook signatures?
Which works better with Claude Code, Codex or Cursor?
Last updated
Sources, checked September 2026
- ngrok pricing
- ngrok Traffic Inspector
- ngrok Traffic Policy
- ngrok verify-webhook action
- ngrok llms.txt (MCP server)
- ngrok on GitHub
- Hooklistener pricing
- Hooklistener CLI tunnel
Related comparisons
Route one real webhook through Hooklistener
The Free plan gives you a hosted endpoint, a day of history, one CLI tunnel and the MCP server. Point a provider at it and see whether it fits.