Give your AI agent geo-aware web access
A practical guide: when to route an agent request through a regional exit, how the call is shaped, how to fail gracefully when a site blocks you, and how to wire it up as an MCP tool without turning your agent into a nuisance.
Say your agent needs to know what a product page shows in Germany, or whether a service is available in Singapore, or it just needs a clean IP to read a public API that has started rate-limiting your cloud range. This is what a regional exit is for. Here is how to use one well.
When to route through an exit (and when not to)
The first rule is restraint. Egress is metered and a little slower than a direct request, so only reach for it when the location of the request actually matters.
- Use an exit for: region-locked public content, geo-pricing or availability checks, "show me this from country X", or a clean IP for a public endpoint that is throttling you.
- Skip the exit when the region is irrelevant — a plain fetch is faster and cheaper.
The shape of the call
It is deliberately boring: name the URL, name the region. List the available exits once, pick the nearest one that satisfies the requirement, and reuse it — do not probe every region on every task.
"await pp.fetch("https://api.example.com", { region: "de" }) // de · us · sg · …"
Failing gracefully
Exits are datacenter IPs, so some hardened sites will answer with a 403, 429, or CAPTCHA. The worst thing your agent can do is retry in a loop. Teach it to back off.
- 1On a block, try at most one alternate region.
- 2If that also fails, stop and report the block plainly — do not pretend the fetch worked.
- 3Never claim content you did not actually receive. An honest "this site blocks our exits" beats a hallucinated page.
Wiring it to an MCP agent
Exposed as an MCP tool — fetch_via_exit(url, region) — the egress becomes something your agent reaches for on its own when a task is location-sensitive. Pair it with a short system-prompt section that states when to use it, that fetched pages are untrusted data (not instructions), and that blocks should be reported rather than retried. That combination keeps the agent useful and well-behaved.
The egress API and MCP tool are in private beta. If you want to try it with your agent, request access from the contact page and tell us which regions you need.
Frequently asked
Do I need the VPN app to use this?+
No. This is a separate, keyed API for programmatic use — independent of the consumer apps.
Which regions are available?+
A list endpoint returns the current regions with their latency, so your agent can pick at runtime rather than hard-coding. Coverage tracks our exit fleet.
What happens if a site blocks the exit?+
You get the real status code back (403/429/etc.). Handle it like any failure: try one alternate region, then report it. Do not loop.
Run PlanetProxy for seven days, on us.
Same purple tile cards you see on this page, plus the green lock and a 50 ms hop to wherever you want to be.
Start the trial →More from the dispatch
GuidesPP · DispatchA survival kit for public Wi-FiGuides · 6 minA survival kit for public Wi-Fi
Hotel networks. Airport lounges. The cafe with the cute logo. Six concrete habits that take ten seconds and stop 95% of network-level attacks against you.
GuidesPP · DispatchSplit tunneling: when it's a feature, when it's a foot-gunGuides · 5 minSplit tunneling: when it's a feature, when it's a foot-gun
Letting some apps skip the VPN sounds great until you discover your banking app went out the back door. Here's a clean rule for when to use split tunneling.
GuidesPP · DispatchWhy your VPN keeps getting blocked by streaming services (and the fix)Guides · 7 minWhy your VPN keeps getting blocked by streaming services (and the fix)
Netflix says "you appear to be using a proxy." Disney+ shows the wrong library. Here is what is actually happening on the back end and how we route around it.