ScreenshotNeo

BlogHow-to

How to Screenshot Local Search Results for Multiple Cities

Capture local search results consistently across cities, record the context that affects rankings, and choose a manual or repeatable workflow.

By the ScreenshotNeo team4 October 20269 min read

To compare local search results across cities, search the same phrase on the same platform for each city, capture each results page, and record the exact query, location, platform, device or browser, and date with the image. For occasional checks, do this manually. For recurring reports or comparisons within a city, use a local rank tracker with named location points or a geo-grid, then save the screenshot for each point.

A screenshot documents what appeared for one search, location, platform, and time. It does not establish a single permanent rank across an entire city: Google says local results are mainly based on relevance, distance, and popularity, and the distance factor can vary with the search location. Google’s explanation of local ranking is useful context for interpreting your captures.

1. Define a fair comparison

Before capturing anything, decide what you want to compare. If you want to see how results differ by city, keep the search phrase and platform fixed and change the city. If you want to compare visibility within one service area, use several location points in that area rather than treating a single city-center search as representative.

  • Choose one platform: use Google Maps for every capture, or Google Search for every capture. Do not mix them in one comparison.
  • Choose one query: use the same wording for each location, such as plumber in Austin, Texas. Avoid switching between a city-qualified query and “near me.”
  • Choose a location method: include a city in the query for a simple city-level sample, or use a tracker’s named address or grid point for more specific checks.
  • Keep capture conditions steady: use the same device or browser and capture the locations within a reasonably consistent time window. Record any differences you cannot control.

Google Maps supports general search terms and location-qualified queries. Its documented Maps URL format requires api=1; encode the query when constructing a URL. Google Maps URLs documentation has the format and parameter details.

2. Capture several cities manually

  1. Make a list of cities and regions to check. Use a consistent format, including the state or region where city names may be ambiguous.
  2. Write one exact query template, for example roof repair in [city], [state]. Substitute only the city and region.
  3. Open Google Maps or Google Search and run the first query. Wait until the results and map have loaded before taking the screenshot.
  4. Capture the visible results. Make sure the query and enough location context are visible, or put them in a caption or companion log.
  5. Repeat for every city using the same platform, query wording, and device or browser.
  6. Save each image with a predictable filename and keep the metadata alongside it.

For example, Maps search links can be assembled using the documented URL pattern. Replace the sample query with your own, encoding spaces and punctuation for a URL:

https://www.google.com/maps/search/?api=1&query=plumber%20in%20Austin%2C%20Texas

For another city, keep the phrase identical and change only the location:

https://www.google.com/maps/search/?api=1&query=plumber%20in%20Denver%2C%20Colorado

Open each link in your browser, allow the results to load, and use your operating system’s built-in screenshot function. Exact keyboard shortcuts vary by operating system and were not verified for this guide, so use the screenshot method documented for your device.

Keep a capture log

Use a CSV, spreadsheet, or text file with one row per screenshot. A practical record includes:

filename,platform,query,location,device_or_browser,captured_at,notes
maps_plumber_austin_tx_2026-10-04.png,Google Maps,"plumber in Austin, Texas","Austin, Texas",Desktop browser,2026-10-04T14:00Z,"Map results fully loaded"
maps_plumber_denver_co_2026-10-04.png,Google Maps,"plumber in Denver, Colorado","Denver, Colorado",Desktop browser,2026-10-04T14:08Z,"Map results fully loaded"

The timestamp and location are part of the evidence. Without them, a screenshot is difficult to interpret later or compare with a new capture.

3. Use a tracker for recurring or detailed checks

If you repeat the comparison regularly, a local rank tracker can manage location points and capture results associated with those points. A city-level check and an in-city grid answer different questions:

Setup What it tells you Best fit
One named point per city Results from one selected address or representative point in each city Comparing a few cities over time
Several points in one service area How results vary from place to place within the area Understanding local coverage and proximity effects

SE Ranking’s help documentation describes configuring Google Maps tracking with a country or region, exact address points, keywords, and grids. Its documented grid settings include sizes from 3×3 to 15×15, and its usage limits are based on point-keyword combinations; check the current documentation and plan limits before setting up a large grid. SE Ranking Help Center.

BrightLocal documentation describes opening a SERP screenshot from Local Search Grid points and selecting screenshots from Local Rank Tracker rankings. Some of the cited documentation is marked legacy, so confirm that the current interface exposes the same controls. The cited Local Rank Tracker help article says screenshots are stored for 45 days; verify current retention and archive anything you need to keep. BrightLocal Help Center.

When selecting a tracker, check whether it gives access to the actual results page screenshot for each point, how long those images are retained, what locations and keywords count toward usage limits, and whether you can export or archive results for your records.

4. Interpret the screenshots carefully

Describe each image as a capture of a specific query at a specific place and time. A screenshot can show the results interface and visible listings for that sample. It cannot prove that every searcher in the city sees the same order or that a business holds a fixed citywide position.

