Google shows different results according to the place where search originates from. This could be due to the local results if search query is something that Google can show local results for or information being relevant to locals.

What are the advantages of checking Google results for different locations?

  • You can check your ranking from different locations to see if it changes in organic results
  • You can verify your ads being published to only selected locations
  • You can verify ranking of your business' local ranking if you have any franchises
  • You can verify your local business ranking

There may be many more advantages of checking Google search results for different locations that I am missing. The next question, however, is:

How to change the search location?

Even if you try to use country specific Google domains, the results you will get will still be according to your location. Google does not show local results according to the country-specific Google domains anymore, unfortunately.

Change your settings

Despite that, you can always try to change your settings from search settings to see local results for a specific country or language. But you need to trust Google that they show exactly the same results they would show in a specific country or language.  This is one way to do it but sometimes you may need more granular settings to see if results change by city or even neighborhood. In such a case, country or language specific settings won't cut it for your needs.

Change your IP address

Another way to go is to change your IP address by using a proxy service or a VPN service.

Most VPN and Proxy services provide the ability to change your location to many different locations. For some countries, they provide an IP from more than a few cities while for some other countries, you will get an IP from only one city. Still, depending on your use case, this may be more than enough.

So far, the options we have listed can only provide country specific or limited city specific results.

What if we need city specific results?

City Specific Google Search Results

To get city specific Google search results, you need to do more than changing your settings or your IP address as we have listed above.

Below are some methods to get city specific search results:

1- Adding %near=austin,tx or your city of choice to the URL

To check local results, especially for the local businesses, adding near parameter to the URL can give you an idea. However, this may not be fully trusted to show you the exact same results that locals get when they search for the same query.

Here is an example with this URL construction:
> https://www.google.com/search?q=electric+services&near=austin,tx

I should emphasize that this is not the most reliable way to do this but still may prove to be useful.

2- Another way to check the city specific Google search results is using Google

Ads Preview Tool

This may not be convenient to scale up if your SEO work includes many sites and keywords to follow however for those who have to work with a few sites, it could definitely help a lot. I should also note that you need an active Google Ads account to use this tool.

How to Automate Checking Google Results for Different Locations

For those who works in the SEO field and have many websites or a huge website where there are tons of keywords to track, automating your rank tracking can save big time and money while letting you work on other things.

Let's assume that you have a company blog which is a lead magnet for your business and you track 500 keywords for that blog for various topics. You want to make sure that you have your ranks in check not in your native country, eg. USA, but also in Canada, United Kingdom, Germany, France and Australia. Now, you have 3000 keywords to track and it may grow even further. This can get complicated quickly.

For those who know how to code, it is an easy feat to write a script to automate this process. However, Google blocks scraping attempts after a few hits and the process requires dealing with rotating proxies and captcha solving processes which are not easy to do.

This is where SerpApi shines. SerpApi let's you scrape Google, Baidu, Bing, Duckduckgo, Yandex, Yahoo, Youtube, Ebay, Walmart and Home Depot without dealing with proxies, captchas or ever changing HTML elements.

You just simply send a request to SerpApi such as:

https://serpapi.com/search.json?engine=google&q=Coffee&location=Austin%2C+Texas%2C+United+States&google_domain=google.com&gl=us&hl=en&api_key=70f91d815b96048d4992070127eba17d79f6e7992a5cfeee0909a68bf2bcecdf

This request sends a request to SerpApi to search Google for "coffee" term from Texas and returns a JSON response such as:

` "organic_results":
[

    {
        "position": 1,
        "title": "Coffee - Wikipedia",
        "link": "https://en.wikipedia.org/wiki/Coffee",
        "displayed_link": "https://en.wikipedia.org › wiki › Coffee",
        "snippet": "Coffee is a brewed drink prepared from roasted coffee beans, the seeds of berries from certain Coffea species. When coffee berries turn from green to bright red in color – indicating ripeness – they are picked, processed, and dried.",
        "sitelinks":
        {
            "inline":
            [
                {
                    "title": "History",
                    "link": "https://en.wikipedia.org/wiki/History_of_coffee"
                }
                ,
                {
                    "title": "Coffee bean",
                    "link": "https://en.wikipedia.org/wiki/Coffee_bean"
                }
                ,
                {
                    "title": "Coffee production",
                    "link": "https://en.wikipedia.org/wiki/Coffee_production"
                }
                ,`

And you don't even need to deal with creating complicated queries. You can just visit SerpApi's Playground and set your search parameters:

SerpApi's Playground let's you set your parameters

After setting up your search parameters, you can see the results there on the Playground, immediately:

You can see the results in the Playground immediately

How to change your location with SerpApi

There are two ways to change your location with SerpApi.

The first is using location parameter.

Location parameter can give you an exact location supported by Google in search operations. However, what you enter as a location may not be accepted by Google as a valid location. That's why, SerpApi provides a free location API where you can search for locations.

