> ## Documentation Index
> Fetch the complete documentation index at: https://ngrok.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Free Plan Limits

> Learn about the limits and restrictions enforced on the free ngrok for developers plan including endpoint limits and usage quotas.

Learn about the limits and resources included with the free ngrok for developers plan.

<Note>
  Free endpoints have no timeout—they can stay online indefinitely.
  To keep one running unattended, run it as a [background service](/docs/agent/#background-service).
</Note>

<Tip>
  See [Pricing and Limits](https://ngrok.com/pricing?ref=docs) to learn how to increase or remove these limits.
</Tip>

## Plan limits and resources

The free plan groups its limits into three kinds: **monthly usage quotas** that reset each billing cycle, **rate limits** that cap sustained throughput at any moment, and **concurrency and account limits** that apply at all times.

**Monthly usage quotas:** these reset at the start of each monthly billing cycle.

| Resource                            | Limit on Free  |
| ----------------------------------- | -------------- |
| Data transfer out                   | 1 GB / month   |
| HTTP requests                       | 20,000 / month |
| TCP connections                     | 5,000 / month  |
| Logs & events                       | 10,000 / month |
| Webhook verifications               | 500 / month    |
| Traffic identities (OAuth/OIDC MAU) | 3 / month      |

**Rate limits:** the maximum sustained throughput at any moment, separate from the monthly quotas above.

| Resource            | Limit on Free |
| ------------------- | ------------- |
| HTTP request rate   | 4,000 / min   |
| TCP connection rate | 100 / min     |

**Concurrency and account limits:** these apply at all times, not per month.

| Resource                          | Limit on Free |
| --------------------------------- | ------------- |
| Online endpoints                  | Up to 3       |
| Concurrent agents                 | 3             |
| Users                             | 1             |
| Development domains               | 1             |
| Traffic policy rules (per policy) | 5             |
| TLS endpoints                     | Not available |

<Note>
  Free plans include HTTPS endpoints with automatic TLS certificates and encryption. The **TLS endpoints** row above refers to [raw TLS endpoints](/docs/endpoints/tls/) that you terminate yourself, which require a paid plan.
</Note>

Features included for free on all plans:

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

<Note>
  You can check your current usage against these limits [in the Usage page in the dashboard](https://dashboard.ngrok.com/usage).
</Note>

## Domains

The free plan includes one automatically assigned **dev domain** (for example, `your-assigned-name.ngrok-free.app`) tied to your account. You can point up to 3 online endpoints at it:

```bash theme={null}
ngrok http 8080
```

The dev domain is the only domain available on the free plan. Upgrading to a [paid plan](https://ngrok.com/pricing?ref=docs-domain-limits) unlocks:

* **Custom domain names** for example, `--url https://my-custom-name.ngrok.app`
* **Reserved static domains** you control
* **Randomly generated URLs** for example, `--url 'https://'`
* **Your own domains** for example, `app.yourdomain.com`
* **Wildcard domains**

## Increasing your limits

If you hit a limit or run out of credit, [upgrade to a plan with higher limits](https://ngrok.com/pricing?ref=docs). Choose **Pay-as-you-go** if you want your endpoints to always stay online and available.

See [Pricing and Limits](/docs/pricing-limits) for the full plan comparison.

## Removing the interstitial page

To deter [phishing attacks](https://en.wikipedia.org/wiki/Phishing), ngrok shows an [interstitial page](https://ngrok.com/blog-post/fighting-abuse-on-the-ngrok-platform) in front of all HTML browser traffic on the free tier.

* It tells visitors the site is served by ngrok.
* When the visitor clicks **Visit** to continue, a cookie suppresses the interstitial for that domain for 7 days.

<Note>
  This does not impact users serving APIs or accessing ngrok endpoints programmatically.
</Note>

You can remove the interstitial by upgrading to [any paid plan](https://ngrok.com/pricing?ref=docs-interstitial-removal) 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.

<Tabs>
  <Tab title="Axios">
    ```js theme={null}
    axios.get(url, { 'headers': { 'ngrok-skip-browser-warning': '1' } })
      .then((response => {
        console.log(response.data);
      })
      .catch((error) => {
        console.log(error);
      });
    ```
  </Tab>

  <Tab title="Fetch">
    ```js theme={null}
    const response = await fetch(URL, {
      headers: {
        "ngrok-skip-browser-warning": "1",
      },
      // ...
    });
    ```
  </Tab>

  <Tab title="Super Agent">
    ```js theme={null}
    request
          .get('/endpoint')
          .set('ngrok-skip-browser-warning', '1')
          .then(callback);
    ```
  </Tab>

  <Tab title="jQuery">
    ```js theme={null}
    $.ajax({
      url: '/endpoint',
      headers: { 'ngrok-skip-browser-warning': '1' },
    }).then(callback);
    ```
  </Tab>
</Tabs>

### Using a custom user agent

Change your user agent by setting [the `User-Agent` header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) 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's an [example for Chrome](https://chromewebstore.google.com/detail/requestly-intercept-modif/mdnleldcmiljblolnjhpnblkcekpdkpa?hl=en-US).
</Tip>
