Skip to main content
Glama

google_search

Scrape Google search results including organic listings, ads, AI overview, and knowledge graph data without managing proxies or parsing. Supports pagination, location, and advanced features.

Instructions

Scrapes Google Search results (organic results, ads, AI overview, knowledge graph, local results, and every other SERP feature) for a given query, without needing to manage proxies or parsing. [Credits: 5 (standard search). 10 credits when advance_search=true OR mob_search=true.] Notes: Pagination: the 'page' request parameter is documented as 0-based sequential (0 = page 1, 1 = page 2, ...), but the response's scrapingdog_pagination.page_no map (see pagination doc) shows page values incrementing by 10 per page (page=10 for page 2, page=20 for page 3) — mirroring Google's native 'start' offset. Follow the URLs Scrapingdog returns in response.pagination.page_no / response.scrapingdog_pagination.page_no to fetch subsequent pages rather than hand-computing the page value. advance_search=true unlocks richer/advanced feature snippets (more SERP blocks populated) and doubles credit cost to 10; mob_search=true returns mobile-rendered results and also costs 10 credits; both can presumably be combined. location and uule are mutually exclusive (both control geo-targeting of the search origin). kgmid and si can override most other params (except page/results) to target Knowledge Graph entities/tabs directly. Response shape is dynamic: only the SERP feature blocks actually present on the rendered Google page for that query appear in the JSON (e.g. no ads block if Google didn't show ads). Returns: Top-level JSON containing whichever of the following blocks Google rendered for the query: search_information {time_taken, total_results, query_displayed, organic_results_state, url} — search metadata; organic_results[] {title, link, displayed_link, source, snippet, highlighted_keywords[], extended_sitelinks[]{title,link,snippet}, rank} — standard web listings; ai_overview {text_blocks[...

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
crNoRestricts search results to specific countries, format countryFR, or multiple with countryFR|countryDE. See Scrapingdog's Supported Google Countries via cr parameter page.
lrNoLimits search to one or more languages, format lang_en, or multiple with lang_en|lang_fr. See Scrapingdog's Google LR Language Page.
siNoCached search parameters of the Google Search to scrape. May override other parameters except page and results. Can be used to scrape Knowledge Graph tabs.
ibpNoControls rendering of specific layouts and expansion of certain elements, e.g. gwp;0,7 expands ludocid searches.
tbsNoAdvanced parameter to filter search results, e.g. time ranges or verbatim mode.
udsNoFilters search results using a filter string provided by Google.
htmlNoReturns the full raw HTML of the Google results page instead of/alongside parsed JSON. (default: false)
lsigNoMay be required for the Knowledge Graph map view. Obtainable via the Google Local API or Google My Business redirects.
nfprNoExcludes results from auto-corrected (spelling-corrected) queries. 1 = exclude, 0 = include. (default: 0)
pageNoPage number of Google search results. 0 = first page, 1 = second page, and so on. NOTE: the pagination.md doc's example scrapingdog_pagination block instead shows page values incrementing by 10 (page=10 for page 2, page=20 for page 3), matching Google's native 'start' offset semantics — the two docs are inconsistent; treat 0-based sequential page numbers (0,1,2,...) as the documented parameter contract unless testing shows otherwise. (default: 0)
safeNoAdult-content filtering. active enables SafeSearch, off disables it. (default: off)
uuleNoEncoded geographic location/locale string for tailoring results (e.g. w+CAIQIFJlbGF5IFN0YXRlcw==). Cannot be combined with location.
kgmidNoID (KGMID) of a Google Knowledge Graph listing. May override other parameters except page and results.
queryYesThe search query to execute, exactly like a standard Google search. Supports Google search operators such as inurl:, site:, and intitle:.
domainNoGoogle domain to use for localized results, e.g. google.co.in (India), google.co.uk (UK). See Scrapingdog's Google Domains Page for the full list. (default: google.com)
filterNoControls whether Google's 'Similar Results' and 'Omitted Results' filters are enabled. 1 (default) = active, 0 = off. (default: 1)
countryNoTwo-letter country code for the search (e.g. us, uk, fr). See Scrapingdog's Google Country Parameter page for the full list. (default: us)
ludocidNoID (CID) of a Google My Business listing, also called the Google Place ID.
resultsNoNumber of results to return per page.
languageNoLanguage of the results (e.g. en, es, fr, de). See Scrapingdog's Google Language Page for the full list. (default: en)
locationNoOrigin location the search should be tailored to; city-level granularity recommended. Cannot be combined with uule.
mob_searchNoReturns mobile Google search results instead of desktop. Costs 10 credits per request when true. (default: false)
advance_searchNoEnables advanced/extra feature snippets from Google (fuller SERP feature coverage). Costs 10 credits per request instead of 5 when true. (default: false)
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses credit costs, pagination inconsistencies (0-based sequential vs. 'start' offset), response shape dynamics (only present SERP blocks), mutual exclusivity of location/uule, and parameter overrides. No contradictions.

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?

Description is long but well-structured: core purpose first, then credits, then pagination clarifications, then parameter notes. Every sentence adds value; minimal redundancy. Slightly verbose but does not waste words.

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

Completeness5/5

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

Given 23 parameters, no output schema, and no nested objects, description is remarkably thorough. Covers credits, pagination behavior, response shape, parameter interactions, and edge cases. Agent has all needed information for correct invocation.

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

Parameters5/5

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

Schema coverage is 100% (baseline 3), but description adds significant value beyond schema: pagination inconsistency note for 'page', credit cost for 'advance_search'/'mob_search', mutual exclusivity for 'location'/'uule', override semantics for 'kgmid'/'si', and usage example for 'ibp'. Elevates agent understanding.

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?

Description clearly states verb 'scrapes' and resource 'Google Search results' (organic, ads, AI overview, etc.), distinguishing it from sibling tools like bing_search or duckduckgo_search. Specificity about SERP features and credits ensures unambiguous purpose.

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

Usage Guidelines5/5

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

Description explicitly says when to use (scraping Google results without proxy management) and provides usage guidance: credits for standard vs. advanced/mobile search, mutual exclusivity of location/uule, pagination nuance, and override behavior of kgmid/si. Implicitly suggests alternatives via sibling list.

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/alessandrobenigni/ScrapingDog-MCP'

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