Let's say that you want to simulate a search from Bruges, Belgium. You could send a request to SerpApi just adding Bruges to location parameter but that would be incorrect. You could go to our Playground Search API page to check how to write Bruges to be accepted by Google. But that would be manual and time consuming.

What you can do to automate this process is working with SerpApi's Locations API. Locations API enables you to search for exact name of locations which are accepted by Google.

Let's search Bruges with locations API to find how Google accepts Bruges as a location:

https://serpapi.com/locations.json?q=Bruges&limit=2

Here, q parameter's value should be the location you want to search for. The other parameter limit defines the maximum amount of results you will receive.

Let's check the results:

[
  {
    "id": "585069a2ee19ad271e9b4e22",
    "google_id": 1001259,
    "google_parent_id": 9069523,
    "name": "Bruges",
    "canonical_name": "Bruges,Flanders,Belgium",
    "country_code": "BE",
    "target_type": "City",
    "reach": 302000,
    "gps": [
      3.2246995,
      51.209348
    ],
    "keys": [
      "bruges",
      "flanders",
      "belgium"
    ]
  },
  {
    "id": "585069a6ee19ad271e9b5dce",
    "google_id": 1005812,
    "google_parent_id": 9069522,
    "name": "Bruges",
    "canonical_name": "Bruges,Nouvelle-Aquitaine,France",
    "country_code": "FR",
    "target_type": "City",
    "reach": 101000,
    "gps": [
      -0.6127469999999999,
      44.88179299999999
    ],
    "keys": [
      "bruges",
      "nouvelle",
      "aquitaine",
      "france"
    ]
  }
]

As you can see, the correct form of writing for Bruges is Bruges,Flanders,Belgium.

Now that you have your location sorted out, you can send a request to SerpApi from Bruges location as we already have the correct term for the location:

https://serpapi.com/search.json?engine=google&q=Coffee&location=Bruges%2C+Flanders%2C+Belgium&google_domain=google.be&gl=be&hl=nl&api_key=YOUR_API_KEY

When you send a request to this URL, you will receive the result like you are from Bruges searching for coffee.

Let's break down all the parameters here. Please note that all parameters are separated by an ampersand (&):

engine=google (This one selects parser engine, in our case we want Google Search)
q=Coffee (This one is our search term)
location=Bruges%2C+Flanders%2C+Belgium (%2C is used in place of comma)
google_domain=google.be (As you chose Bruges, this is selected automatically)
gl=be (gl means country while be is short code for Belgium)
hl=nl (hl means language and nl means Dutch. Official languages of Belgium are Dutch, French and German)

This is one way to set your location while using SerpApi for Google Search Results.

The second way to set your location with SerpApi is using uule parameter.

What is Google UULE parameter?

UULE parameter is used to encode a place or an exact location of a place with latitude and longitude. Use of this parameter enables you to see a Google result just like the person located at that specified location.

This parameter can be found both in cookies and in URL as a GET parameter. It mostly starts with “w+CAIQICI…”. This one is also used by Google Adwords to geotarget an audience. You can download all the uule locations supported by Google from Adwords' Developer page.

If you want to find out more about UULE or how to encode or decode UULE parameters, I strongly advise you to visit Valentin Pletzer's Valentin App.

If you would like to find out UULE of a location on the fly, there are many libraries to create UULE programmatically, from a JavaScript or PHP library to Python or Elixir. The CSV file I have linked above from Adwords' Developer page is also a great resource enabling you to use the UULE parameter or to find the correct spelling of any place, supported by Google to be used in search operations.

As we know how to create UULE parameter now, we can go ahead and test our knowledge in the Playground. For our test, we will encode Manhattan,New York, United States to UULE.

Canonical Name: Manhattan,New York,United States
UULE: w+CAIQICIgTWFuaGF0dGFuLE5ldyBZb3JrLFVuaXRlZCBTdGF0ZXM%3D

We can use either location parameter or uule parameter above to specify our location to see the the localized results.

As you can see, there are many ways to change your location to check local results.

You can edit URL parameters, use canonical location names or use UULE parameter which is encoded version of canonical names. Editing one time or two times may not be a problem if our research does not require more than a few URLs.

However, if you have more than a few URLs, the best way to go is to use any of the tools out there if location based information is not your bread and butter. But if your service or app heavily depends on the local search results, you can't trust those sources due to update times. Or they may not distribute the information in the format or way you would like to utilize.

Building and maintaining your own scraper for Search Engines is a pain due to blocking tech of Google, recaptchas and proxies.

When that is the case,  you won't find a service better than SerpApi. SerpApi can get you Search Engine results in JSON format with a speed that won't affect your development flow.

Give SerpApi a try if you would like to check Google Search Results for Different Locations. You will be thrilled by how much you can achieve with it.