Skip to main content
Glama

google_serp_serp: GET /

hasdata_google_serp_serp_getSearchResults
Read-only

Get Google Search Results

Full-featured Google Search scraper with location/uule, country (gl), language (hl, lr), domain, device type, safesearch, time/date filters via tbs (qdr, cdr), and tbm vertical selection (images, videos, news, shopping, local), plus offset/num pagination (num capped at 10 without tbm). 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / domain / description
      Previous value: -"Google domain to use. Default is google.com."New value: +"Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
    • removedInput schema / properties / domain / enum
      Removed value: -[
      -  "google.ac",
      -  "google.ad",
      -  "google.ae",
      -  "google.al",
      -  "google.am",
      -  "google.as",
      -  "google.at",
      -  "google.az",
      -  "google.ba",
      -  "google.be",
      -  "google.bf",
      -  "google.bg",
      -  "google.bi",
      -  "google.bj",
      -  "google.bs",
      -  "google.bt",
      -  "google.by",
      -  "google.ca",
      -  "google.cd",
      -  "google.cf",
      -  "google.cg",
      -  "google.ch",
      -  "google.ci",
      -  "google.cl",
      -  "google.cm",
      -  "google.co.ao",
      -  "google.co.bw",
      -  "google.co.ck",
      -  "google.co.cr",
      -  "google.co.id",
      -  "google.co.il",
      -  "google.co.in",
      -  "google.co.jp",
      -  "google.co.ke",
      -  "google.co.kr",
      -  "google.co.ls",
      -  "google.co.ma",
      -  "google.co.mz",
      -  "google.co.nz",
      -  "google.co.th",
      -  "google.co.tz",
      -  "google.co.ug",
      -  "google.co.uk",
      -  "google.co.uz",
      -  "google.co.ve",
      -  "google.co.vi",
      -  "google.co.za",
      -  "google.co.zm",
      -  "google.co.zw",
      -  "google.com",
      -  "google.com.af",
      -  "google.com.ag",
      -  "google.com.ai",
      -  "google.com.ar",
      -  "google.com.au",
      -  "google.com.bd",
      -  "google.com.bh",
      -  "google.com.bn",
      -  "google.com.bo",
      -  "google.com.br",
      -  "google.com.bz",
      -  "google.com.co",
      -  "google.com.cu",
      -  "google.com.cy",
      -  "google.com.do",
      -  "google.com.ec",
      -  "google.com.eg",
      -  "google.com.et",
      -  "google.com.fj",
      -  "google.com.gh",
      -  "google.com.gi",
      -  "google.com.gt",
      -  "google.com.hk",
      -  "google.com.jm",
      -  "google.com.kh",
      -  "google.com.kw",
      -  "google.com.lb",
      -  "google.com.ly",
      -  "google.com.mm",
      -  "google.com.mt",
      -  "google.com.mx",
      -  "google.com.my",
      -  "google.com.na",
      -  "google.com.ng",
      -  "google.ng",
      -  "google.com.nf",
      -  "google.com.ni",
      -  "google.com.np",
      -  "google.com.om",
      -  "google.com.pa",
      -  "google.com.pe",
      -  "google.com.pg",
      -  "google.com.ph",
      -  "google.com.pk",
      -  "google.com.pr",
      -  "google.com.py",
      -  "google.com.qa",
      -  "google.com.sa",
      -  "google.com.sb",
      -  "google.com.sg",
      -  "google.com.sl",
      -  "google.com.sv",
      -  "google.com.tj",
      -  "google.com.tr",
      -  "google.com.tw",
      -  "google.com.ua",
      -  "google.com.uy",
      -  "google.com.vc",
      -  "google.com.vn",
      -  "google.cat",
      -  "google.cn",
      -  "google.cv",
      -  "google.cz",
      -  "google.de",
      -  "google.dj",
      -  "google.dk",
      -  "google.dm",
      -  "google.dz",
      -  "google.ee",
      -  "google.es",
      -  "google.fi",
      -  "google.fm",
      -  "google.fr",
      -  "google.ga",
      -  "google.ge",
      -  "google.gg",
      -  "google.gl",
      -  "google.gm",
      -  "google.gp",
      -  "google.gr",
      -  "google.gy",
      -  "google.hn",
      -  "google.hr",
      -  "google.ht",
      -  "google.hu",
      -  "google.ie",
      -  "google.im",
      -  "google.iq",
      -  "google.is",
      -  "google.it",
      -  "google.je",
      -  "google.jo",
      -  "google.kg",
      -  "google.ki",
      -  "google.kz",
      -  "google.la",
      -  "google.li",
      -  "google.lk",
      -  "google.lt",
      -  "google.lu",
      -  "google.lv",
      -  "google.md",
      -  "google.me",
      -  "google.mg",
      -  "google.mk",
      -  "google.ml",
      -  "google.mn",
      -  "google.ms",
      -  "google.mu",
      -  "google.mv",
      -  "google.mw",
      -  "google.ne",
      -  "google.nl",
      -  "google.no",
      -  "google.nr",
      -  "google.nu",
      -  "google.pl",
      -  "google.pn",
      -  "google.ps",
      -  "google.pt",
      -  "google.ro",
      -  "google.rs",
      -  "google.ru",
      -  "google.rw",
      -  "google.sc",
      -  "google.se",
      -  "google.sh",
      -  "google.si",
      -  "google.sk",
      -  "google.sm",
      -  "google.sn",
      -  "google.so",
      -  "google.sr",
      -  "google.st",
      -  "google.td",
      -  "google.tg",
      -  "google.tk",
      -  "google.tl",
      -  "google.tm",
      -  "google.tn",
      -  "google.to",
      -  "google.tt",
      -  "google.vg",
      -  "google.vu",
      -  "google.ws"
      -]
    • changedInput schema / properties / gl / description
      Previous value: -"The two-letter country code for the country you want to limit the search to."New value: +"The 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`."
    • removedInput schema / properties / gl / enum
      Removed value: -[
      -  "ac",
      -  "af",
      -  "al",
      -  "dz",
      -  "as",
      -  "ad",
      -  "ao",
      -  "ai",
      -  "aq",
      -  "ag",
      -  "ar",
      -  "am",
      -  "aw",
      -  "au",
      -  "at",
      -  "az",
      -  "bs",
      -  "bh",
      -  "bd",
      -  "bb",
      -  "by",
      -  "be",
      -  "bz",
      -  "bj",
      -  "bm",
      -  "bt",
      -  "bo",
      -  "ba",
      -  "bw",
      -  "bv",
      -  "br",
      -  "io",
      -  "bn",
      -  "bg",
      -  "bf",
      -  "bi",
      -  "kh",
      -  "cm",
      -  "ca",
      -  "cv",
      -  "ky",
      -  "cf",
      -  "td",
      -  "cl",
      -  "cn",
      -  "cx",
      -  "cc",
      -  "co",
      -  "km",
      -  "cg",
      -  "cd",
      -  "ck",
      -  "cr",
      -  "ci",
      -  "hr",
      -  "cu",
      -  "cy",
      -  "cz",
      -  "dk",
      -  "dj",
      -  "dm",
      -  "do",
      -  "ec",
      -  "eg",
      -  "sv",
      -  "gq",
      -  "er",
      -  "ee",
      -  "et",
      -  "fk",
      -  "fo",
      -  "fj",
      -  "fi",
      -  "fr",
      -  "gf",
      -  "pf",
      -  "tf",
      -  "ga",
      -  "gm",
      -  "ge",
      -  "de",
      -  "gg",
      -  "gh",
      -  "gi",
      -  "gr",
      -  "gl",
      -  "gd",
      -  "gp",
      -  "gu",
      -  "gt",
      -  "gn",
      -  "gw",
      -  "gy",
      -  "ht",
      -  "hm",
      -  "va",
      -  "hn",
      -  "hk",
      -  "hu",
      -  "im",
      -  "is",
      -  "in",
      -  "id",
      -  "ir",
      -  "iq",
      -  "ie",
      -  "il",
      -  "it",
      -  "je",
      -  "jm",
      -  "jp",
      -  "jo",
      -  "kz",
      -  "ke",
      -  "ki",
      -  "kp",
      -  "kr",
      -  "kw",
      -  "kg",
      -  "la",
      -  "lv",
      -  "lb",
      -  "ls",
      -  "lr",
      -  "ly",
      -  "li",
      -  "lt",
      -  "lu",
      -  "me",
      -  "mo",
      -  "mk",
      -  "mg",
      -  "mw",
      -  "my",
      -  "mv",
      -  "ml",
      -  "mt",
      -  "mh",
      -  "mq",
      -  "mr",
      -  "mu",
      -  "yt",
      -  "mx",
      -  "fm",
      -  "md",
      -  "mc",
      -  "mn",
      -  "ms",
      -  "ma",
      -  "mz",
      -  "mm",
      -  "na",
      -  "nr",
      -  "np",
      -  "nl",
      -  "an",
      -  "nc",
      -  "nz",
      -  "ni",
      -  "ne",
      -  "ng",
      -  "nu",
      -  "nf",
      -  "mp",
      -  "no",
      -  "om",
      -  "pk",
      -  "pw",
      -  "ps",
      -  "pa",
      -  "pg",
      -  "py",
      -  "pe",
      -  "ph",
      -  "pn",
      -  "pl",
      -  "pt",
      -  "pr",
      -  "qa",
      -  "re",
      -  "ro",
      -  "ru",
      -  "rw",
      -  "sh",
      -  "kn",
      -  "lc",
      -  "pm",
      -  "vc",
      -  "ws",
      -  "sm",
      -  "st",
      -  "sa",
      -  "sn",
      -  "rs",
      -  "sc",
      -  "sl",
      -  "sg",
      -  "sk",
      -  "si",
      -  "sb",
      -  "so",
      -  "za",
      -  "gs",
      -  "es",
      -  "lk",
      -  "sd",
      -  "sr",
      -  "sj",
      -  "sz",
      -  "se",
      -  "ch",
      -  "sy",
      -  "tw",
      -  "tj",
      -  "tz",
      -  "th",
      -  "tl",
      -  "tg",
      -  "tk",
      -  "to",
      -  "tt",
      -  "tn",
      -  "tr",
      -  "tm",
      -  "tc",
      -  "tv",
      -  "ug",
      -  "ua",
      -  "ae",
      -  "uk",
      -  "gb",
      -  "us",
      -  "um",
      -  "uy",
      -  "uz",
      -  "vu",
      -  "ve",
      -  "vn",
      -  "vg",
      -  "vi",
      -  "wf",
      -  "eh",
      -  "ye",
      -  "zm",
      -  "zw"
      -]
    • changedInput schema / properties / hl / description
      Previous value: -"The two-letter language code for the language you want to use for the search."New value: +"The 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`."
    • removedInput schema / properties / hl / enum
      Removed value: -[
      -  "af",
      -  "ak",
      -  "sq",
      -  "ws",
      -  "am",
      -  "ar",
      -  "hy",
      -  "az",
      -  "eu",
      -  "be",
      -  "bem",
      -  "bn",
      -  "bh",
      -  "xx-bork",
      -  "bs",
      -  "br",
      -  "bg",
      -  "bt",
      -  "km",
      -  "ca",
      -  "chr",
      -  "ny",
      -  "zh-cn",
      -  "zh-tw",
      -  "zh-hk",
      -  "co",
      -  "hr",
      -  "cs",
      -  "da",
      -  "nl",
      -  "xx-elmer",
      -  "en",
      -  "eo",
      -  "et",
      -  "ee",
      -  "fo",
      -  "tl",
      -  "fil",
      -  "fi",
      -  "fr",
      -  "fy",
      -  "gaa",
      -  "gl",
      -  "ka",
      -  "de",
      -  "el",
      -  "kl",
      -  "gn",
      -  "gu",
      -  "xx-hacker",
      -  "ht",
      -  "ha",
      -  "haw",
      -  "iw",
      -  "he",
      -  "hi",
      -  "hu",
      -  "is",
      -  "ig",
      -  "id",
      -  "ia",
      -  "ga",
      -  "it",
      -  "ja",
      -  "jw",
      -  "kn",
      -  "kk",
      -  "rw",
      -  "rn",
      -  "xx-klingon",
      -  "kg",
      -  "ko",
      -  "kri",
      -  "ku",
      -  "ckb",
      -  "ky",
      -  "lo",
      -  "la",
      -  "lv",
      -  "ln",
      -  "lt",
      -  "loz",
      -  "lg",
      -  "ach",
      -  "mk",
      -  "mg",
      -  "my",
      -  "ml",
      -  "mt",
      -  "mv",
      -  "mi",
      -  "mr",
      -  "mfe",
      -  "mo",
      -  "mn",
      -  "ms",
      -  "sr-me",
      -  "ne",
      -  "pcm",
      -  "nso",
      -  "no",
      -  "nn",
      -  "oc",
      -  "or",
      -  "om",
      -  "ps",
      -  "fa",
      -  "xx-pirate",
      -  "pl",
      -  "pt",
      -  "pt-br",
      -  "pt-pt",
      -  "pa",
      -  "qu",
      -  "ro",
      -  "rm",
      -  "nyn",
      -  "ru",
      -  "gd",
      -  "sr",
      -  "sh",
      -  "st",
      -  "tn",
      -  "crs",
      -  "sn",
      -  "sd",
      -  "si",
      -  "sk",
      -  "sl",
      -  "so",
      -  "es",
      -  "es-419",
      -  "su",
      -  "sw",
      -  "sv",
      -  "tg",
      -  "ta",
      -  "tt",
      -  "te",
      -  "th",
      -  "ti",
      -  "to",
      -  "lua",
      -  "tum",
      -  "tr",
      -  "tk",
      -  "tw",
      -  "ug",
      -  "uk",
      -  "ur",
      -  "uz",
      -  "vu",
      -  "vi",
      -  "cy",
      -  "wo",
      -  "xh",
      -  "yi",
      -  "yo",
      -  "zu"
      -]
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond annotations: the full set of returned features (ads, knowledge graph, PAA, local pack, AI Overview pageToken) and the constraint that 'num' is capped at 10 without tbm. It does not cover rate limits or auth, but it goes well beyond the safety hints.

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

Conciseness3/5

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

The first sentence is front-loaded, but the body is one extremely long run-on sentence that packs features, parameters, use cases, and a long enrichment example list together. Every clause is informative, yet the density and example enumeration make it harder to parse than necessary.

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?

There is no output schema, so the description must describe return values — and it does, listing organic results, ads, knowledge graph, related searches, PAA, local pack, featured snippets, and AI Overview token. With all parameters documented in the schema, the definition is complete enough to invoke correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 19 parameters in detail. The description adds marginal value by grouping parameter capabilities (location/uule, gl, hl/lr, tbs filters, tbm verticals, offset/num) and noting the num/tbm interaction. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description states a clear verb+resource ('Get Google Search Results', 'Full-featured Google Search scraper') and enumerates the verticals and features it covers. It implicitly contrasts with lighter siblings via 'Full-featured', but never names an alternative tool (e.g., serp_light, bing_serp), so an agent must infer the distinction.

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-case contexts — SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, LLM grounding, and person/company enrichment with concrete example queries. However, it offers no when-not guidance or named alternative (e.g., use bing_serp or serp_light instead).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources