Skip to content
You're eligible for 55–60% off list ratesClaim now!

Geo-Targeting

How Country, Region and City targeting work in the generator, what each level costs you in pool size, and how to confirm the exit location you got.

Last updated

Geo-targeting decides where your requests appear to come from. It is the difference between a price check that reflects a real market and one that does not.

The three levels

FieldNarrows toExample
CountryA countryPoland
RegionA state, province or region inside itMasovia
CityA city inside that regionWarsaw

Location is optional. Leave a picker on Any country, Any region or Any city to not constrain at that level. With Any country selected, each proxy exits from any location in the pool; a country with Any region means anywhere in that country.

Only supported places are offered

The pickers list the places your pool can actually serve, and nothing else. Region is loaded after you choose a country, and City after you choose a region. The City picker is searchable and loads in pages, so a large region stays fast. When a country has exactly one supported region, Region is already selected and its cities load at once. If the pool serves a country without grouping it by region, Region shows Countrywide, locked, and the City picker lists the country's cities. A region named Other next to real regions holds the cities the pool does not group by region; it is listed last and only when it is needed.

Select Browse supported locations under the City picker to browse every country, region and city the pool supports in one panel, or type a name there to search all three levels at once. Each result shows its region and country, and Use applies all of them. Changing a country clears its region and city, and a saved choice the pool no longer supports is cleared rather than sent.

A place the pool does not support is refused instead of being quietly widened, so a city you picked is a city you get. Pools differ, so the list can differ between products.

The trade-off

Each level down narrows the pool of addresses that match.

TargetAvailabilityNotes
Country onlyBroadestRarely any difficulty
Country and RegionNarrowerUsually fine
Country, Region and CityNarrowestCan be slower, and fewer addresses match

If a city-level request is struggling, widening to region or country is the first thing to try. A country-level address in the right country is often enough for a task that was specified at city level for no strong reason.

When narrow targeting matters

Three cases where it is worth the narrower pool.

Localised pricing and availability. Retailers vary price and stock by region, sometimes by city. Checking the wrong location gives you another market's answer.

Local search results. Rankings and local results are relative to a place, so a check from the wrong place measures the wrong thing.

Ad verification. Confirming that a campaign renders in its intended market requires looking from that market.

If your task is none of those, country-level targeting is usually sufficient and more reliable.

Confirming the location you received

Targeting expresses an intent. Confirming what you actually got is a separate step.

  1. Generate an endpoint with your targeting set.
  2. Select Check proxy on its row.
  3. Read the Exit IP.
  4. Look that address up with the IP Lookup tool to see the country, city and timezone it resolves to.

The check reports the address; the lookup tells you where that address sits. Comparing the two to your intent is the only way to know the targeting worked.

Places in the API and MCP server

Targeting uses the same places everywhere. Each place has a stable identifier:

LevelIdentifierExample
CountryTwo-letter code, any caseus
RegionCountry code and subdivision, any caseUS.OH
CityNumeric city id4509177

List them with GET /api/v1/locations, GET /api/v1/locations/{country}/regions and GET /api/v1/locations/{country}/regions/{region}/cities, or with the list_locations, list_regions and list_cities tools in the MCP server. Pass the region as region and the city as city when you generate endpoints. Each route takes product and pool and returns only what that pool serves. A region flagged placeholder is the Other or countrywide region; pass its code like any other. A value the pool does not support returns 400 unsupported_targeting. See the API reference.

Targeting is per endpoint

Each endpoint in a set carries its own targeting and its own session. Replacing one endpoint replaces only that one, so a set generated for one city stays in that city. If you need two different locations, generate two sets rather than regenerating one back and forth.

Related

Start working with cleaner IPs

Clean, pre-filtered residential and mobile proxies, sign up and send your first request in minutes.