Skip to main content
The services you need to reach are not always reachable. They sit behind a corporate firewall, on a device you shipped to a customer, inside a private cluster, or on a laptop that joins a different network twice a day. None of them can accept an inbound connection, and giving them one usually means a VPN, a port forward, or a public IP address you would rather not hand out. The ngrok agent reverses the direction instead. You run it next to your service, it dials out to ngrok’s network over TLS, and traffic addressed to your endpoint travels back down that same connection. Your service stays exactly where it is, and nothing about its network has to change.

When you need an agent

Run an agent whenever the thing receiving traffic cannot be reached from ngrok’s network on its own:
  • Behind NAT or a firewall. Home networks, guest Wi-Fi, corporate networks, and double NAT all work, because the connection is outbound on port 443.
  • On hardware in the field. Devices with no fixed address, no inbound ports, and no one on site to configure a router.
  • Inside a private network. A VPC, a Kubernetes cluster, or a customer’s datacenter that you reach without peering or a VPN.
  • On a developer machine. A laptop that moves between networks and still needs a stable public URL.
You may not need an agent at all. If what you are routing to is already reachable at a stable address, a Cloud Endpoint can route to it directly and stays up whether or not any process of yours is running. Endpoints an agent creates are Agent Endpoints, and they exist only while that agent does.

What you get once it’s connected

Working with the agent

Agent CLI

Start endpoints, manage configuration, and interact with the ngrok API from the command line.

Configuration File

Define multiple endpoints and manage complex setups in YAML rather than command-line flags.

Authtokens

Authenticate the agent with credentials scoped to your account.

TLS Termination

Terminate TLS at the agent so traffic stays encrypted end to end.

SSH Reverse Tunnel

Connect using SSH public key authentication instead of installing the agent.

Custom Connect URLs

Point agents at your own branded hostname for white-label deployments.

Agent CLI API

Manage endpoints, domains, and other resources through the ngrok API without leaving the agent.

What people build with it

Agent-assisted gateway

Bridge localhost development with the public internet for AI coding tools, webhook testing, and real authentication flows.

Secure developer environments

Give each developer their own public URL to route traffic and webhooks into their local development environment.

Webhook gateway

Centralize webhook validation and routing from third-party providers to secure your integrations.

API gateway

Create an API gateway with internal Agent Endpoints and centralized traffic management policies.

What’s next?