ScreenshotNeo

BlogHow-to

How to Capture Google Business Profile Results Screenshots for Indian Local SEO

Capture Google Search and Maps results for Indian local SEO with the query, location, device and date needed to interpret each screenshot.

By the ScreenshotNeo team4 October 202610 min read

To document a Google Business Profile’s public visibility for Indian local SEO, capture the actual Google Search or Google Maps results page and record the exact query, intended locality, surface, device, date and time, and relevant account or location context. Treat the image as one observation under those conditions—not a universal rank for everyone in a city. To document measured profile interactions, use the profile’s Performance view or its downloadable report instead; that data is not a stable public ranking position.

1. Decide what the screenshot needs to prove

First choose between two different kinds of evidence:

  • Public placement: a view of Google Search results or Google Maps results for a stated query and locality. This records what appeared in that observation.
  • Profile performance: metrics such as searches, views, calls, website clicks, directions, messages, or bookings for a verified Business Profile, when those measures apply. Use Google’s Performance view or report and preserve its metric names and reporting period.

A screenshot of a public result cannot establish how many people saw or interacted with a profile. A Performance metric cannot by itself establish the profile’s local-pack rank. Keep those claims separate.

2. Define the query, locality, and Google surface

  1. Write the exact search phrase. Preserve the wording, including the service and place if present—for example, a neighbourhood-level query and a broad city query are different observations.
  2. Name the target place. Record the Indian city, neighbourhood, or service area you intend to observe. If you use a location setting or controlled test setup, describe it accurately.
  3. Choose Search or Maps. Capture Google Search if the claim is about a Search result page, or Google Maps if it is about Maps. A Maps result and a Search result are not interchangeable.
  4. Record context. Note date, time and time zone, device type, whether signed in, and any visible location Google reports. Incognito mode does not remove location or all variation.

Google says Search results can vary with factors including location, language, device, current searches, and personalization. Its ranking explanation says that Google considers query words, relevance and usability, expertise, and a searcher’s location and settings; it also notes that systems recognize local intent. These statements do not establish the weight of any single factor. See Google’s pages on personalization and Search results, location in Search, and how Google determines ranking results.

3. Capture the result manually

  1. Open the chosen Google Search or Maps surface on the device you are documenting.
  2. Enter the exact query and inspect the location context shown by Google. Do not describe an assumed or simulated place as your actual physical location.
  3. Wait until the relevant result or map context is visible and legible.
  4. Use the computer or phone’s built-in screenshot control. Include enough of the page to show the query and relevant business, result, or map context.
  5. Save the original capture. If you crop or annotate a copy for a report, retain the unedited original and disclose edits that could affect interpretation.
  6. Store the capture with a note or filename containing the query, locality, date, surface, and device.

A useful record note might read: Query: [exact phrase]; locality: [neighbourhood, city, India]; surface: Search/Maps; captured: [date, time, time zone]; device: [type]; signed in: yes/no; visible Google location: [shown value or not visible]. This is an editorial record-keeping recommendation, not a Google-prescribed screenshot protocol.

4. Compare dated observations responsibly

For a before-and-after comparison, repeat the same query, locality, surface, device type, and approximate account and location conditions. Put the capture dates next to both images. Keep the original files. Even with those conditions held as consistently as practical, results can still vary, so describe the comparison as two dated observations rather than a guarantee of what every searcher saw.

Do not compare a broad city search to a neighbourhood query, a Search page to a Maps page, or captures with materially different location contexts as though they were the same test. If a report uses a controlled location setting, label it as such.

5. Capture Business Profile performance metrics

For profile discovery and interaction measures, use the official Performance reporting workflow. Google says this feature is available for verified Business Profiles and requires signing in to the associated Google Account.

  • Google Search: open the Business Profile, select Performance, choose a reporting period, and apply it.
  • Google Maps app: open Business > Performance > See more, select a period, and apply it.
  • Business Profile Manager on a computer: select profiles, open Actions > Insights, choose a timeframe, and download the report.

Interface labels can change. Consult Google’s current Business Profile performance instructions if a menu differs. Preserve the selected period, profile, and exact metric labels in screenshots or exported records.

6. Interpret the metrics and exports carefully

Performance measures have definitions and counting limits. For example, Google defines calls as clicks on the call button, not confirmed completed calls. Views count unique visitors under Google’s stated rules and can be lower than other view counts. Google’s direction-request counting accounts for multiple taps, canceled requests, and spam. Website-click reporting can differ by surface or report context. Preserve the labels and context shown; do not recast these numbers as completed customer calls, visits, or a direct rank measurement. See Google’s Performance definitions and changes to performance data.

Google supports downloading spreadsheets for selected profiles and timeframes. Google Analytics linking can show aggregated Business Profile metrics: multiple linked profiles are summed and cannot be segmented by individual profile in the documented report, and those Business Profile metrics are available there for the last six months. Check Google’s documentation on connecting Business Profile to Google Analytics before designing a reporting process around that integration.

7. Automate repeatable page captures

For a simple, permitted capture of a public page, a browser automation library can open the page and save a screenshot. Keep the query, target location setup, browser context, and date in the accompanying record. Automation does not make Google’s results universal or remove result variation. Google pages can also change their markup, present consent or verification screens, or require interaction; inspect the resulting image before using it as evidence.

Install Playwright for Node.js with npm install playwright, then install its Chromium browser with npx playwright install chromium. Save this as capture.mjs and run node capture.mjs:

