Google Search Remote MCP Server
Server Details
Google SERP as JSON: organic, AI Overview, People Also Ask, AI Mode, news, shopping. No Cloud setup.
- Status
- Healthy
- Uptime
- 78.8% over 63 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- HasData/google-search-mcp
- GitHub Stars
- 17
- Server Listing
- Google Search MCP Server
TDQS
Scored across 10 tools
Most tools target clearly distinct resources (news, events, shopping, short videos, AI mode, AI overview). The main overlap is serp_getSearchResults vs serp_light_getSearchResults, which both scrape general Google search and rely on descriptions to separate full-feature vs lightweight layouts, plus the shopping/product/immersive trio that is related but differentiated by granularity.
All tools share a predictable hasdata_google_serp_<subdomain>_getX pattern with a consistent 'get' verb, which reads well. Minor deviations: one name carries an opaque hash suffix (getImmersive_e29f691177) and noun styles vary (getGoogleNews vs getSearchResults vs getEventInformation).
Ten tools is well within the ideal 3-15 range and each covers a distinct search surface (general, AI, news, shopping, product, events, video). No tool feels redundant enough to remove given the different verticals served.
Coverage is broad: general SERP, light SERP, AI mode/overview, news, shopping, product detail, immersive product offers, events, and short videos. Minor gaps like dedicated images/videos/local/maps endpoints are mostly reachable via the serp tool's tbm verticals, so agents can work around them.
Available Tools
10 toolshasdata_google_serp_ai_mode_getAiModeResponsegoogle_serp_ai_mode: GET /ARead-onlyInspect
Get AI Mode SERP Results
Captures Gemini-powered AI Mode answers from Google Search. Returns the conversational response text, cited source links, subtopic breakdowns, and, when continuable is set, a subsequentRequestToken for multi-turn continuation. Use for next-gen search interfaces, AI-answer monitoring, citation tracking, content research agents, building question-answering pipelines grounded in live Google results, and person/company data enrichment — e.g. asking Who is the CEO of HasData?, What is Roman Milyushkevich's LinkedIn?, HasData founder email, HasData Instagram handle to get a synthesized answer plus source URLs in one call, ideal for lead enrichment, sales research, people search, and filling in contact/attribute gaps for CRM records.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Specify the search term for which you want to scrape the SERP. | |
| gl | No | 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`. | |
| hl | No | 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`. | |
| uule | No | The encoded location parameter. | |
| location | No | Google canonical location for the search. | |
| continuable | No | Whether to continue an existing AI Mode conversation. | |
| subsequentRequestToken | No | Token used to continue a previous AI Mode request. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, open-world, non-destructive behavior, lowering the disclosure burden. The description adds useful behavioral detail beyond annotations: it returns conversational response text, cited source links, subtopic breakdowns, and a subsequentRequestToken when continuable is set for multi-turn continuation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are front-loaded and earn their place by specifying the operation and return fields. The remainder is an overlong, overlapping list of use cases and examples ('person/company data enrichment', 'lead enrichment, sales research, people search, and filling in contact/attribute gaps for CRM records') that bloats the definition without adding distinct decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 carries the return-value burden and mostly succeeds by naming the main response components. It does not cover error handling, authentication, or rate limits, but for a read-only scraping endpoint with fully documented parameters and clear safety annotations, this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the relationship between continuable and subsequentRequestToken for multi-turn AI Mode continuation, though it does not expand on q, gl, hl, uule, or location.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Get AI Mode SERP Results' and 'Captures Gemini-powered AI Mode answers from Google Search.' It clearly distinguishes the tool from generic Google SERP and AI Overview siblings by naming the AI Mode/Gemini conversational answer output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage contexts ('Use for next-gen search interfaces, AI-answer monitoring, citation tracking, content research agents...') and concrete examples like `Who is the CEO of HasData?`. It does not, however, name when-not-to-use it or explicitly route the agent to sibling alternatives such as ai_overview or regular SERP tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_ai_overview_getAiOverviewResponsegoogle_serp_ai_overview: GET /ARead-onlyInspect
Get AI Overview Results
Fetches the lazy-loaded Google AI Overview block via a pageToken returned by the Google SERP API (token valid for 1 minute). Returns the AI-generated answer text, referenced source URLs, and expanded subtopic sections. Use as a follow-up call to Google SERP for tracking AI citations in SEO, fact-checking answers against sources, and LLM retrieval pipelines grounded in live Google results.
| Name | Required | Description | Default |
|---|---|---|---|
| pageToken | Yes | Token from `aiOverview` block in Google SERP API. Valid for 1 minute. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/non-destructive, so safety is covered; the description adds the lazy-loaded nature, the 1-minute token window, and the shape of the payload (answer text, source URLs, expanded subtopics). It does not describe failure behavior when the token expires, which is the one notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a short title line followed by a dense but purposeful paragraph; every sentence carries either mechanism, timing, or use case. Slightly verbose in the final list of use cases but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly takes on the burden of describing the return payload, and it does so at a useful level of detail. A brief note on token-expiry failure handling would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema coverage is 100%, so the schema already documents pageToken fully. The description repeats the token's origin and 1-minute validity rather than adding format or edge-case detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fetches) and resource (the lazy-loaded Google AI Overview block) and explains the mechanism (via a pageToken from Google SERP). An agent can distinguish this from hasdata_google_serp_serp_getSearchResults because the description frames it as a dependent follow-up rather than a primary search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly positions the tool as a follow-up call to Google SERP and names three concrete use cases (SEO AI-citation tracking, fact-checking, LLM grounding). No explicit 'do not use when' or named sibling alternative, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_events_getEventInformationgoogle_serp_events: GET /ARead-onlyInspect
Get Google Event Details
Looks up a single Google event by the pageToken returned in a google/serp response's eventsResults array (or the ready-to-call hasdataLink next to it). Returns the venue name/rating/reviews/website/phone, a map link, a description, ticket sources (with official/unofficial flags), and the primary ticket link — details the SERP events widget does not show inline. The pageToken expires a few minutes after it is minted, so fetch it and call this endpoint promptly. Use to enrich an events search result with full venue and ticketing information.
| Name | Required | Description | Default |
|---|---|---|---|
| pageToken | Yes | Token identifying a single event, taken from the `pageToken` field of an `eventsResults` entry in a `google/serp` response. Expires a few minutes after it is minted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly/openWorld/non-destructive), and the description adds real behavioral value beyond them: it enumerates the returned fields (venue, map link, ticket sources with official/unofficial flags, primary ticket link) and discloses a time-sensitive constraint — the token expires a few minutes after being minted, so it must be called promptly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and then the source/expiry, with no filler. Slightly dense but each sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so fully, plus the expiry constraint and the token's origin. Nothing essential for a correct single-parameter lookup is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single parameter is already documented; baseline would be 3. The description earns above baseline by clarifying that the token can also be taken from the adjacent ready-to-call `hasdataLink`, a detail the schema does not mention.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Looks up a single Google event by the pageToken'. It also scopes the input to the `eventsResults` array of a `google/serp` response, differentiating it from the sibling search tools that return the SERP itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context ('Use to enrich an events search result with full venue and ticketing information') and states the prerequisite source of the token. It implicitly excludes using it for what the SERP widget already shows inline, but never names an explicit alternative tool or a when-not condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_immersive_product_getImmersive_e29f691177google_serp_immersive_product: GET /ARead-onlyInspect
Get Immersive Product Information
Expands the Google Shopping Immersive Product pop-up given an immersiveProductPageToken from the Google Shopping API, with optional moreStores (up to ~13 merchants instead of 3–5) and nextPageToken for paginating stores. Returns multi-store offers (merchant, price, shipping, URL), product specs, images, ratings, and the storesNextPageToken. Use for price-comparison bots, merchant discovery, dropshipping research, and aggregating full offer lists per product.
| Name | Required | Description | Default |
|---|---|---|---|
| pageToken | Yes | Token for displaying more product info in the Google immersive pop-up, available in the Google Shopping API response as the `immersiveProductPageToken` property. | |
| moreStores | No | Fetch additional store results in a single search. By default it returns 3–5 stores, and when true it returns up to 13 or the maximum available for the product. | |
| nextPageToken | No | Token used to retrieve the next page of store results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, non-destructive, openWorld); the description adds real behavioral value by disclosing that moreStores raises the merchant count from the default 3–5 to ~13 and that the nextPageToken paginates stores. It stops short of describing rate limits or error behavior, so a 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and expands the token context in the second sentence; the merchant-count and pagination notes are dense but relevant. The use-case list at the end is mildly padded but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so well: multi-store offers (merchant, price, shipping, URL), specs, images, ratings, and storesNextPageToken. Missing only failure modes or how much the token payload varies, but it is otherwise sufficient to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema, including the 3–5 vs ~13 store behavior that the description repeats. The description adds no format, constraints, or edge cases beyond what the schema states, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Expands the Google Shopping Immersive Product pop-up given an immersiveProductPageToken'), which is concrete and actionable. It implicitly distinguishes itself from the generic sibling getProductInformation by scoping to the immersive pop-up, but never names that sibling, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use for price-comparison bots, merchant discovery, dropshipping research' list describes audiences/use cases rather than conditions for selecting this tool over alternatives like google_serp_shopping or google_serp_product. No when-not-to-use or prerequisite (e.g., where the token comes from) is stated beyond the token's origin.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_news_getGoogleNewsgoogle_serp_news: GET /ARead-onlyInspect
Get Google News Results
Retrieves Google News results by free-text query, topicToken (World, Business, Technology, etc.), sectionToken, publicationToken (e.g. CNN, BBC), or storyToken (full-coverage cluster with sort by relevance/date). Returns article title, snippet, source publisher, published date, thumbnail, and URL, plus tokens for navigating topics, sub-sections, and story clusters. Use for news monitoring, brand/PR tracking, topical aggregators, publisher-specific feeds, and drilling into full story coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text query as used on news.google.com. Not allowed with `topicToken`, `storyToken`, or `publicationToken`. | |
| gl | No | 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`. | |
| hl | No | 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`. | |
| so | No | Sort order for articles in a story. Use only with storyToken. | |
| storyToken | No | Token for a single news story cluster (the “Full coverage” page). | |
| topicToken | No | Token for a Google News topic such as World, Business, or Technology. Not allowed with `q`, `storyToken`, or `publicationToken`. | |
| sectionToken | No | Token for a sub-section under a topic, for example Business → Economy. Use only when `topicToken` or `publicationToken` is present. | |
| publicationToken | No | Token for a specific publisher such as CNN or BBC. Not allowed with `q`, `storyToken`, or `topicToken`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context by disclosing the return payload (title, snippet, source, published date, thumbnail, URL, navigation tokens) and the token-based mode switching, which annotations do not convey. It omits rate limits, pagination, and auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well front-loaded: the lead line names the resource before the retrieval-mode detail, and the use-case sentence is placed last. It is dense but each sentence (modes, return fields, use cases) carries distinct information; only the redundant opening echo of the name is mild waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter read tool with no output schema, the description covers the retrieval modes, the mutual-exclusion constraints among tokens, and the return contents, which is enough for an agent to invoke it correctly. Missing only secondary operational detail such as pagination or result limits, which is acceptable given rich schema coverage and safety annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3; the description adds a mode-selection framing by grouping the tokens into named retrieval strategies and clarifying that storyToken is a 'full-coverage cluster with sort by relevance/date' (explaining the so parameter's purpose). It repeats several schema examples rather than supplying new syntax, so it only modestly exceeds baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Retrieves') and resource ('Google News results') and enumerates the five retrieval modes (free-text query, topicToken, sectionToken, publicationToken, storyToken), making the scope concrete. However, it never names or contrasts with siblings like serp_getSearchResults for non-news web results, so an agent must infer the news-only boundary from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists use cases ('news monitoring, brand/PR tracking, topical aggregators, publisher-specific feeds, and drilling into full story coverage'), giving clear triggering context. It stops short of when-NOT-to-use or naming an alternative sibling (e.g. general SERP search), so it does not reach the 5 bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_product_getProductInformationgoogle_serp_product: GET /ARead-onlyInspect
Get Product Information
Pulls detailed product data from Google Shopping by productId with searchType (offers, specs, reviews) and rich filters (free shipping, used-condition, sort by price/total price/deals/seller rating, reviews count). Returns product title, images, price, ratings, specs, merchant offers (seller, shipping, condition, total price), and review text depending on searchType. Use for price intelligence, catalog enrichment, review mining, competitor spec comparison, and building shopping assistants that surface the cheapest or highest-rated offer.
| Name | Required | Description | Default |
|---|---|---|---|
| gl | No | 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`. | |
| hl | No | 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`. | |
| uule | No | The encoded location parameter. | |
| start | No | This parameter specifies the number of search results to skip and is used for 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. This parameter is applicable only when `searchType=offers` is specified. For reviews pagination use `filter` parameter. | |
| domain | No | Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`. | |
| filter | No | Filter parameter for refining search results. Supports various filters for offers and reviews. Multiple filters can be passed using a comma. The available filters are: Offers filters: - `freeship:1`: Show only products with free shipping. - `ucond:1`: Show only used products. - `scoring:p`: Sort by base price. - `scoring:tp`: Sort by total price. - `scoring:cpd`: Sort by current promotion deals (special offers). - `scoring:mrd`: Sort by seller's rating. Reviews filters: - `rnum:{number}`: Number of results (100 is max). | |
| location | No | Google canonical location for the search. | |
| productId | Yes | The product ID to get results for. | |
| searchType | No | Parameter for fetching specific product information, such as 'offers', 'specs', or 'reviews'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully notes that the returned payload varies with searchType and enumerates the returned fields, but adds no auth, rate-limit, or pagination caveats beyond what the schema's 'start' description already supplies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is three dense sentences that front-load the core action and then summarize inputs before closing with use cases. Every sentence contributes, though the parenthetical filter gloss in sentence one is slightly redundant with the schema and could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter read tool with full schema coverage but no output schema, the description does the necessary work of describing the return payload (title, images, price, ratings, specs, merchant offers, review text) and its dependence on searchType. What remains thin is the absence of any guidance on failure/empty cases, but overall it is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 100%, the schema already documents all nine parameters thoroughly, including enum values and the filter grammar. The description echoes the searchType values and filter categories (free shipping, used-condition, sort options) but introduces no syntax or semantics beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it 'pulls detailed product data from Google Shopping by productId,' which is a concrete scope. The 'by productId' phrasing implicitly distinguishes it from the search-oriented siblings like shopping_getSearchResults, but it never names those alternatives directly, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context via concrete scenarios (price intelligence, catalog enrichment, review mining, competitor spec comparison, shopping assistants). However it offers no when-not conditions and never points the agent to a sibling tool, so selection between this and the shopping search tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_serp_getSearchResultsgoogle_serp_serp: GET /ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Specify the search term for which you want to scrape the SERP. | |
| gl | No | 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`. | |
| hl | No | 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`. | |
| lr | No | The 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content. | |
| si | No | Google Cached Search Parameters ID. | |
| num | No | Number of results per page, ranging from 10 to 100. | |
| tbm | No | Specify the type of search. | |
| tbs | No | This 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. | |
| lsig | No | Additional Google Place ID. | |
| nfpr | No | Controls 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. | |
| safe | No | Adult Content Filtering option. | |
| uule | No | The encoded location parameter. | |
| kgmid | No | Google Knowledge Graph ID. | |
| start | No | This 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. | |
| domain | No | Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`. | |
| filter | No | Defines 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. | |
| ludocid | No | The Google Place ID for a specific location. | |
| location | No | Google canonical location for the search. | |
| deviceType | No | Specify the device type for the search. |
TDQS
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.
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.
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.
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.
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.
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.
hasdata_google_serp_serp_light_getSearchResultsgoogle_serp_serp_light: GET /ARead-onlyInspect
Get Google Light Search Results
Google Search scraper served from the lightweight no-JS layout, cheaper and faster than the full SERP API. Returns organic results (title, link, displayed link, snippet, sitelinks, extensions, date, rating and review count), AI Overview with its text blocks and source references, answer box (featured snippet, calculator, unit and currency conversion, local time), knowledge graph, related questions, related searches, inline images, local pack, search filters, pagination, spelling correction and the location Google actually applied. Shopping, top stories, news, videos and jobs blocks are not served in this layout. Supports location/uule, country (gl), language (hl/lr), domain, safesearch, and time/date filters via tbs (qdr, cdr) with offset/num pagination (num capped at 10). Use for high-volume keyword monitoring, bulk rank tracking, backlink discovery, and AI Overview presence tracking.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Specify the search term for which you want to scrape the SERP. | |
| gl | No | 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`. | |
| hl | No | 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`. | |
| lr | No | The 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content. | |
| num | No | Number of results per page, ranging from 10 to 100. | |
| tbs | No | This 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. | |
| safe | No | Adult Content Filtering option. | |
| uule | No | The encoded location parameter. | |
| start | No | This 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. | |
| domain | No | Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`. | |
| filter | No | Defines 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. | |
| location | No | Google canonical location for the search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, non-destructive, open-world), and the description layers on substantial extra context: the complete set of returned blocks, the blocks explicitly excluded from this layout, the num cap, and the performance/cost tradeoff. This is far beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and every sentence carries information (returned blocks, excluded blocks, parameters, use cases). It is dense and slightly run-on, but no sentence is filler, so it stays efficient for a tool of this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values and does so thoroughly, enumerating every result block returned. Combined with full parameter coverage and explicit limitations, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already fully documented, establishing a baseline of 3. The description summarizes the supported filters (gl, hl/lr, domain, safesearch, tbs with qdr/cdr, offset/num), but it introduces a discrepancy by stating 'num capped at 10' while the schema declares num ranges from 10 to 100, which could mislead an agent on pagination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get Google Light Search Results') and immediately distinguishes itself from the full SERP API sibling by describing the lightweight no-JS layout and its cheaper/faster tradeoff. An agent can tell it apart from hasdata_google_serp_serp_getSearchResults without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names intended use cases (high-volume keyword monitoring, bulk rank tracking, backlink discovery, AI Overview presence tracking) and, by listing the block types it does NOT serve (shopping, news, videos, jobs), implicitly signals when the full SERP API should be used instead. It stops short of naming the alternative tool explicitly or stating a hard when-not rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_shopping_getSearchResultsgoogle_serp_shopping: GET /ARead-onlyInspect
Get Shopping Search Results
Scrapes Google Shopping listings for a query with location/uule, country/language/domain, time/date filters, device type, shoprs filter-helper IDs, and offset pagination. Returns product title, price, merchant/source, rating, reviews count, thumbnail, product link, productId, immersiveProductPageToken, and filter chips with hasdata_link for refining by brand/price/condition/promotions. Use for e-commerce price tracking, catalog building, promotion discovery, and feeding productIds into the Product API or tokens into the Immersive Product API for deeper data.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Specify the search term for which you want to scrape the SERP. | |
| gl | No | 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`. | |
| hl | No | 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`. | |
| tbs | No | This 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. | |
| uule | No | The encoded location parameter. | |
| start | No | This 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, 40 refers to the second page, and 80 to the third page. | |
| domain | No | Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`. | |
| shoprs | No | Specifies the helper ID for applying search filters. Must be used with the updated `q` parameter, which includes the selected filter (e.g., Coffee sale). To apply filters, use the `hasdata_link` from `filters[index].options[index]` in the JSON. Apply multiple filters by following each `hasdata_link` one by one. To remove a filter, follow its specific `hasdata_link`. | |
| location | No | Google canonical location for the search. | |
| deviceType | No | Specify the device type for the search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds real behavioral value by enumerating the returned fields (title, price, merchant, rating, reviews, thumbnail, productId, immersiveProductPageToken) and explaining the filter-chip/hasdata_link refinement loop, which is not derivable from the schema. It does not mention auth or rate limits, keeping it at a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action in sentence one and packs filter dims and return/usage context into sentence two with no filler. It is dense but every clause carries information, so it is appropriately sized rather than merely short.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, no output schema, but full annotation coverage, the description does the heavy lifting an agent needs: it enumerates the return payload and the downstream id/token handoffs. It leaves pagination mechanics and error behavior to the schema/annotations, which is acceptable given no output schema forces it to describe returns itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 10 parameters in detail. The description groups them ('location/uule, country/language/domain, time/date filters, device type, shoprs filter-helper IDs, and offset pagination') but adds no syntax or format meaning beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Scrapes Google Shopping listings for a query') and the scope of filters it accepts. It also distinguishes itself from adjacent tools by naming the Product API and Immersive Product API as consumers of its output. An agent can tell it apart from the generic serp_getSearchResults sibling by the explicit 'Shopping' vertical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use contexts ('e-commerce price tracking, catalog building, promotion discovery') and names alternatives, explaining that productIds feed the Product API and tokens feed the Immersive Product API for deeper data. It stops short of stating explicit exclusions (e.g. when to prefer the plain SERP instead), so it is clear context without full routing rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_google_serp_short_videos_getShortVideosSearchResultsgoogle_serp_short_videos: GET /ARead-onlyInspect
Get Short Videos Search Results
Scrapes the Google Short Videos carousel (TikTok, YouTube Shorts, Instagram Reels, etc.) for a query with location/uule, country (gl/cr), language (hl/lr), device type, and page-based pagination. Supports Google's advanced filters (tbs). Returns video title, thumbnail, duration, source platform, channel/creator, direct video URL, the platform's video ID and profile handle, and ready-to-call HasData API links (hasdataLinks) for the video's comments, transcript, profile, posts or channel. Use for short-form content discovery, viral-trend monitoring, influencer research, cross-platform video aggregation, and sourcing short clips to summarize or embed in LLM responses.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query term for retrieving short videos results. | |
| cr | No | The country code for the country you want to limit the search to. Provide one exact documented value (237 allowed), e.g. `countryAF`, `countryAL`. | |
| gl | No | 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`. | |
| hl | No | 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`. | |
| lr | No | The 'lr' parameter specifies the language of the websites to return results from. This parameter filters results based on the language of the web content. | |
| tbs | No | Google advanced search filters, combined with commas. For example: - `qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y` - Show videos from the past hour, day, week, month, or year. | |
| page | No | Page number for paginated results, where 0 is the first page. | |
| uule | No | The encoded location parameter. | |
| location | No | Google canonical location for the search. | |
| deviceType | No | Specify the device type for the search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, non-destructive, open-world behavior, so the bar is lower. The description goes on to disclose the return surface (title, thumbnail, duration, source platform, channel, direct URL, platform video ID, profile handle) and the hasdataLinks follow-up capability, which is genuinely useful behavioral context. It omits rate limits and response envelope details, keeping 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with the core action, then output, then use cases — a logical progression with no filler sentences. Length is proportionate to a 10-parameter tool with no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the burden of describing return fields, which it does thoroughly, and it covers the parameter envelope and intended use cases. An agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 10 parameters in detail and the baseline is 3. The description groups them (location/uule, country gl/cr, language hl/lr, device type, page pagination, tbs filters), which adds light interpretive structure but does not clarify the gl-vs-cr or hl-vs-lr distinction beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — scraping the Google Short Videos carousel (explicitly TikTok, YouTube Shorts, Instagram Reels) — which is concrete and distinguishable from the generic google_serp_serp_getSearchResults and platform-specific tiktok/youtube siblings. An agent can tell what this returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for use (short-form content discovery, viral-trend monitoring, influencer research, cross-platform aggregation, sourcing clips for LLM summarization/embedding). It does not, however, state when NOT to use it or explicitly name alternatives such as the general SERP or TikTok search tools, so routing between overlapping siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
hasdata_google_serp_ai_overview_getAiOverviewResponse1 field changed- changed
Input schema / properties / pageToken / descriptionPrevious value: -"Token from `aiOverview` block in Google SERP API. Valid for 4 minutes."New value: +"Token from `aiOverview` block in Google SERP API. Valid for 1 minute."
- Changed
hasdata_google_serp_events_getEventInformation10 fields changed- removed
Input schema / properties / domainRemoved value: -{ - "description": "Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.", - "type": "string" -} - removed
Input schema / properties / glRemoved value: -{ - "description": "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`.", - "type": "string" -} - removed
Input schema / properties / hlRemoved value: -{ - "description": "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`.", - "type": "string" -} - removed
Input schema / properties / htichipsRemoved value: -{ - "description": "Filter parameter for refining event search results. Supports various filters for events. Multiple filters can be passed using a comma. The available filters are:\n\n- `date:today`: Today's Events\n- `date:tomorrow`: Tomorrow's Events\n- `date:week`: This Week's Events\n- `date:weekend`: This Weekend's Events\n- `date:next_week`: Next Week's Events\n- `date:month`: This Month's Events\n- `date:next_month`: Next Month's Events\n- `event_type:Virtual-Event`: Online Events\n\nFor example, to filter for today's online events, use: `event_type:Virtual-Event,date:today`.\n", - "type": "string" -} - removed
Input schema / properties / locationRemoved value: -{ - "description": "Google canonical location for the search.", - "type": "string" -} - added
Input schema / properties / pageTokenAdded value: +{ + "description": "Token identifying a single event, taken from the `pageToken` field of an `eventsResults` entry in a `google/serp` response. Expires a few minutes after it is minted.", + "type": "string" +} - removed
Input schema / properties / qRemoved value: -{ - "description": "Specify the search term for which you want to scrape the SERP.", - "type": "string" -} - removed
Input schema / properties / startRemoved value: -{ - "description": "This 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.\n", - "type": "number" -} - removed
Input schema / properties / uuleRemoved value: -{ - "description": "The encoded location parameter.", - "type": "string" -} - changed
Input schema / requiredPrevious value: -[ - "q" -]New value: +[ + "pageToken" +]
- Changed
hasdata_google_serp_short_videos_getShortVideosSearchResults1 field changed- added
Input schema / properties / tbsAdded value: +{ + "description": "Google advanced search filters, combined with commas. For example:\n\n - `qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y` - Show videos from the past hour, day, week, month, or year.\n", + "type": "string" +}
10 tool updates
- First observed
hasdata_google_serp_ai_mode_getAiModeResponse - First observed
hasdata_google_serp_ai_overview_getAiOverviewResponse - First observed
hasdata_google_serp_events_getEventInformation - First observed
hasdata_google_serp_immersive_product_getImmersive_e29f691177 - First observed
hasdata_google_serp_news_getGoogleNews - First observed
hasdata_google_serp_product_getProductInformation - First observed
hasdata_google_serp_serp_getSearchResults - First observed
hasdata_google_serp_serp_light_getSearchResults - First observed
hasdata_google_serp_shopping_getSearchResults - First observed
hasdata_google_serp_short_videos_getShortVideosSearchResults
Publisher details
- Operator
- HasData · Publisher source
- Operator website
- https://hasdata.com · Publisher source
- Vendor relationship
- Independent · Publisher source
- Documentation
- https://docs.hasdata.com/mcp-server · Publisher source
- Trust center
- Not available
- Restrictions
- A free HasData account covers 1,000 credits a month with no card. Heavier use needs a paid plan. No admin approval, no regional limits and no custom OAuth app. · Publisher source
Related MCP Connectors
Structured Google search, news, and local results at scale - organic results, news, and local packs
Live organic search results from Google, Bing, DuckDuckGo, Yahoo, Brave and Yandex as JSON.
Scrape Google search results with SERP data, ads, and knowledge panels
Google SERP, Maps, Shopping, News and AI-answer data for AI agents, from the Searlo search API.
Related MCP Servers
AlicenseBqualityCmaintenanceSearch API for AI, SEO & automation. Browser-rendered Google, Bing, Yandex, Baidu, DuckDuckGo and Ecosia results with URL extraction (+image search and engine metadata tools)9177 npm2MIT- AlicenseAqualityDmaintenanceProvides real-time Google search results (organic + knowledge graph) with country targeting, language, time filters, and pagination, at low cost.13 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to run real Google searches through a self-hosted browser on their own IP or a proxy, returning typed JSON with organic results rewritten to their true destination URLs, AI Overviews, People also ask, related searches, and structured block errors. Requires no API key and works over MCP with any client.MIT
- FlicenseNot gradedqualityBmaintenanceEnables fetching Google's AI Overview answers and cited sources as structured JSON, with support for batch queries and country/language targeting.-
Glama MCP Gateway
Add one secure layer between your agents and this server.