Hooklistener vs ngrok

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.

Hooklistener vs ngrok, compared as of September 2026
CapabilityHooklistenerngrok
What it isA 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 tier1 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 URLThe 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 offlineCaptured 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 historyStored 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.
ReplayTo localhost or any URL, with an edited body; saved replay suites. Replay starts on Pro.Yes, requires Full Capture (opt-in).
Webhook signaturesVerify 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.
ProtocolsThe 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 / MCPHosted 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 sourceCLI (MIT); the service is hosted.SDKs (MIT).
First paid tierPro $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?
For webhook development, yes: it gives the provider a hosted URL that stores every request, forwards it to localhost with the CLI, and lets you replay it. For general tunneling (TCP or TLS services, WebSockets, exposing a whole app) it isn't; keep ngrok or another general-purpose tunnel for that.
What is the Hooklistener equivalent of ngrok http 3000?
hooklistener tunnel --port 3000 gives your local server a public URL. For webhooks, hooklistener listen <endpoint-slug> --target http://localhost:3000/webhooks is usually better: the provider talks to a hosted endpoint that never changes, and requests that arrive while you're offline are still captured. Install the CLI with brew tap hooklistener/tap && brew install hooklistener, or npm i -g hooklistener, then run hooklistener login.
Does ngrok keep webhook history?
ngrok's Traffic Inspector keeps 24 hours of traffic on the Free plan, and full request bodies and replay need the opt-in Full Capture mode (as of September 2026). Hooklistener stores requests in the cloud for 1 day on Free and up to 90 days on Scale.
Is Hooklistener free like ngrok?
Both have free plans. ngrok Free includes 1 GB of transfer, 20,000 HTTP requests a month and one static dev domain. Hooklistener Free includes one hosted endpoint with 50 stored requests and a day of history, one CLI tunnel at a time on a random subdomain, and the MCP server. Hooklistener Pro is $12/month; ngrok Hobbyist is $10/month.
Which one verifies Stripe and GitHub webhook signatures?
Both, differently. ngrok's verify-webhook Traffic Policy action checks signatures at the edge for 80 listed providers. Hooklistener verifies Stripe, GitHub and Slack signatures against a stored secret and can re-sign a replayed request so your own handler's check still passes.
Which works better with Claude Code, Codex or Cursor?
Hooklistener's hosted MCP server has 67 tools, so an agent can create an endpoint, wait for the next webhook, verify it and replay it to your local listener. ngrok's MCP server searches ngrok's documentation; tunnels are opened with the ngrok agent CLI.

Last updated

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.