The same configuration will soon support dedicated IP addresses.
How it works
- Define which ngrok PoPs your domain is allowed to use.
- All requests to endpoints on that domain will only be routed through your chosen points of presence.

How to configure region pinning
To start using region pinning, update your domain resource with your preferred set of target regions. You can do this through the API or the dashboard, both described below.Using the API
When using the API, set up region pinning by defining which PoPs or region aliases should serve your requests. Add theips property when creating or modifying a domain.
The sections that follow describe how to create, update, and un-pin a domain in detail.
Create a pinned domain
Use thePOST /reserved_domains endpoint.
Add a list of ips that are allowed to resolve your requests, which can be a set of ngrok physical PoPs (like “Frankfurt” or “California”), dedicated IPs, or both.
Update an existing domain
You can update existing domains to add or remove region pinning, or modify your set of pinned regions, using theips property.
No DNS changes are required.
Use PATCH to update the list of pinned regions.
Un-pin a domain
You can un-pin a domain, which changes it back to the default global routing behavior using the best available PoP. To do this, set theips property to an empty list [], or to the region alias global.
- Remove pinned regions by setting an empty list:
- Remove pinned regions by setting the
globalalias.
API error handling
If a request has invalid syntax or a non-existent region code, the API request fails. The request returns HTTP 400 Bad Request with a structured error body, as shown in the example below:Using the dashboard
You can also make these changes through the ngrok dashboard. To configure your pinned regions:- View your existing domains in the dashboard.
- Click the domain you wish to modify.
- Choose your target regions from the dropdown menu. You can select a set of PoPs, choose a region alias that covers multiple PoPs, or do both.
Dedicated IPs (preview)
Dedicated IPs let you configure a domain’s matching endpoints to receive traffic on IP addresses that are dedicated only to your account, rather than using ngrok’s default range of multi-tenant IP addresses shared across customers. When a domain uses dedicated IPs, you can create matching endpoints on any inbound port (not just 80/443).How to use dedicated IPs
Dedicated IPs and region pinning share the sameips field on the domain:
- Region pinning:
ips: [{ "value": "<region-code>" }] - Dedicated IPs:
ips: [{ "value": "<ip-address>" }]
Frequently asked questions
Does this affect TCP endpoints?
- Region pinning: no. In this preview, region pinning applies to HTTP/HTTPS matching endpoints. TCP uses reserved addresses, which already include a region.
- Dedicated IPs: yes, dedicated IPs are available for any ngrok-supported protocol, including HTTP/S, TCP, and TLS.
What happens if the ips field isn’t added when creating a domain?
If the ips field is not added when creating a domain, it defaults back to standard global routing, where traffic is automatically routed through the best option from ngrok’s physical PoPs.
This is the baseline behavior for domains, and is used by the vast majority of customers.
Is it necessary to specify every region manually?
No, ngrok provides regional aliases as a shortcut to select multiple PoPs within a geographical area. Currently the only supported alias isglobal.
ngrok may add other aliases such as european_union or united_states, depending on customer needs.
Points of presence reference
Theips parameter uses the following PoP names:
| Geographical region | Location | Code (to use in API) |
|---|---|---|
| United States | Ohio | us-ohio-1 |
| California | us-cal-1 | |
| Europe | Frankfurt | de-fra-1 |
| Asia/Pacific | Singapore | sg-sin-1 |
| Sydney | au-syd-1 | |
| Mumbai | in-mum-1 | |
| Tokyo | jp-tokyo-1 | |
| South America | São Paulo | br-sao-1 |
| Regional Aliases | Global | global |
| Europe [proposed] | european_union | |
| United States [proposed] | united_states |