Skip to main content

Mar 18, 2026

Pin your traffic to specific regions

If you run workloads with data residency requirements like GDPR or CCPA, or any other location-based requirements, you’ve probably had to think carefully about where your traffic actually goes. Now you can control it.

Region & IP Resolution (also known as region pinning) is now available. It lets you “pin” your domains to specific ngrok points of presence (PoPs) — fully self-serve, no DNS changes needed.

ngrok domains have always resolved globally for performance, routing traffic to the nearest PoP to minimize latency for your end users. But “wherever is fastest” isn’t good enough for your compliance needs & geographic policies, and many customers asked for the ability to restrict traffic to specific regions.

We heard your feedback! Region pinning gives you both: you choose the locations, then ngrok optimizes performance among them.

What region pinning does

When you configure Region & IP Resolution on a domain, you’re telling ngrok: only route traffic for this domain through these specific locations. Any traffic to your endpoints on this domain will only be routed through those locations.

For example, this means your European customers’ data never touches a U.S. server, keeping you on the right side of GDPR compliance.

You can pin to one PoP or multiple, like us-cal-1 (California) and eu (Frankfurt). In the future, we may also add regional aliases to cover multiple PoPs, and we’d love your feedback on this.

If you pin to multiple PoPs, ngrok uses latency-aware routing among your selected locations, so your end users get the best performance possible within the boundaries you’ve defined.

A few things you’ll like:

  • No DNS changes. Add or remove pinned regions anytime — your CNAMEs stay exactly the same.
  • Fully self-serve. Set it up in the dashboard or API in minutes. No sales call, no support ticket.
  • Mix and match. Combine PoPs and dedicated IPs (coming soon) on a single domain.

How to set it up

Hop into the Dashboard, click a domain, and select your target regions.

Or you can use our API: update the resolves_to property in your Domain object.

Here’s an example of creating a domain that’s pinned to only PoPs in the United States:

1curl --request POST \2  --url https://api.ngrok.com/reserved_domains \3  --header "Authorization: Bearer <token>" \4  --header "Content-Type: application/json" \5  --header "ngrok-version: 2" \6  --data '{7    "domain": "api.example.com",8    "resolves_to": [9      { "value": "us-cal-1" },10      { "value": "us" }11    ]12  }'

Or if you already have a domain, you can just update it — no need to create a new one.

1curl --request PATCH \2  --url https://api.ngrok.com/reserved_domains/{domain_id} \3  --header "Authorization: Bearer <token>" \4  --header "Content-Type: application/json" \5  --header "ngrok-version: 2" \6  --data '{7    "resolves_to": [8      { "value": "eu" }9    ]10  }'

Want to switch back to global routing? Set resolves_to to an empty list and you’re back to normal.

Pay as you go

This feature is temporarily free to use on the Pay-as-you-Go plan. Billing & metering will be enabled soon.

If you use this feature, be aware you may start seeing these charges at any time. You can monitor your ngrok usage in the dashboard. We’ll also update our docs and this blog.

Region pinning is available on the Pay-as-you-Go plan. It will be charged at $0.02 per active endpoint hour, on top of the existing rate for endpoints. An endpoint is considered active if it receives any traffic in a given hour. Learn more on the pricing page.

If your pinned endpoints don’t receive any traffic, you won’t be charged for region pinning — no need to disable endpoints to save money. Your costs scale with your usage.

What’s next?

Whether it’s a contractual requirement from a customer, an internal security policy, or just the peace of mind that comes from knowing your European users’ data never leaves Europe — this feature gives you that control, without complexity.

This is the first phase of a broader investment in giving you more control over your traffic’s geography. We’re working on additional regional aliases (like united-states and european-union), dedicated IP addresses, and more.

See our documentation to learn more. If you have feedback, we’d love to hear from you (click “Let us know”).

Region pinning is production-ready today. Try it in the dashboard in under two minutes.