ngrok
Secure tunneling platform that exposes local servers to the internet with stable domains, request inspection, and OAuth protection. Essential for API and webhook development.
Use Cases
Free Tier
3 online endpoints, 1GB bandwidth, 20K HTTP requests/month, random subdomains
How to Maximize the Free Tier
ngrok's free tier is best used for short-lived development and testing sessions, not always-on production tunnels. The 1GB bandwidth cap goes fast with video or large payloads — keep request bodies small during testing. Use the request inspection UI (dashboard at localhost:4040) to debug webhook payloads without needing logging code. The interstitial warning page can be removed with a paid plan, but for internal testing it's harmless. Pair with a tool like Postman or curl for testing, not a browser, to avoid the warning page overhead. Sessions reset on reconnect, so write your stable domain to an .env file to avoid reconfiguring webhooks every time.
Getting Started
Sign up at ngrok.com → download the agent for your OS → run `ngrok http 3000` to tunnel to your local server → copy the random URL from the terminal → use that URL in webhook configurations → visit localhost:4040 for request inspection. For stable subdomains: create a free account and configure via dashboard.
Pros
- Request inspection: Built-in web UI at localhost:4040 shows every request/response in real time — invaluable for debugging webhooks
- Cross-platform: Native clients for macOS, Windows, Linux, Docker, and Kubernetes — works wherever you develop
- Security features: Free tier includes OAuth protection and IP restrictions for securing tunnel endpoints
Cons
- Interstitial page: Free endpoints show a warning page to visitors — requires clicking through before reaching your app
- Bandwidth cap: 1GB monthly bandwidth is restrictive for data-heavy APIs or streaming use cases
- Session resets: Random URLs change on every reconnect — requires reconfiguring webhook endpoints each time