import { chromium } from 'playwright';

const query = process.env.QUERY ?? 'dentist in Indiranagar Bengaluru';
const searchUrl = `https://www.google.com/search?q=${encodeURIComponent(query)}`;
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage({ viewport: { width: 1440, height: 1000 } });

try {
  await page.goto(searchUrl, { waitUntil: 'domcontentloaded', timeout: 60000 });
  await page.screenshot({ path: 'google-search.png', fullPage: true });
  console.log(`Saved ${searchUrl} to google-search.png`);
} finally {
  await browser.close();
}

This example captures a Search URL and does not guarantee that Google will return a specific location’s results. Do not infer that the URL alone sets the searcher’s location. For a defensible local observation, use a clearly documented location context and verify what Google reports. Search and Maps pages may require a browser interaction or a different capture step as their interfaces change; check the image and preserve the original.

Practical options for browser captures

  • Viewport: choose dimensions that make the query and evidence legible; record desktop or mobile context.
  • Full-page: useful when relevant results extend below the fold, but very tall images can be difficult to review. Capture a focused viewport if that is enough to show the evidence.
  • Signed-in state: only use it when it reflects the observation you need, and record that context. A clean browser profile can reduce carryover from prior sessions but does not remove location or all result variation.
  • Wait behavior: wait for the relevant content rather than assuming navigation completion means results are fully rendered. Inspect the final image for incomplete loading or interstitials.
  • Repeatability: store capture time, query, and setup alongside the file. Keep an original and avoid silently changing result content.

8. Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. One GET request can return a PNG, JPEG, WebP, or PDF. Its clean-capture flow accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Only clean shots are billed: bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and responses include X-Page-Verdict and X-Billed headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. Free includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. See the ScreenshotNeo API documentation.

Use an authorized, directly addressable page as the target; this one-call example does not configure or guarantee a particular Google locality or search result. Preserve and disclose the query and location context as described above.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The example target is Stripe’s public page, as shown in the product’s example. For a Google result capture, replace the target with the exact permitted Search or Maps URL you intend to document, then verify the resulting image and record its context. ScreenshotNeo supports custom headers, cookies, user agent, viewport and device presets, wait conditions, full-page capture, caching, bulk capture, and other settings; consult the docs for parameter names and behavior. Its parameter names used by other screenshot APIs also work, which can ease switching. Plans include every feature: Free 1,000 per month, Starter $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000; yearly billing gives two months free.

Sign up for 1,000 free screenshots a month with no card.

9. Troubleshooting

Problem Likely cause What to do
Your screenshot shows a different local result from a client’s Location, language, device, current searches, personalization, or account context can affect results. Record each observation’s context and compare like with like. Avoid claiming either image is what everyone in the city sees.
The screenshot does not establish the intended Indian locality The query or Google’s reported search location does not match the intended place. Check the exact query and visible location context. Describe any controlled location setup accurately; do not claim incognito mode fixed this.
A Search screenshot is being used to make a Maps claim The captured surface differs from the one being discussed. Capture the correct surface and label it as Search or Maps.
The page is blank or incomplete Navigation may have completed before relevant content rendered, or the page may show an interstitial or failed load. Inspect the page, wait for the relevant content, retry if appropriate, and keep failed or incomplete captures out of evidence claims.
Performance numbers do not look like customer counts Google’s metrics are defined interactions and views, not necessarily completed calls, visits, or unique customers in the ordinary sense. Use Google’s displayed metric definition, retain labels and date range, and avoid relabeling counts.
A Business Profile Performance option is missing The profile may not be verified, or the signed-in account may not be the associated Google Account; interface navigation may also have changed. Check verification and account access, then consult Google’s current Performance instructions.
Exports or Analytics totals do not match a single profile view Export timeframe, aggregation, linked profiles, metric definitions, or report context may differ. Compare the same profile, period, and metric where possible. Note that the documented Analytics integration aggregates linked profiles and has a six-month availability limit for these metrics.

10. Performance, reliability, and cost

Manual screenshots have no additional capture-service charge when using an existing device, but they require repeat work and careful record keeping. Browser automation avoids repetitive manual steps, though navigation and rendering can fail or change and the result still needs inspection. For repeated captures, save context metadata with every image and keep dated originals; a screenshot is only as reliable as its documented conditions and visible evidence.

For API-based page capture, ScreenshotNeo pricing is based on plan allowance as listed above. The service says only clean shots are billed and identifies verdict and billing status in response headers; blank pages, bot checks, failed loads, timeouts, and cache hits are not billed. Choose a cache policy deliberately if freshness matters, since a cached image is not a new live observation. No universal capture-time benchmark is stated here; page complexity, rendering, and wait behavior affect how long a capture takes. For official performance metrics, Google’s own Performance view or export is the relevant source rather than a screenshot API.

11. Frequently asked questions

Can I prove a business ranked first across an Indian city with one screenshot?

No. It documents one result under one query and set of conditions. It cannot establish what all searchers across a city saw.

Does an incognito search remove personalization and location effects?

No. It may change some browser context, but Google identifies several other sources of variation, including location, language, device, and current searches.

Can I screenshot Business Profile Performance?

Yes, if you can access the verified profile with its associated Google Account. Keep the selected period and metric labels visible, and distinguish those measurements from public placement.

Should I use a screenshot or export for a client report?

Use a screenshot to show a visible observation or interface state. Use the official export when the claim concerns reported Performance metrics over a selected period, and preserve the export’s definitions and scope.