Google identifies relevance, distance, and popularity as important local-result factors. Because distance matters, a result from one point may differ from another point nearby. A grid makes that variation visible by sampling multiple points. The conclusion that one point is not representative of a whole city follows from Google’s distance guidance and the point-based grid approach; it is an interpretation, not a quoted Google rule.

  • Label city-level captures as samples, not universal city rankings.
  • For before-and-after comparisons, keep the query, platform, point, device or browser, and capture timing consistent.
  • When a result changes, first check whether the query, location point, platform, date, or capture conditions changed.
  • Preserve original screenshots and logs if the result is part of a client report or audit.

5. Automate the capture with ScreenshotNeo

If you want a repeatable image-capture step in your own workflow, ScreenshotNeo is a website screenshot API and MCP server from Yorker Media. It accepts a URL and returns an image or PDF. For a Maps search, pass the encoded Maps URL as the target URL. This captures the page reached by that URL; it does not itself configure a Google geolocation or guarantee a particular personalized local result. Keep the city in the query or use the tracker workflow above when a precise search point is required.

For the manual Maps links above, the URL needs encoding as a parameter value. Here is a runnable cURL example for a city search:

curl -G "https://api.screenshotneo.com/v1/shot" \
  -d access_key=YOUR_API_KEY \
  --data-urlencode 'url=https://www.google.com/maps/search/?api=1&query=plumber%20in%20Austin%2C%20Texas' \
  -o maps-austin.webp

Python equivalent:

import requests

search_url = "https://www.google.com/maps/search/?api=1&query=plumber%20in%20Austin%2C%20Texas"
r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": search_url},
    timeout=90,
)
r.raise_for_status()
with open("maps-austin.webp", "wb") as image:
    image.write(r.content)

Node.js equivalent:

const target = 'https://www.google.com/maps/search/?api=1&query=plumber%20in%20Austin%2C%20Texas';
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: target });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const bytes = Buffer.from(await res.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('maps-austin.webp', bytes));

Replace YOUR_API_KEY with your key and change the city and query for each capture. The ScreenshotNeo API documentation describes the API and its parameters.

Or skip the browser setup

Send one request with the Maps search URL and save the returned image. ScreenshotNeo can remove cookie banners, newsletter popups, and chat widgets before capture. Bot checks, blank pages, and failed loads are never billed; responses identify the page verdict and billing status in headers. Its MCP server provides screenshot tools for AI agents, and the free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode 'url=https://www.google.com/maps/search/?api=1&query=plumber%20in%20Austin%2C%20Texas' -o maps-austin.webp

See the API docs for the available options. Sign up free for 1,000 screenshots a month, with no card required.

6. Troubleshoot common problems

Problem Likely cause What to do
Cities show different result types or a different search The query wording or platform changed, or the location was not specified consistently. Use one exact query template, add each city and region explicitly, and keep Maps or Search consistent.
A screenshot is blank or incomplete The results page had not finished loading when the capture was taken. Wait for the result list and map to appear before capturing. For automated captures, use a suitable wait condition or delay when available.
A city result does not match what someone else sees Their search point, query, device, or timing may differ. Local results vary with relevance, distance, and popularity. Compare the exact location and query, then capture from the same point and platform. Treat each image as a sample.
A tracker screenshot is no longer available The vendor may have a limited retention period. Check the current retention policy and download or archive screenshots needed for long-term records.
A grid consumes more tracking capacity than expected Usage may be counted per location-point and keyword combination. Review the current plan’s point and keyword limits; start with fewer points and expand only if the added detail is useful.
An API response is an error instead of an image The key may be missing or invalid, the target URL may be malformed, or the page may not load. Check the key and URL encoding, inspect the HTTP response and ScreenshotNeo response headers, and retry after correcting the request.

7. Performance, reliability, and cost

Manual capture has no software usage charge, but it takes time and is easy to perform inconsistently across many cities. A tracker reduces repeated setup and can provide point-based results, while its location, keyword, grid, retention, and export limits depend on the current vendor product and plan. Verify these details before building a recurring report around them.

For API capture, request only the cities and frequency your report needs. A 15×15 grid has far more points than one point per city, and tracking capacity may be counted as point-keyword combinations. Save filenames and metadata immediately, and keep the original returned files if you need an audit trail. ScreenshotNeo plans include 1,000 monthly shots free, then paid plans start at $5 for 3,000; yearly billing provides two months free, and every feature is available on every plan. A capture tool handles the screenshot request, while the exact search location context still needs to be represented by your target URL or tracking setup.

FAQ

Should I search “near me” for each city?

For comparing cities, use explicit city-qualified searches with identical wording. “Near me” depends on the searcher’s location context and is harder to reproduce consistently.

Is one screenshot enough to report a city ranking?

It documents one query at one point and time. Use multiple points if you need to understand variation across a service area.

Yes. The documented Maps URL format uses api=1 and an encoded query. The links above provide a template.

How long should I keep screenshots?

Keep them as long as your reporting or audit requires. Vendor retention can change; archive needed images yourself rather than relying on a temporary report view.