Check your real rankings. Not your personalized results.
Google personalizes search results by location, search history, and device. Get clean SERP data from any market with residential proxies.
Why proxies solve this
Google tracks IPs and personalizes results. A datacenter IP or your office IP gives biased rankings. Residential proxies in the target city show you what a real user there sees - no personalization, no location bias.
The problems you hit without proxies
Google rate limits rank checkers
Checking 1,000 keywords from one IP triggers CAPTCHA and blocks. Distribute requests across residential IPs to stay under detection thresholds.
Local pack results vary by city
Local SEO rankings differ block by block for some queries. Use city-level targeting to check rankings for specific geographic markets.
Desktop vs. mobile rankings differ
Google serves different results for mobile searches. Use mobile proxies or a mobile user agent to track mobile-specific rankings.
Country-level ranking differences
International SEO requires checking rankings in each target country from local IPs - not via VPN, which Google treats as suspicious.
How SotaProxy handles it
Rotating residential proxies with country and city-level targeting. Pull clean SERP data for any keyword in any location. Mobile proxies for mobile ranking checks.
Setup in 4 steps
Define your keyword set
Group keywords by target country and city. Prioritize the markets that matter most to the business.
Set up rank checker
Configure your rank tracking tool (STAT, Serpstat, custom script) to route requests through SotaProxy endpoints.
Use location targeting
Append the target country/city code to the proxy username to pull geo-accurate SERPs.
Schedule and store
Run daily checks. Store SERP positions in a database. Alert on drops above 5 positions.
What daily rank tracking costs
A search results page is heavy, around 120 KB gzipped once you keep the markup and drop the images. Volume follows from your keyword list:
This is one of the few jobs where datacenter is not a cheaper option, it is not an option. Search engines challenge hosting ranges within a handful of queries. Eighteen dollars a month buys the whole programme on residential, so the money question here is smaller than the correctness question.
A new address per query, and locale that matches the market
Leave the session id off entirely. Every query goes out through a different address, which is exactly the pattern search engines do not flag:
Python: rotate per query, pin the location
def serp_proxy(country, city=None):
login = f"login_c_{country}"
if city:
login += f"_city_{city}"
return f"http://{login}:password@proxy.sotaproxy.com:10000"
for kw in keywords:
for market in markets:
proxy = serp_proxy(market.country, market.city)
r = requests.get(SERP_URL, params={"q": kw, "hl": market.lang, "gl": market.country},
proxies={"http": proxy, "https": proxy}, timeout=30)
time.sleep(random.uniform(2, 5))- Set the language and country parameters as well as the proxy country. The address decides which index you reach, the parameters decide which version of it you see.
- Local packs move by city, so pin _city_ when you track anything with a map result. Country level tracking of a local business tells you nothing useful.
- Randomise the gap between queries. A perfectly even two seconds is a machine signature all by itself.
- Track from the same locations every day. Changing the sampling geography changes the numbers, and you will read it as a ranking move.
Why rank data drifts for no reason
Holding one address across many queries
Sessions are what makes a scraper visible. Without _s_ you get a fresh address per request and never build a pattern.
Country proxy, wrong interface language
A German address querying the English interface returns a blend that matches neither market.
Comparing city and country samples
A ranking taken with _city_Berlin is not comparable to one taken at country level. Pick one and keep it.
Treating a 400 as a ranking change
It means the location had no addresses at that moment. Log it as missing data, not as a drop.
Frequently asked questions
Can I track Google rankings with proxies?
Yes. Residential proxies with rotating IPs avoid Google's scraping detection. Spread requests across the pool to stay below rate limits.
Do I need a proxy for rank tracking tools?
Most professional rank trackers include their own proxy infrastructure. Use SotaProxy when building a custom solution or when your tool requires your own proxy.
What is the difference between city-level and country-level targeting?
Country-level shows national rankings. City-level shows what a user in that specific city sees - important for local SEO and location-specific queries.
Related use cases
Ready to start?
Create an account, top up, and get proxy credentials in minutes. No sales call. No monthly minimum.
Create account