Google shows different results in different places, so a ranking check from your desk tells you little about what a searcher in Chicago or Manchester sees. Short answer: for a country, set the country (Google's gl parameter, or location=uk on a SERP API) and it works: our test returned 10 UK results out of 10. For a city, the dependable method on November 1, 2026 was to write the city into the query ("emergency plumber chicago" gave 9 Chicago-area results out of 9), or to use Google Maps or Google Jobs results, which localize by place name. City-level location parameters, including Google's uule, did not change Ujeebu's web results in our tests, and we explain below exactly what we measured.
Why Google results change by location
Google decides where a search comes from using the IP address, the browser's location if you allowed it, your account's settings, and any place named in the query. Local intent queries ("plumber", "dentist", "pizza") change the most: the organic results, the map pack and the ads all follow the location. Informational queries change much less.
When our AI Citation Index asked ChatGPT, Gemini and Google AI Overviews "How do I get localized Google results for a specific city?" 25 times in October 2026, the answers cited google.com 24 times, then keyword.com, proceedinnovative.com and searchenginejournal.com 8 times each and brightlocal.com 7 times. Eight of the 25 answers suggested a VPN and only 4 mentioned the uule parameter. Only one answer named any of the scraping or SERP API vendors we track.
The manual methods, and what each really changes
- Google's region setting. In Search settings you can pick a region. It is country level only, so it answers "what does Google UK show" but not "what does Leeds see".
- URL parameters. Adding
&gl=uksets the country and&hl=enthe interface language.&uule=carries an encoded place name, such asw+CAIQICIeQ2hpY2FnbyxJbGxpbm9pcyxVbml0ZWQgU3RhdGVzfor "Chicago,Illinois,United States" (a fixed prefix, one character for the length of the name, then the name in base64). It is the method most rank trackers were built on. - A VPN or proxy in the target country. This changes the IP address, which reliably moves you to another country. A city only works if the exit server is in that city, and Google can still prefer your browser location.
- Browser location override. Chrome DevTools (Sensors panel) lets you set coordinates for sites that ask for your location. It changes what the browser reports, not your IP address.
- The place in the query. "plumber chicago" instead of "plumber" is the oldest method and, in our tests, the one that worked best.
- A local results checker. BrightLocal's free Local SERP Checker runs 3 searches a day (10 with its trial) for a city or ZIP code.
Try it yourself
Run this on your own pages
Get a free API key and make your first call in minutes. 5,000 free credits for 7 days, no card.
What we measured with an API
We ran the same local query, "emergency plumber", through the Ujeebu SERP API on November 1, 2026, changing only how the location was set, and counted how many of the organic results were about the target place. Each call cost 5 credits.
| Call | Results about the target place | What came back |
|---|---|---|
location=us (baseline) |
not applicable | 9 results about 8 different US places, from Bakersfield, CA to Providence, RI |
location=Chicago, IL |
0 of 9 Chicago | Omaha, Bakersfield, Knoxville, Pensacola, Milwaukee and others. The API sent Google a uule for "Chicago, IL", and Google did not use it |
location=us plus extra_params=&uule= for "Chicago,Illinois,United States" |
0 of 8 Chicago | 6 of the 8 results were the same pages as the baseline (Cicero, Covington, Denver, Laurel, Providence and a national directory) |
location=uk |
10 of 10 UK | Coventry, Walsall, Greater London, Gloucester, Kettering, Sunderland, Perth, Darlington, Newcastle, Derby |
search=emergency plumber chicago, location=us |
9 of 9 Chicago area | 8 Chicago pages and 1 for Aurora, IL |
Two other result types localized by the place name every time. A Google Maps search for "dentists in Chicago, IL" (search_type=maps) returned 20 places, all 20 with a Chicago street address. A Google Jobs search for "data analyst" with location=Chicago, Illinois returned 10 postings, all 10 located in Chicago, IL. In both cases the place ends up in the query Google receives, which is consistent with the query test above.
So, as of November 1, 2026: country codes work, the place in the query works, and city-level location parameters did not work for ordinary web results through our API. Our API team has had this on its list since October 28, 2026; until it is fixed we do not recommend the uule path through extra_params, because our test shows it changes nothing.
How to get Google results for a city with an API, step by step
Country results, with the country code:
curl -G 'https://api.ujeebu.com/serp' \
-H 'ApiKey: YOUR_API_KEY' \
--data-urlencode 'search=emergency plumber' \
-d 'location=uk'
City results, with the city in the query and the country as the location:
curl -G 'https://api.ujeebu.com/serp' \
-H 'ApiKey: YOUR_API_KEY' \
--data-urlencode 'search=emergency plumber chicago' \
-d 'location=us'
Local businesses, with Google Maps:
curl -G 'https://api.ujeebu.com/serp' \
-H 'ApiKey: YOUR_API_KEY' \
--data-urlencode 'search=dentists in Chicago, IL' \
-d 'search_type=maps'
A few rules from our tests:
- Name the city the way locals search. "chicago" worked in our test. For smaller towns we would add the state ("aurora il"), because a bare town name can match several places; test it as below.
- Keep
locationat the country. It setsgl, which Google honoured in every test, and keeps national results out. - Check the result titles, not only the ranks. Counting how many results mention the target place, as we did above, is a quick test that your localization works before you build a report on it.
- Use Maps for the local pack. The map results carry addresses, phone numbers, ratings and coordinates, so you can verify the place yourself.
- Set the language for non-English countries with
lang(for examplelang=dewithlocation=de).
What this costs
Every Ujeebu search costs 5 credits whatever the location or result type, and failed searches are free. The seven calls in this article cost 35 credits. The 5,000 free trial credits cover 1,000 searches, and plans start at $49 a month for 300,000 credits (60,000 searches, $0.82 per 1,000). See the SERP API page for every search type and the best SERP APIs comparison for other vendors' prices.
Frequently asked questions
How do I see Google results for a different city?
Put the city in the search ("plumber chicago") and set the country. In our November 1, 2026 test this returned 9 Chicago-area results out of 9, while the same search without the city returned results from 8 other US places. A VPN exit in that city, or BrightLocal's free checker (3 searches a day), are the manual alternatives.
Does the uule parameter still work?
We could not make it work through the Ujeebu API on November 1, 2026: a search with a Chicago uule returned 0 Chicago results out of 8, and 6 of the 8 were the same pages as a plain US search. We have not tested it in a desktop browser, where results also depend on your IP address and browser location.
Can a SERP API return results for a specific country?
Yes. With location=uk, all 10 results of our test were about UK towns. Country targeting is the part every SERP API we know supports.
What is the difference between gl and hl?
gl is the country the search comes from; hl is the language of Google's interface. Set both for a foreign market: country for which sites rank, language for snippets and features.
Try it yourself
Run this on your own pages
Get a free API key and make your first call in minutes. 5,000 free credits for 7 days, no card.