ScreenshotNeo

BlogHow-to

How to Screenshot India-Specific Google Results Using the gl=IN Parameter

Use gl=IN to request Google results with India country context, then capture and label the page accurately. Here’s what the parameter means and how to save a useful screenshot.

By the ScreenshotNeo team4 October 20266 min read

gl=IN adds India country context to a Google search URL. To try it, open https://www.google.com/search?q=QUERY&gl=IN with your search phrase URL-encoded, then capture the rendered page using your device’s screenshot feature. Describe the image as results captured with the gl=IN country context: Google’s cited API documentation describes gl as a relevance boost, not a guarantee that results are India-only.

What gl=IN means

Google’s Custom Search API reference defines gl as a two-letter country code that boosts results associated with that country. The reference separately defines cr for restricting results to documents originating in a country. Those definitions describe the Custom Search API; they do not establish that the consumer Google Search URL parameter behaves identically or guarantees a particular result set. See Google’s Custom Search JSON API parameter reference and XML API documentation.

Therefore, a screenshot made from a consumer Search URL containing gl=IN is evidence of what that browser rendered for that query and setup. It is not proof that every result is from India or that another user will see the same page.

Build and open the search URL

  1. Choose the exact search phrase you want to investigate.
  2. Encode the phrase as a URL query value. For example, spaces become %20 (or + in form-style query encoding), and punctuation may need encoding.
  3. Append &gl=IN to the Google search URL.
  4. Open the URL in your browser and confirm that the address bar shows the intended query and gl=IN.

Example for “best monsoon trekking shoes”:

https://www.google.com/search?q=best%20monsoon%20trekking%20shoes&gl=IN

You can construct the URL in JavaScript to avoid encoding mistakes:

const url = new URL('https://www.google.com/search');
url.searchParams.set('q', 'best monsoon trekking shoes');
url.searchParams.set('gl', 'IN');
console.log(url.toString());

Or use Python:

from urllib.parse import urlencode

params = {'q': 'best monsoon trekking shoes', 'gl': 'IN'}
print('https://www.google.com/search?' + urlencode(params))

Keep the query and parameter explicit in your notes. Results can differ by session, location, time, and other search context; the available documentation does not promise identical consumer results across viewers.

Capture a clear, honest screenshot

  1. Wait until the search results have visibly loaded.
  2. Choose a capture method available on your operating system or browser. The exact shortcut depends on your device; consult its built-in screenshot instructions rather than assuming one key combination works everywhere.
  3. Frame the page so the query and enough result content are visible. If the address bar is outside the capture, include the exact URL or gl=IN in the accompanying caption.
  4. Review the image for account details, profile information, or other personal data and crop or retake it as appropriate.
  5. Do not alter result text or arrangement in a way that could misrepresent what the browser displayed.
  6. Label it, for example: “Google results for ‘best monsoon trekking shoes,’ captured with gl=IN on [date].”

A screenshot is a record of one rendered page. Keep the query, parameter, date, and relevant setup with it when the image will be used for research or comparison.

gl=IN versus country restriction

Parameter Documented purpose Safe description
gl Country relevance boost in Google’s Custom Search API documentation “Search requested with India country context”
cr Country-origin restriction in the Custom Search API documentation “Country-restricted API query,” when using that API as documented

Do not transfer the API’s parameter definitions into a claim about every consumer Search interface. If your requirement is strict country-origin filtering, use a documented method whose scope matches that requirement and verify its behavior for your use case. The site: operator is a separate way to request results from a specific site or URL prefix; it does not define gl or provide a general country restriction. See Google Search Central’s site: operator documentation.

Common problems and fixes

Problem Likely cause Fix
The URL searches for the wrong phrase Spaces, ampersands, or punctuation were not encoded correctly Build the URL with URLSearchParams or Python’s urlencode, then inspect the decoded query in the browser.
gl=IN is missing after navigation A redirect, manual edit, or copied URL dropped the parameter Check the final address bar and reopen the full URL if needed.
The results do not look exclusively Indian gl is documented as a relevance boost in the cited API docs, not a guarantee of exclusivity Label the screenshot as a country-context example. For a strict restriction, investigate an API parameter documented for that purpose and verify the scope.
Another person sees different results A screenshot captures one page under one query and setup; the cited sources make no cross-user sameness guarantee for consumer Search Record the query, URL, date, and capture context. Avoid presenting the capture as universal.
The page is incomplete or still loading The screenshot was taken before the visible results finished rendering or the viewport excluded content Wait for the page to settle, then recapture; use a full-page capture if the entire result page matters.
Personal information appears in the capture The browser session included account or profile details Use a suitable session and inspect the final image. Remove or obscure personal details without changing the search result content.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server by ScreenshotNeo. It can capture a URL as an image; for this query, pass the Google search URL with the encoded query and gl=IN. See the API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" \
  -d access_key=YOUR_API_KEY \
  --data-urlencode 'url=https://www.google.com/search?q=best%20monsoon%20trekking%20shoes&gl=IN' \
  -o google-india-context.webp

The same request in Python:

import requests

url = 'https://www.google.com/search?q=best%20monsoon%20trekking%20shoes&gl=IN'
r = requests.get(
    'https://api.screenshotneo.com/v1/shot',
    params={'access_key': 'YOUR_API_KEY', 'url': url},
    timeout=90,
)
r.raise_for_status()
open('google-india-context.webp', 'wb').write(r.content)

And in Node.js:

const target = 'https://www.google.com/search?q=best%20monsoon%20trekking%20shoes&gl=IN';
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 fs = await import('node:fs/promises');
await fs.writeFile('google-india-context.webp', Buffer.from(await res.arrayBuffer()));

ScreenshotNeo accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents and MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Check the docs for request options and setup, then sign up for 1,000 free screenshots a month with no card.

Performance, reliability, and cost notes

  • Repeatability: Save the final URL and capture date. A screenshot does not establish that another session or date will produce the same consumer search results.
  • Evidence quality: Keep the query visible or include it in a caption, and state that gl=IN supplied country context. Do not claim “India-only” based solely on this URL.
  • Capture size: A viewport screenshot is faster to review and share; a full-page capture can include more results but may make individual entries harder to read.
  • API cost: The manual browser screenshot method does not require a screenshot API. ScreenshotNeo has 1,000 free shots per month with no card; paid tiers are 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, and every feature is on every plan. Only clean shots are billed.

FAQ

No. It is a separate URL parameter from q; the query text remains the phrase you provide.

Can I use this screenshot to prove a website ranks in India?

It can document what one browser rendered for the stated query and setup. It does not by itself prove a universal or India-only ranking.

Should I use the Google homepage for India instead?

This guide uses the search URL parameter and makes no claim that a country-specific homepage alone restricts results. Keep the parameter and query visible in your evidence.