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

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.
latNoGPS latitude for the search origin.
lonNoGPS longitude for the search origin.
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.
radiusNoRadius around the search origin in meters.
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. Changed3 schema fields changed
    • addedInput schema / properties / lat
      Added value: +{
      +  "description": "GPS latitude for the search origin.",
      +  "type": "number"
      +}
    • addedInput schema / properties / lon
      Added value: +{
      +  "description": "GPS longitude for the search origin.",
      +  "type": "number"
      +}
    • addedInput schema / properties / radius
      Added value: +{
      +  "description": "Radius around the search origin in meters.",
      +  "type": "number"
      +}
  2. 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"
      -]
  3. 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 readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: it enumerates returned SERP features (ads, knowledge graph, PAA, AI Overview pageToken) and discloses a non-obvious constraint that 'num' is capped at 10 without tbm. It omits scraping reliability/rate-limit behavior, which keeps it below a 5.

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?

Front-loaded correctly with the core purpose, but the second half becomes a long marketing-style enumeration of enrichment examples (emails, phone numbers, GitHub, press mentions) that repeats the same idea and could be trimmed substantially.

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?

With 22 parameters and no output schema, the description does the needed work of describing what the response contains (organic results, ads, knowledge graph, related searches, etc.). Only the omission of scraping reliability and error behavior keeps it from being fully complete.

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 22 parameters thoroughly. The description adds only a few extra nuances (the num cap, offset/num pagination, tbm vertical list), which is a marginal supplement rather than meaning the schema lacks.

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?

States a specific verb and resource ('Get Google Search Results') and immediately characterizes it as a full-featured Google SERP scraper. However, it never distinguishes itself from close siblings like hasdata_google_serp_serp_light_getSearchResults, hasdata_bing_serp_getSearchResults, or hasdata_duckduckgo_serp_getSearchResults, so the agent must infer which engine/variant to pick.

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?

Gives concrete use cases (SEO rank tracking, keyword research, SERP-feature monitoring, LLM grounding) and detailed enrichment scenarios with example queries. The gaps are the lack of explicit exclusions and no mention of when to prefer the lighter sibling or alternate engines.

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