Skip to main content
Glama
HasData

Google Search MCP Server

google_serp_serp: GET /

hasdata_google_serp_serp_getSearchResults

Retrieve Google SERPs with configurable location, language, device, and filters to extract organic results, ads, knowledge graph, and SERP features for SEO analysis and person/business lookup.

Instructions

Get Google Search Results

Full-featured Google Search scraper with location/uule, country (gl), language (hl, lr), domain, device type, safesearch, time/date filters (qdr, cdr), knowledge-graph IDs, and tbm vertical selection (images, videos, news, shopping, local), plus offset/num pagination. Returns organic results (title, link, snippet, position), ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, AI Overview pageToken, and rich SERP features. Use for SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, grounding LLMs with fresh location-aware search data, and especially for person/company data enrichment — e.g. finding a person's LinkedIn/Instagram/Twitter profile (Roman Milyushkevich LinkedIn, HasData Instagram), a company's CEO/founder/leadership (HasData CEO, HasData founder), contact emails (Roman Milyushkevich HasData email), phone numbers, GitHub profiles, press mentions, or any public attribute of a person or business by running a targeted query and parsing the top organic results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
lrNoThe 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content.
siNoGoogle Cached Search Parameters ID.
numNoNumber of results per page, ranging from 10 to 100.
tbmNoSpecify the type of search.
tbsNoThis parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters: - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range. - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest. - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query. - Sites with Images: `img:1` - Only show results from webpages that contain images. Quick Date Range (qdr): - `qdr:h` - Show results from the past hour. - `qdr:d` - Limit results to the past day. - `qdr:w` - Filter results from the week. - `qdr:m` - Display results from the past month. - `qdr:y` - Show results from the past year. - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively. These filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.
lsigNoAdditional Google Place ID.
nfprNoControls if auto-corrected results are shown. 0 includes them (default), 1 shows only the original query. Google may still return auto-corrected results if no others are available.
safeNoAdult Content Filtering option.
uuleNoThe encoded location parameter.
kgmidNoGoogle Knowledge Graph ID.
startNoThis parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 10 refers to the second page, and 20 to the third page. For Google Local Results, the start value must be in multiples of 20, such as 20 for the second page, 40 for the third page, etc.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filterNoDefines whether to enable or disable the filters for 'Similar Results' and 'Omitted Results'. Set to 1 (default) to enable these filters, or 0 to disable them.
ludocidNoThe Google Place ID for a specific location.
locationNoGoogle canonical location for the search.
deviceTypeNoSpecify the device type for the search.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It clearly states what the tool returns (organic results, ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, AI Overview pageToken) and examples of query patterns. It does not mention rate limits, error handling, or side effects, but for a read-only search scraper it is sufficiently transparent about its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but dense, front-loaded with the core purpose and then expanding into features and use cases. It uses a single flowing paragraph without bullet points, but each clause adds information. It is not excessively verbose and every sentence earns its place, though a more structured layout would improve scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 19 parameters and no output schema, the description covers a lot: use cases, return types, and example queries. It does not explicitly address edge cases, error responses, or limitations, and it does not differentiate clearly from sibling tools, but the core functionality is well documented and the schema fills in parameter details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by grouping parameters (location/uule, country, language, domain, device type, safesearch, time/date filters, tbm verticals) and illustrating with real-world queries like 'Roman Milyushkevich LinkedIn' and 'HasData CEO'. This adds semantic value that helps an agent map parameters to use cases.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb-resource pair ('Get Google Search Results') and then enumerates a vast feature set that distinguishes it from siblings. Phrases like 'Full-featured Google Search scraper' and the list of supported filters and result types (organic, ads, knowledge graph, People Also Ask, AI Overview) make it immediately obvious this is the comprehensive SERP tool compared to niche siblings such as serp_light.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit use cases: SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, grounding LLMs, and especially person/company data enrichment with concrete examples. However, it never contrasts itself with the sibling serp_light or states when to choose this over other SERP tools, so it lacks explicit when-not guidance and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HasData/google-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server