No KYC — no ID, no selfie, no documents · Paid in crypto · City targeting on every plan
Language: English
Get started

Guide · Verification

Proxy city checker: verify your exit IP's city

One lookup is an opinion. Two lookups and the network owner give you a verdict you can act on. They also tell you when a nearby town is nothing to worry about.

Last updated: · 7 min read

Quick answer

How do I check which city my proxy exit IP is in?

Read the exit through the proxy at https://ipinfo.io/json, then look the same IP up in a second database such as MaxMind GeoLite. Check its network on RIPEstat. As of October 2026, EuroCity Proxies exits are home IPs. Expect the right country and a consumer network, with the city you asked for or a town nearby.

What are the steps of a city check?

  1. Open a sticky session

    Use a username such as USERNAME-country-de-city-munich-session-muc1-ttl-10, so every lookup sees the same exit IP.

  2. Read source 1 through the proxy

    Request https://ipinfo.io/json and note ip, city, region, country and org.

  3. Read source 2 for the same IP

    Look the IP up in a local MaxMind GeoLite City file, or in DB-IP or ip-api from your browser.

  4. Check the network on RIPEstat

    Enter the IP at stat.ripe.net and read the prefix, the ASN and the holder name.

  5. Compare and decide

    Use the table below: a nearby town is normal, another country or a hosting network is not.

Compare IPinfo with MaxMind GeoLite for one exit (Python 3.9 or newer)
# pip install requests geoip2
# GeoLite2-City.mmdb and GeoLite2-ASN.mmdb: download them from your MaxMind account
from urllib.parse import quote

import geoip2.database
import requests

HOST = "gw.eurocityproxies.com"
PORT = 7777
USER = "USERNAME-country-de-city-munich-session-muc1-ttl-10"
PASSWORD = quote("PASSWORD", safe="")
proxy = f"http://{USER}:{PASSWORD}@{HOST}:{PORT}"

# Source 1: IPinfo, read through the proxy
info = requests.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=30).json()
ip = info["ip"]

# Source 2: MaxMind GeoLite, read from local files (no request leaves your machine)
with geoip2.database.Reader("GeoLite2-City.mmdb") as city_db:
    c = city_db.city(ip)
with geoip2.database.Reader("GeoLite2-ASN.mmdb") as asn_db:
    a = asn_db.asn(ip)

print("exit IP     ", ip)
print("IPinfo      ", info.get("city"), info.get("region"), info.get("country"), info.get("org"))
print("GeoLite     ", c.city.name, c.country.iso_code, f"radius {c.location.accuracy_radius} km")
print("GeoLite ASN ", f"AS{a.autonomous_system_number}", a.autonomous_system_organization)

Which geolocation databases can I compare?

Each publisher describes its own accuracy differently. The notes below come from their own pages, read on 18 October 2026.

SourceHow you query itWhat the publisher says about accuracy
MaxMind GeoLiteFree account, downloadable files or a web service (1,000 lookups per day per service)"Inherently imprecise", with locations often near population centres. Accuracy radius from a few km to 1,000 km. GeoLite City is considerably less accurate than the paid GeoIP City
IPinfohttps://ipinfo.io/json for your own exit, or its APIReturns an accuracy radius in km; data updates every 24 hours; rural accuracy is lower than urban accuracy
DB-IPLookup form on db-ip.com, API or monthly downloadsStreet level for some providers, city level for most, country level in rare cases; fixed lines are generally more accurate than cellular networks
ip-apiFree JSON endpoint over HTTP only, 45 requests per minute, no commercial useNo accuracy figure published; corrections are checked by hand and can take up to 7 days
RIPEstat (RIPE NCC)stat.ripe.net, or its Data APINot a geolocation database: it shows the prefix, the ASN and the holder of the network

Why compare two sources instead of one?

Because geolocation databases disagree, and the target site may use a third. Each company builds its own map from registry data, network measurements, provider feeds and user corrections. Two sources that agree on a town give you a solid result.

The site you are checking will use one database, often a commercial one, and you rarely know which. MaxMind's own comparison for France shows that its paid and free city databases differ. They placed 50% and 42% of the IPs it checked within 50 km. The accuracy guide gives the figures for six countries.

How do I check the network owner on RIPEstat?

Open stat.ripe.net and paste the exit IP into the search box. RIPEstat is run by the RIPE NCC, the Regional Internet Registry that allocates IP addresses in Europe.

