Skip to main content

Free Plan Limits

Learn about the limits enforced in the free ngrok for developers plan.

tip

See Pricing and Limits to learn how to increase or remove these limits.

Limits and licensing

ResourceLimit on FreeLimit on Development PlansLimit on Production Plans
Data Transfer Out1 GBSee pricingSee pricing
Endpoints1See pricingSee pricing
Requests20,000No limit100,000 then usage-based
TCP Connections5,000No limit10,000 then usage-based
TLS Connections5,000No limit10,000 then usage-based
note

You can check your usage in the Usage page in the dashboard.

Free plan resources

ResourceLimit on Free
Users1
Active Endpoints1
ngrok static domain1
Tunnels per agentup to 3
Bandwidth1 GB Outgoing/month
TCP Connection Rate120/min
Agents1
Edges1
Logs/EventsUp to 10,000 per month
OAuth/OIDC MAUUp to 5 per month
HTTP RequestsUp to 20,000/month
TCP ConnectionsUp to 5,000/month
TLS ConnectionsUp to 5,000/month
Webhook verificationsUp to 500/month

Features included for free on all plans:

  • HTTPS Tunnels
  • HTTPS Edges
  • Web Inspection Agent
  • Replay Requests
  • ngrok SDKs
  • ngrok Kubernetes Operator
  • Remote Agent Management
  • Circuit Breaking
  • Automatic Certificates and Encryption
  • Email Support

Increasing your limits

If you run into a limit, you can:

See the Pricing and Limits page for more information.

Removing the interstitial page

To prevent bad actors from using ngrok to execute phishing attacks, ngrok injects an interstitial page in front of all HTML browser traffic on the free tier.

  • This page informs visitors that they're accessing a site served by ngrok.
  • Once the visitor selects the "Visit" button to continue to the site, a cookie is set which prevents the interstitial from appearing for that domain for 7 days.
note

This does not impact users serving APIs or accessing ngrok endpoints programmatically.

You can remove the interstitial by upgrading to any paid plan or using one of the following methods.

Using headers

From the client accessing the ngrok endpoint, add a header value of ngrok-skip-browser-warning and set it to any value. These requests will bypass the interstitial.

Loading…

Using a custom user agent

Change your user agent by setting the User-Agent header to something non-standard to bypass the warning, such as MyApp/0.0.1.

tip

You can also use a browser extension to customize your browser's user agent value. Here is an example for Chrome.