ProxioDocs
Proxies & Targeting

Geo-Targeting: Country, State & City

How to pin a Proxio Residential exit to a country, state or city using the -region-, -st- and -city- username segments, including the exact slugging rules and where to find the live location list.

Proxio Residential proxies target three geographic levels (country, state and city) through the username. There is no ZIP, ASN or ISP targeting; the three levels below are the complete set. Each level is added as a hyphen-delimited segment, and the levels nest: a state needs a country, a city needs a state.

LevelSegmentExample
Country-region-{country}-region-us
State / province-st-{state}-st-california
City-city-{city}-city-losangeles

The hierarchy is strict

-st- requires -region-, and -city- requires -st-. A city on its own (or a city with a country but no state) will not resolve to the place you mean. Always supply the full parent chain.

Country codes

Countries use 2-letter codes, not full names. The dashboard's location selector emits the correct code for you (for example us), and that is what belongs after -region-.

CountryCode
United Statesus
United Kingdomgb
Germanyde
Francefr
Canadaca
Japanjp

These are illustrative. Pick the exact code you need from the dashboard rather than typing a full country name: -region-unitedstates is not a valid target.

Slugging rules

State and city values are slugged before they are matched. The rule is simple and mechanical:

  1. Convert the whole value to lowercase.
  2. Remove every character that is not a-z or 0-9, which means spaces, hyphens, periods, apostrophes and accented characters all disappear.

So a two-word or punctuated place name collapses into a single run of lowercase letters and digits:

LocationSlug
New Yorknewyork
Winston-Salemwinstonsalem
Los Angeleslosangeles
Fort Worthfortworth
St. Louisstlouis

You rarely have to slug by hand

When you build a proxy string from the dashboard, the location selectors output the already-slugged value. Type slugs manually only when you are constructing usernames programmatically.

Where to find the live location list

The authoritative, current list of available countries, states and cities lives in the dashboard. Open your Residential service and go to the Setup tab, where the location selectors show exactly what is available and produce the matching country code and slugs.

The country selector in the dashboard with its searchable list of available countries

Combined examples

Country only:

http://abcxyz123def-region-de:[email protected]:16666

Country and state:

http://abcxyz123def-region-us-st-texas:[email protected]:16666

Country, state and city:

http://abcxyz123def-region-us-st-newyork-city-newyork:[email protected]:16666

City targeting combined with a sticky session (see Session Types for the session segments):

http://abcxyz123def-region-us-st-california-city-losangeles-sessid-myapp_9k2p7qz1m4vb1-sesstime-15:[email protected]:16666
curl -x "http://abcxyz123def-region-us-st-california-city-losangeles:[email protected]:16666" https://ipinfo.io
import requests

proxy = "http://abcxyz123def-region-us-st-california-city-losangeles:[email protected]:16666"
r = requests.get("https://ipinfo.io", proxies={"http": proxy, "https": proxy})
print(r.json())  # confirm the country / region / city
import { ProxyAgent } from "undici";

const proxyAuth = Buffer.from(
  "abcxyz123def-region-us-st-california-city-losangeles:PASSWORD"
).toString("base64");
const dispatcher = new ProxyAgent({
  uri: "http://geo.proxio.cc:16666",
  token: `Basic ${proxyAuth}`,
});
const res = await fetch("https://ipinfo.io", { dispatcher });
console.log(await res.json());

Common mistakes

Geo-targeting gotchas

  • Full country names. Use the 2-letter code (us), never unitedstates.
  • Skipping a level. A city without its state (or a state without its country) will not target correctly.
  • Raw punctuation or spaces. -city-new york or -city-New-York are wrong. Slug first: -city-newyork.
  • Uppercase. Slugs are lowercase only.
  • Typos in the segment key. The gateway silently ignores segment keys it does not recognize: -regoin-us produces no error, just an untargeted exit. If the location looks random, re-check the spelling of region, st and city.

If a location comes back wrong, verify the exit against ipinfo.io and re-check your slug against the dashboard selector on the Setup tab.

On this page