How to check Google rankings by country
Check Google rankings by country with Search Console for your own site, gl and hl for quick looks, and a browser on a static IP in that country.
To check Google rankings by country for your own site, open the Performance report in Google Search Console and filter by country: that is Google's own count. To see the results page a searcher in another country sees, open Google signed out in a browser that goes through a static IP in that country, with the language set to match.
For regular tracking of many keywords, a paid SERP API is the proper tool. This post explains why results change from country to country, what each route is good for, how to set up a browser for a few manual checks, and how to confirm where your IP appears to be. There is no Google scraper in it, and the next section says why.
Why do Google results differ by country?
Several things shape the page a searcher gets:
- Location. Google works out roughly where you are, mostly from your IP address, and uses it for both the country version of the results and local features such as the map pack. The domain you type does not decide this: since 2017, Google has picked the country version from your location, and typing a country domain such as
google.deno longer switches it. - Language. The interface language and the languages of your query both matter.
- Your history. Signed-in searches can be personalised, and recent searches in the same browser can colour what comes next.
- Device. Phone and desktop result pages differ in layout and sometimes in order.
So "my ranking" is a ranking for one location, one language and one browser. To see someone else's, you have to change the first two and neutralise the third.
Can you scrape Google to check rankings?
Google's Terms of Service rule out using automated means to access content from its services in violation of the machine-readable instructions on its pages, and Google's robots.txt disallows the /search path. A script that sends queries to Google and parses the results falls on the wrong side of that. Google also spots it quickly: a burst of automated queries gets the "unusual traffic from your computer network" page instead of results.
That is why this post has no scraping code for Google. Rank tracking is on our list of acceptable uses, and the rank tracking use case describes it, but that does not change the search engine's own terms. Check them before you automate anything, and see are proxies legal? for the wider picture.
Route 1: check Google rankings by country in Search Console
If the site is yours, this is the most reliable number there is, and it costs nothing.
- Open Search Console and choose your property.
- Go to Performance, then Search results.
- Open the Countries tab below the chart to see clicks, impressions and average position per country, or add a Country filter to see every query for one country.
- Switch to the Queries tab with that filter on to see how each keyword ranks there.
Read the numbers for what they are. "Average position" is averaged over every impression in the period, across devices and cities, so it will not match a single search you make by hand. The data also arrives with a delay of a couple of days. It is the right source for trends and for "are we visible in Germany at all?", and the wrong one for "what does page one look like right now?"
Route 2: a SERP API, for tracking many keywords
If you track hundreds of keywords across several countries every day, look at a paid SERP API or a rank tracking tool. These services run the searches for a chosen country, often a city, and return structured results you can store. Read their terms and how they get their data, since that is where the question of Google's rules now sits, and compare what a day's check costs against how often your rankings move.
Route 3: manual checks through a static IP in the target country
For a handful of checks, say before a launch or when a client in another country says "we cannot find you", a local SERP check by hand is enough: a browser routed through a proxy in that country shows you the actual page.
Choosing a rank tracking proxy
- ISP is the best fit. You choose the country, region and city when you order, the IP stays the same for the term, and ISP IPs are registered to consumer internet providers, so search pages tend to treat them like any home visitor.
- Datacenter is cheaper and has the same location choice. Google tends to show its "unusual traffic" page to server addresses sooner, so expect the odd captcha. For a few manual searches that may be fine.
- Residential is the wrong tool here. Our residential line rotates through home connections and has no country, region or city choice, so you cannot ask for Germany and get Germany. Residential proxy country targeting goes into what that means.
The locations pages list the countries where static IPs are available. One IP per country you check is enough.
Set up the browser
Route only one browser through the proxy, so your everyday browsing and signed-in accounts stay out of it:
- Firefox has its own proxy settings, and a separate Firefox profile for rank checks keeps cookies apart too. The browser setup guide walks through it, including FoxyProxy for Chrome and Edge.
- Chrome and Edge take their proxy from the operating system. If you go that way, the Windows and macOS guide shows the settings, and everything on the machine then uses the proxy until you switch it off.
Then, before each session:
- Open a private window and do not sign in to Google.
- Visit
https://api.ipify.orgto confirm the browser shows the proxy's address. - Search with the country and language parameters described below.
- Accept or reject Google's consent prompt if one appears. Searches from an EU address usually get one first.
Use the gl and hl parameters, and keep the IP local
Google accepts two URL parameters that help:
glis the country to search as, a two-letter code:gl=defor Germany,gl=jpfor Japan.hlis the interface language:hl=de,hl=ja, orhl=enif you want English menus.
A search URL then looks like https://www.google.com/search?q=QUERY&gl=de&hl=de.
On their own, from your home address, these parameters nudge the results towards another country. They do not fully relocate you. Local features, city-level results and anything "near me" still follow the location Google infers from your IP, and Google does not promise how it weighs a parameter against the address. Using both, an IP in the target country and matching gl and hl, is the closest you can get to a local searcher by hand.
If you run Google Ads, its Ad Preview and Diagnosis tool can also preview a results page for a chosen location without the preview counting as an impression.
Check where your exit IP appears to be
A static IP's country is the one you chose when you ordered it. It is still worth checking what the outside world thinks, because Google uses its own location data. First, the address:
curl -x "http://USERNAME:PASSWORD@HOST:PORT" https://api.ipify.org
This short script compares it with your own, which catches the common mistake of a proxy that is set up but not in use:
import requests
PROXY = "http://USERNAME:PASSWORD@HOST:PORT"
PROXIES = {"http": PROXY, "https": PROXY}
direct = requests.get("https://api.ipify.org", timeout=10).text
proxied = requests.get("https://api.ipify.org", proxies=PROXIES, timeout=30).text
print("Your own address: ", direct)
print("Through the proxy: ", proxied)
if direct == proxied:
print("Same address: the proxy is not being used.")
Then look the proxy address up in two or three IP geolocation services. Expect them to disagree now and then, especially on the city: each keeps its own database, updated on its own schedule, and a new address can take weeks to settle. Google keeps its own view too. If the country is wrong in most of them, tell us. Our honesty page explains how we label IPs by country and what we do when a label is wrong, and checking what kind of IP you were sold shows how to check the network type as well.
Quick answers
Can I see Google results from another country without a proxy?
Partly. gl and hl shift the results, but local features and city-level results still follow your real location.
Why does my ranking differ from what Search Console says? Search Console averages every impression over days, devices and cities. A manual search is one location, one device, one moment.
Is a VPN as good as a proxy for this? It can work for a quick look. A proxy lets you route one browser only, and a static IP gives you the same address every time. Proxy vs VPN compares the two.
How often can I check by hand? A few searches now and then are fine. If you are checking dozens of keywords every day, you need Search Console or a SERP API.
Start with one country
Rent one ISP IP in the country you care about most, set it up in a separate browser, and compare what you see with Search Console for a week. Rates are on the pricing page, and if the location looks off, ask in Discord with the IP and what the lookups say.