Three fields matter. The prefix is the address block, such as a /21. The ASN is the network that announces it. The holder names the company, for example a national broadband provider. For scripts, the Data API returns the same answer at https://stat.ripe.net/data/network-info/data.json?resource= followed by the IP.

The ASN should match the org field from IPinfo and the GeoLite ASN. A residential exit belongs to a consumer provider. A hosting company or a cloud network as holder is a reason to write to support. ASN targeting is described on the ASN targeting page.

What does a difference between sources mean?

What you seeWhat it usually meansWhat to do
Same country, same cityClean resultNothing; keep the session for your check
Same country, towns 10–50 km apartNormal for a metro area: the databases place the IP at different points of the provider's networkAccept it; judge by what the target site shows
Same country, cities far apartOne database maps the provider's whole block to a regional hub or the capitalOpen a new session id and check again
One source has no cityThat database has no city-level data for the blockRely on the other source and the target site
Different countriesA wrong -country- segment, or a database errorPrint your username; if it is correct, send the IP and time to support
Holder is a hosting or cloud companyNot a home connectionStop and write to support with the IP and time

What does the target site itself show?

The final test is the page you care about. A store may propose a delivery area, a nearby branch or a currency. A search engine may print the location it estimated at the bottom of the results. Google's help page lists your connection's IP address among the signals it uses to estimate where you are.

Sites also read language, time zone and cookies. Clear cookies and set the browser language of the market before you judge a page. Keep checks manual and occasional on sites whose terms or robots.txt forbid automated access.

How much traffic does a city check use?

A lookup at https://ipinfo.io/json moves a few kilobytes, so hundreds of checks use a small part of one gigabyte. The GeoLite comparison runs on your machine and uses no proxy traffic. Usage counts all data sent and received through the proxy (upload and download, headers included). 1 GB = 1,000,000,000 bytes. Connection attempts that fail before reaching the target are not counted.

At $0.95 for 1 GB, the checks cost far less than the pages you then open. Prices and plans are on the pricing page.

Exit-city checks: questions

I asked for Munich and IPinfo shows Freising. Is the targeting wrong?

Probably not. Freising is a town north of Munich, in the same region. Databases often place an IP at a town of the provider's local network. Check a second source; if both show a city far from Munich, open a new session id.

Which source is right when two databases disagree?

Neither is right by definition: both are estimates. Trust the result the target site shows, since that is the one that changes your page. Use the databases to catch large errors, such as another country or a hosting network.

Do I need a paid database to check a city?

No. A free MaxMind GeoLite account and the IPinfo JSON endpoint are enough for occasional checks. MaxMind states that its free GeoLite City is less accurate than its paid GeoIP City, so treat GeoLite as a second opinion.

Why use a sticky session for the check?

So that both lookups and your page visit see the same exit IP. With a rotating username, every new connection usually gets a different IP, and you would compare two different addresses.

Can RIPEstat tell me the city?

No. RIPEstat shows who holds and announces the address block, not where the subscriber lives. Use it to confirm a consumer network and its ASN, and the geolocation databases for the city.

What should I send to support if the country is wrong?

The exit IP, the full username without the password, the time with time zone, and the output of two lookup services. That is enough to trace the session. Write to [email protected].

Sources (11)
  1. GeoLite free geolocation data (accuracy radius, GeoLite vs GeoIP, limits) — MaxMind (checked 2026-10-18)
  2. GeoIP accuracy comparison, France, 50 km, all connection types — MaxMind (read 2026-10-18 (no date on the page))
  3. GeoIP2 Python API: database usage (city and ASN readers) — MaxMind (checked 2026-10-18)
  4. IP Geolocation API (accuracy radius, data updates every 24 hours, rural accuracy) — IPinfo (checked 2026-10-18)
  5. DB-IP FAQ: How accurate are the locations in the database? — DB-IP (checked 2026-10-18)
  6. ip-api JSON endpoint documentation (HTTP only, 45 requests per minute, no commercial use) — ip-api (checked 2026-10-18)
  7. ip-api data correction form — ip-api (checked 2026-10-18)
  8. RIPEstat — RIPE NCC (checked 2026-10-18)
  9. What we do: Regional Internet Registry — RIPE NCC (checked 2026-10-18)
  10. RIPEstat Data API: Network Info — RIPE NCC (checked 2026-10-18)
  11. Understand & manage your location when you search on Google — Google Search Help (checked 2026-10-18)

1 GB $0.95 · no KYC

Get started