# Proxy city checker: verify your exit IP's city

> How to verify the city of a proxy exit IP: compare IPinfo and GeoLite, check the ASN on RIPEstat. 1 GB $0.95, no KYC, crypto.

- URL: https://eurocityproxies.com/guides/verify-exit-city/
- Last updated: 2026-10-18
- Publisher: EuroCity Proxies (https://eurocityproxies.com)

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.

**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)*

```python
# 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.

| Source | How you query it | What the publisher says about accuracy |
| --- | --- | --- |
| MaxMind GeoLite | Free 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 |
| IPinfo | `https://ipinfo.io/json` for your own exit, or its API | Returns an accuracy radius in km; data updates every 24 hours; rural accuracy is lower than urban accuracy |
| DB-IP | Lookup form on db-ip.com, API or monthly downloads | Street level for some providers, city level for most, country level in rare cases; fixed lines are generally more accurate than cellular networks |
| ip-api | Free JSON endpoint over HTTP only, 45 requests per minute, no commercial use | No accuracy figure published; corrections are checked by hand and can take up to 7 days |
| RIPEstat (RIPE NCC) | stat.ripe.net, or its Data API | Not 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](https://eurocityproxies.com/guides/ip-geolocation-accuracy/) gives the figures for six countries.

## How do I check the network owner on RIPEstat?

Open [stat.ripe.net](https://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](https://eurocityproxies.com/targeting/asn/).

## What does a difference between sources mean?

| What you see | What it usually means | What to do |
| --- | --- | --- |
| Same country, same city | Clean result | Nothing; keep the session for your check |
| Same country, towns 10–50 km apart | Normal for a metro area: the databases place the IP at different points of the provider's network | Accept it; judge by what the target site shows |
| Same country, cities far apart | One database maps the provider's whole block to a regional hub or the capital | Open a new session id and check again |
| One source has no city | That database has no city-level data for the block | Rely on the other source and the target site |
| Different countries | A wrong `-country-` segment, or a database error | Print your username; if it is correct, send the IP and time to support |
| Holder is a hosting or cloud company | Not a home connection | Stop 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](https://eurocityproxies.com/pricing/).

## 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 support@eurocityproxies.com.

## Sources

1. [GeoLite free geolocation data (accuracy radius, GeoLite vs GeoIP, limits)](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data) — MaxMind (checked 2026-10-18)
2. [GeoIP accuracy comparison, France, 50 km, all connection types](https://www.maxmind.com/en/geoip-accuracy-comparison?country=FR&resolution=50&connection_type=all&ip_family=both) — MaxMind (read 2026-10-18 (no date on the page))
3. [GeoIP2 Python API: database usage (city and ASN readers)](https://geoip2.readthedocs.io/en/latest/) — MaxMind (checked 2026-10-18)
4. [IP Geolocation API (accuracy radius, data updates every 24 hours, rural accuracy)](https://ipinfo.io/products/ip-geolocation-api) — IPinfo (checked 2026-10-18)
5. [DB-IP FAQ: How accurate are the locations in the database?](https://db-ip.com/faq.php) — DB-IP (checked 2026-10-18)
6. [ip-api JSON endpoint documentation (HTTP only, 45 requests per minute, no commercial use)](https://ip-api.com/docs/api:json) — ip-api (checked 2026-10-18)
7. [ip-api data correction form](https://ip-api.com/docs/correction) — ip-api (checked 2026-10-18)
8. [RIPEstat](https://stat.ripe.net/) — RIPE NCC (checked 2026-10-18)
9. [What we do: Regional Internet Registry](https://www.ripe.net/about-us/what-we-do/) — RIPE NCC (checked 2026-10-18)
10. [RIPEstat Data API: Network Info](https://stat.ripe.net/docs/02.data-api/network-info.html) — RIPE NCC (checked 2026-10-18)
11. [Understand & manage your location when you search on Google](https://support.google.com/websearch/answer/179386?hl=en) — Google Search Help (checked 2026-10-18)

---

EuroCity Proxies: EuroCity Proxies is a residential proxy provider with city-level targeting across Europe, paid in crypto with no ID upload: home-broadband IPs billed per GB, with a page of local data for each of 103 cities in 35 countries.
