Google Search MCP Server
Use this read-only hosted MCP server to run live Google searches across SERP, AI answers, news, shopping, products, events, and short videos, returning structured JSON.
Run full Google SERP searches with organic results, ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, and AI Overview tokens.
Run cheaper SERP Light searches for core organic results and pagination.
Expand AI Overview tokens into AI-generated answers with cited sources, including People Also Ask answers.
Query Google AI Mode for conversational answers, citations, subtopics, follow-ups, and multi-turn continuation.
Retrieve Google News by query, topic, section, publication, or story cluster, with navigation tokens.
Search Google Shopping and get product IDs plus immersive product page tokens.
Fetch detailed product data by productId for offers, specs, or reviews.
Expand immersive product cards into multi-store offers, specs, images, ratings, and paginated stores.
Find Google Events with date, virtual-event, location, and pagination filters.
Retrieve short-video results from platforms like TikTok, YouTube Shorts, and Instagram Reels.
Use built-in prompts and parameter-value resources for common workflows and valid filter values.
Provides access to Google Search results, including organic listings, AI Overview summaries, People Also Ask questions, related searches, and pagination, all as structured JSON.
Enables retrieval of Google News search results, delivering news articles, headlines, and related metadata for a given query.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Search MCP Server Search Google for best running shoes and give me the organic top ten plus the AI Overview."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Search MCP Server (SERP)
A hosted Google Search MCP server that gives Claude, Cursor, Windsurf and any other MCP client read-only Google Search tools. Pull the live SERP with its AI Overview and People Also Ask, run a Google AI Mode query, and read news, shopping, product detail and short-video results, all as structured JSON, with no Google Cloud project and no search-engine setup.
1,000 free credits every month, no card required, which is 100 full-SERP calls or 200 SERP Light calls.
https://mcp.hasdata.com/mcp?apis=google_serp
"SERP" and "Google Search" are the same product here. This server returns Google search-engine results pages, parsed.
Contents
Related MCP server: DuckDuckGo MCP Server
What you need
An MCP client that speaks streamable HTTP with custom headers. A HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 to 200 calls a month depending on the tool. Nothing else. This is a remote server, so the simplest path is a URL and a header, with no Google Cloud project or Programmable Search Engine to set up. A stdio-only client can use the @hasdata/google-search-mcp (npm) or hasdata-google-search-mcp (PyPI) launcher instead.
Quick start
URL |
|
Transport | HTTP, streamable |
Auth header |
|
The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
claude mcp add --transport http google-search "https://mcp.hasdata.com/mcp?apis=google_serp" \
--header "x-api-key: HASDATA_API_KEY"Claude Desktop loads only local (stdio) servers from its config file, so it reaches a remote server through a stdio launcher. The @hasdata/google-search-mcp package is that launcher, and it reads the key from the environment.
claude_desktop_config.json:
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": ["-y", "@hasdata/google-search-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Python instead of Node? Swap the launcher for the PyPI package, which uvx runs without a manual install:
{
"mcpServers": {
"google-search": {
"command": "uvx",
"args": ["hasdata-google-search-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}A client with OAuth support can instead add the URL as a custom connector and skip the launcher.
.cursor/mcp.json:
{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"google-search": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"type": "streamableHttp",
"headers": { "x-api-key": "HASDATA_API_KEY" },
"disabled": false
}
}
}.vscode/mcp.json:
{
"servers": {
"google-search": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~/.gemini/settings.json:
{
"mcpServers": {
"google-search": {
"httpUrl": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}Example prompts
Search Google for
best running shoesand give me the organic top ten plus the AI Overview.
One call, 10 credits. The SERP response carries the AI Overview inline alongside the organic results.
For the same query, take each People Also Ask question and pull its AI Overview answer with sources.
One call per question, 10 credits each. Each relatedQuestions entry holds an aiOverview.pageToken, and the AI Overview tool turns that token into the answer blocks and their references.
Ask Google AI Mode
what is the Model Context Protocoland give me the answer with its citations.
One call, 10 credits. AI Mode returns the generated answer as text blocks with a reference list.
Search Google Shopping for
nike air max, then pull the full product card for the top result: every store selling it, the price range and the review breakdown.
Two calls. Shopping is 10 credits and returns a token per product, and the immersive product tool spends 5 to expand that token into stores, variants and reviews.
Get the latest Google News for
artificial intelligence, and separately the short-video results forcooking pasta.
Two calls, 10 credits each.
The workflow leans on two chains. A SERP response hands back an aiOverview inline and a pageToken on every People Also Ask question, so extracting Google's generative answers is either free with the search or one 10-credit follow-up per question. A shopping result likewise hands back a token per product, so the jump from a listing to its full multi-store card is a single call.
Tools
Tool | What it returns |
| The conversational response text, cited source links, subtopic breakdowns, follow-up suggestions, and a subsequentRequestToken for multi-turn continuation. 10 credits a call |
| The AI-generated answer text, referenced source URLs, and expanded subtopic sections. 10 credits a call |
| Event title, start date/time, venue name and address, ticket/source links, description, and thumbnail. 10 credits a call |
| Multi-store offers (merchant, price, shipping, condition, URL), product specs, images, ratings, and the nextPageToken. 10 credits a call |
| Article title, snippet, source publisher, published date, thumbnail, and URL, plus tokens for navigating topics, sub-sections, and story clusters. 10 credits a call |
| Product title, images, price, ratings, specs, merchant offers (seller, shipping, condition, total price), and review text depending on searchType. 10 credits a call |
| Organic results (title, link, snippet, position), ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, AI Overview pageToken, and rich…. 10 credits a call |
| Organic results (title, link, displayed link, snippet, sitelinks, extensions, date, rating and review count), AI Overview with its text blocks and source references,…. 5 credits a call |
| Product title, price, merchant/source, rating, reviews count, thumbnail, product link, productId, immersiveProductPageToken, and filter chips with hasdata_link for…. 10 credits a call |
| Video title, thumbnail, duration, source platform, channel/creator, publish date, and direct video URL. 10 credits a call |
Ten tools, all read-only. Samples below are trimmed from real calls, and the results in them change as Google changes, so read them as shapes. Each tool name links to its endpoint reference.
The samples are the payload, not the whole response. A tools/call result carries one text block, and that text is itself JSON holding url, status, text and json, with the scraped data under json. From a raw JSON-RPC response the path is result.content[0].text, parsed, then .json. A chat client unwraps that for you and code talking to the endpoint directly does not.
Google SERP
hasdata_google_serp_serp_getSearchResults
The full results page for a query.
Parameter | Type | Required | Notes |
| string | yes | The search query, exactly as a user would type it |
| string | Two-letter country and language codes | |
| string | Geographic location for the search, by name or as a | |
| number | Approximate results per page. Google now caps a page at about ten and ignores anything higher, so | |
| number | Result offset for paging | |
| string | Search type and advanced filters, the raw Google parameters | |
| string |
|
Returns searchInformation, organicResults, aiOverview, relatedQuestions, relatedSearches, perspectives, immersiveProducts and pagination, with whichever blocks Google shows for the query. Organic entries carry position, title, link, displayedLink, source, snippet, snippetHighlitedWords, date and images.
The AI Overview arrives two ways. Usually
aiOverviewis inline, withtextBlocksandreferencesyou can read straight away. Sometimes Google gates it behind a token, and thenaiOverviewcarries apageTokenand ahasdataLinkinstead of the blocks. EveryrelatedQuestionsentry is that second case too. It holds aquestionand anaiOverviewwith the samepageTokenandhasdataLink, which the AI Overview tool below expands. So the People Also Ask answers are AI Overviews you fetch one token at a time. The top-levelaiOverviewis inline on most queries and a token on a few, so read it both ways.
{
"organicResults": [
{
"position": 1,
"title": "The 15 Best Running Shoes of 2026",
"link": "https://www.runnersworld.com/gear/a19663621/best-running-shoes/",
"source": "Runner's World",
"snippet": "The Brooks Ghost is our No. 1 shoe when we recommend new trainers…"
}
],
"aiOverview": {
"textBlocks": [ { "type": "paragraph", "snippet": "The best running shoes depend on your goal…" } ],
"references": [ { "index": 0, "title": "7 Best Running Shoes in 2026 - RunRepeat", "link": "https://runrepeat.com/guides/best-running-shoes" } ]
},
"relatedQuestions": [
{ "question": "What are the top 5 best running shoes?", "aiOverview": { "pageToken": "eyJpZCI6…", "hasdataLink": "https://api.hasdata.com/scrape/google/ai-overview?pageToken=eyJpZCI6…" } }
],
"pagination": { "next": "…" }
}Google AI Overview
hasdata_google_serp_ai_overview_getAiOverviewResponse
Expands an AI Overview token into its answer.
Parameter | Type | Required | Notes |
| string | yes | An |
Returns aiOverview with textBlocks and references. This is how you read the AI Overview when the SERP handed you a token rather than the blocks, and how you turn each People Also Ask question into a cited answer.
Tokens are valid for about 4 minutes. A stale one does not come back empty, it fails as a tool error,
isError: truewith the textHasData API error: 400 Bad Request. Catch it the way you catch a wrong key, and re-run the SERP for a fresh token.
{
"aiOverview": {
"textBlocks": [ { "type": "paragraph", "snippet": "The top five running shoes feature versatile options for daily training and racing…" } ],
"references": [ { "index": 0, "title": "…", "link": "https://…" } ]
}
}Google AI Mode
hasdata_google_serp_ai_mode_getAiModeResponse
Google's AI Mode answer for a query, the conversational search result.
Parameter | Type | Required | Notes |
| string | yes | The question to ask AI Mode |
| string | Country and language codes | |
| string | Geographic location | |
| boolean | Set true to make the answer continuable in a follow-up call | |
| string | Token from a previous AI Mode response, to continue the thread |
Returns textBlocks and references, the generated answer and the sources it cites.
Google SERP Light
hasdata_google_serp_serp_light_getSearchResults
A cheaper search that returns the core of the page.
Parameter | Type | Required | Notes |
| string | yes | The search query |
| string | Country and language codes | |
| string | Geographic location | |
| number | Page size and offset |
Returns organicResults, aiOverview, relatedSearches, filters, appliedLocation, searchInformation and pagination. It is half the credits of the full SERP, for when you want organic results and the AI Overview without the extra blocks.
Google News
hasdata_google_serp_news_getGoogleNews
The Google News results for a query or a news section.
Parameter | Type | Required | Notes |
| string | A query. Omit it to read a section instead | |
| string | Country and language codes | |
| string | Drill into a topic, section, story or publication, using a token from a previous response |
Returns newsResults, menuLinks, relatedTopics and relatedPublications. Each news entry carries position, title, link, source with a name and icon, thumbnail and date.
Google Shopping
hasdata_google_serp_shopping_getSearchResults
Shopping results for a query.
Parameter | Type | Required | Notes |
| string | yes | The product query |
| string | Country and language codes | |
| string | Geographic location | |
| number | Result offset for paging | |
| string | Advanced shopping filters, the raw Google parameter |
Returns shoppingResults, filters, refineSearchFilters, searchInformation and pagination. Each result carries position, title, productId, price, extractedPrice, rating, reviews, source, category, thumbnail and an immersiveProductPageToken.
immersiveProductPageTokenis the input to the immersive product tool below. It is a temporary token, so expand it while it is fresh if you want the product data, and re-run the shopping call for a new one if an old token fails.
{
"shoppingResults": [
{
"position": 1,
"title": "Men's Nike Alphafly 3",
"productId": "13366226642799457284",
"price": "$285.00",
"extractedPrice": 285,
"rating": 4.5,
"reviews": 120,
"source": "Nike",
"immersiveProductPageToken": "eyJyZHMiOiJQQ18…"
}
]
}Immersive product
hasdata_google_serp_immersive_product_getImmersive_e29f691177
The full product card behind a shopping result.
Parameter | Type | Required | Notes |
| string | yes | The |
| boolean | Ask for more stores | |
| string | Page through the list of stores, using |
Returns a productResults object with title, brand, rating, reviews, priceRange, a stores array of every seller with its price and link, plus variants, reviewsImages, userReviews, topInsights, aboutTheProduct and discussionsAndForums. This is the one call that turns a single listing into the whole cross-store picture.
{
"productResults": {
"title": "Men's Nike Alphafly 3",
"brand": "Nike",
"rating": 4.4,
"reviews": 1077,
"priceRange": "$221-$295",
"stores": [ { "name": "eBay", "link": "https://www.ebay.com/itm/…", "price": "$221" } ],
"storesNextPageToken": "Mw=="
}
}Feed storesNextPageToken back in as the nextPageToken parameter to page through the stores.
Google short videos
hasdata_google_serp_short_videos_getShortVideosSearchResults
The short-video results Google shows for a query.
Parameter | Type | Required | Notes |
| string | yes | The query |
| string | Country, language and content-region codes | |
| array | One or more language restrictions | |
| number | Result page | |
| string |
|
Returns shortVideos, each with position, title, link, source, sourceLogo, profileName, duration, clip and thumbnail.
Prompts and resources
The server ships 5 prompts, ready-made workflows a client can offer instead of making the user compose a tool call.
Prompt | What it does |
| Search Google and summarize the top organic results. |
| Find recent news coverage on a topic. |
| Compare product offers from Google Shopping. |
| Find short videos about a topic. |
| Get Google AI Mode's answer with its sources. |
Alongside them the server exposes 10 resources, one per parameter whose accepted values are a fixed list. Reading one is cheaper than learning the vocabulary from a rejected call, and it costs no credits. Each URI is hasdata://google_serp/<parameter>.
Parameter | Values | What it selects |
| 245 | The two-letter country code for the country you want to limit the search to. |
| 159 | The two-letter language code for the language you want to use for the search. |
| 2 | Sort order for articles in a story. Use only with storyToken. |
| 195 | Google domain to use. Default is google.com. |
| 3 | Parameter for fetching specific product information, such as 'offers', 'specs', or 'reviews'. |
| 43 | 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. |
| 2 | Adult Content Filtering option. |
| 5 | Specify the type of search. |
| 3 | Specify the device type for the search. |
| 237 | The country code for the country you want to limit the search to. |
Both lists are served without an API key, so a client can read them before a user has signed up.
Errors and failure paths
Your client almost never sees an HTTP error code from a tool call. The MCP layer answers 200 and puts the failure inside the result, with isError set to true and the reason as text. The agent reads a message where you might expect a status line.
A wrong key surfaces as tool output, not as a failed connection. Listing tools accepts any non-empty key, and the client completes its handshake and shows green. The first tool call then comes back with isError: true and the text HasData API error: 401 Unauthorized. Watch for that string, because nothing earlier in the flow reports the problem.
The one real HTTP error is a missing key. Authorization runs before any tool, and the connection itself fails with 401.
An argument that breaks the schema is rejected before it becomes a search. A search with no q comes back with isError: true and the text MCP error -32602: Input validation error, naming the field. Nothing is fetched and nothing is charged.
A stale AI Overview token fails as an error. A SERP response token is valid for about 4 minutes. Expanding one you stored earlier comes back with isError: true and the text HasData API error: 400 Bad Request, the same shape as a wrong key. Catch it and re-run the SERP to get a fresh token.
A block Google did not show is absent, not empty. A query with no AI Overview, no shopping pane or no People Also Ask returns a response without those keys rather than with empty ones. Test for the key before reading it.
Results that carry data also carry a requestMetadata.id worth quoting in support, plus html and json links to the stored artifact of that exact call.
Pricing, free tier and limits
Credits are per tool. The full SERP, AI Mode, News, Shopping, short videos, immersive product and the AI Overview tool cost 10 credits a call. SERP Light is 5. The AI Overview that comes inline with a SERP response is free, part of that 10-credit call, but expanding a token with the AI Overview tool, including every People Also Ask token, is a separate 10-credit call. Response size does not change the price.
The free tier is 1,000 credits every month with no card, which is 100 full-SERP calls or 200 SERP Light calls. It renews with the billing cycle, so a low-volume agent runs on the free tier indefinitely.
Paid plans start at $59 a month for 200,000 credits. The price per credit falls with volume, and current numbers live on the pricing page.
Your plan also sets concurrency. The free tier allows 5 requests at a time, Startup 5, Basic 15, and the Growth tiers run from 50 to 500. Concurrency is the only throttle. There is no separate requests-per-minute cap. Handle the overflow case defensively in anything unattended, because an agent that fans out across queries will reach the ceiling before you do.
Tool selection
?apis=google_serp exposes these tools. The parameter takes a list, and ?apis=google_serp,google_maps adds the Google Maps tools alongside search. Drop the parameter and you get every tool HasData exposes.
A narrow list is usually the better default. A model choosing among a few tools picks correctly more often than one choosing among the whole catalog, and the tool descriptions themselves cost context on every turn.
How it compares
Google no longer offers a general search API. The official route is the Custom Search JSON API, and it answers a different question from this one.
The Custom Search JSON API searches a Programmable Search Engine you configure, over the sites you list or the whole-web index if you switch it on. It is capped at 100 free queries a day and then charges per thousand up to a daily ceiling, and it returns a stripped result set. It does not return the AI Overview, People Also Ask, the local pack, shopping, news or short videos, because those are features of the live results page rather than of the API. It is the right tool when you want to search your own site or a fixed set of sites and stay inside Google's official terms for that.
This server returns the live Google results page as a visitor sees it, parsed. There is nothing to configure, the query runs against all of Google rather than a curated engine, and the AI Overview, People Also Ask, shopping and the rest come back as structured blocks.
Custom Search JSON API | This server | |
What it searches | A Programmable Search Engine you configure | The live Google results page |
Setup | A Cloud project and a search engine | One API key |
AI Overview and People Also Ask | Not returned | Inline, or by token |
Shopping, news, short videos, local | Not returned | Dedicated tools |
Free tier | 100 queries a day | 1,000 credits every month |
Two rows decide it. If you only need to search your own sites and want Google's official API for that, the Custom Search JSON API is the fit. If you need the real SERP, its AI Overview, or any of the panes Google shows a searcher, the official API does not return them and this does.
What this server does not do. No crawling of the pages behind the results, no ranking history, and nothing that writes. It returns the parsed results page.
FAQ
What is a Google Search MCP server?
A server that exposes Google search results as tools an AI client can call. The client sends a tool call over the Model Context Protocol, the server fetches the results page and returns structured JSON, and the model works with the result and never sees a page of HTML. This one exposes eight read-only tools and runs remotely, so the client connects to a URL and starts no local process.
Is SERP the same as Google Search here?
Yes. A SERP is a search-engine results page. These tools return Google's results pages, so "SERP API" and "Google Search API" mean the same thing in this repo.
Is there an official Google Search MCP server?
Google publishes no MCP server and no general search API. The closest official product is the Custom Search JSON API, which searches a Programmable Search Engine you configure. Several community MCP servers, this one among them, return the live results page instead.
How do I get the AI Overview?
Run a SERP call. The aiOverview is usually inline with its textBlocks and references. When it comes back as a pageToken instead, and on every People Also Ask question, pass that token to the AI Overview tool to get the answer. Tokens expire quickly, so expand them from a fresh call.
Do I need a Google Cloud project or a Programmable Search Engine?
No. The only credential is your HasData key. Nothing to create in Google Cloud, and no per-API quota to manage.
Does the API key expire?
No. The key does not expire. Rotate it in the dashboard whenever you need to.
Is the data live or cached?
Live. Each call fetches the results page at request time and carries its own requestMetadata.id. Two identical calls are two separate fetches and not a replay of a stored copy.
Is this affiliated with Google?
No. HasData is an independent service and is not affiliated with, endorsed by, or sponsored by Google. Google is a trademark of its respective owner. The tools work with publicly available data only, and you are responsible for using the results in line with Google's terms and the law that applies to you.
HasData links
Product page and request builder | |
Server documentation | |
Every HasData tool in one server | |
Client walkthroughs | |
The other surfaces we parse | |
Plans and credit costs | |
Keys and usage | |
Node launcher on npm | |
Python launcher on PyPI |
Development
This repository is configuration and documentation for a remote server. There is no build step and nothing to containerize.
It does carry a contract test. The README documents its tools with specific parameters, and the upstream tool list can change without a commit here, which would leave this file quietly lying to you. The test asserts the documented tools exist with the parameters claimed, and runs weekly in CI as well as on every push.
HASDATA_API_KEY=your_key_here npm testOn PowerShell:
$env:HASDATA_API_KEY = "your_key_here"; npm testThe last check makes a real search and costs 10 credits, which is the price of a canary that can fail for the right reason. Listing tools succeeds with any non-empty key, so a test that only lists tools stays green with a revoked one.
Contributing
Corrections to the tool tables and the response samples are the most useful contribution, because those are the parts that drift. Include the call you made and the response you got. Pull requests from forks run the suite without a key, and the live checks skip instead of going red.
License
MIT. See LICENSE.
Available Tools
10 toolshasdata_google_serp_ai_mode_getAiModeResponsegoogle_serp_ai_mode: GET /AInspect
Get AI Mode SERP Results
Captures Gemini-powered AI Mode answers from Google Search. Returns the conversational response text, cited source links, subtopic breakdowns, follow-up suggestions, and 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.
Inputs: q (required), gl, hl, uule, +3 more.
hasdata_google_serp_ai_overview_getAiOverviewResponsegoogle_serp_ai_overview: GET /AInspect
Get AI Overview Results
Fetches the lazy-loaded Google AI Overview block via a pageToken returned by the Google SERP API (token valid for 4 minutes). 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.
Inputs: pageToken (required).
hasdata_google_serp_events_getEventInformationgoogle_serp_events: GET /AInspect
Get Google Events Results
Scrapes the Google Events vertical for a query plus location (or uule) with date filters (today, tomorrow, this/next week, weekend, this/next month), virtual-event toggle, domain/country/language targeting, and pagination. Returns event title, start date/time, venue name and address, ticket/source links, description, and thumbnail. Use for event-discovery chatbots, local aggregators, calendar sync, competitive monitoring of event listings, and pulling upcoming shows/conferences for a region.
Inputs: q (required), gl, hl, uule, +4 more.
hasdata_google_serp_immersive_product_getImmersive_e29f691177google_serp_immersive_product: GET /AInspect
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, condition, URL), product specs, images, ratings, and the nextPageToken. Use for price-comparison bots, merchant discovery, dropshipping research, and aggregating full offer lists per product.
Inputs: pageToken (required), moreStores, nextPageToken.
hasdata_google_serp_news_getGoogleNewsgoogle_serp_news: GET /AInspect
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.
Inputs: q, gl, hl, so, +4 more.
hasdata_google_serp_product_getProductInformationgoogle_serp_product: GET /AInspect
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.
Inputs: productId (required), gl, hl, uule, +5 more.
hasdata_google_serp_serp_getSearchResultsgoogle_serp_serp: GET /AInspect
Get Google Search Results
Full-featured Google Search scraper with location/uule, country (gl), language (hl, lr), domain, device type, safesearch, time/date filters (qdr, cdr), knowledge-graph IDs, and tbm vertical selection (images, videos, news, shopping, local), plus offset/num pagination. Returns organic results (title, link, snippet, position), ads, knowledge graph, related searches, People Also Ask, local pack, featured snippets, AI Overview pageToken, and rich SERP features. Use for SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, grounding LLMs with fresh location-aware search data, and especially for person/company data enrichment — e.g. finding a person's LinkedIn/Instagram/Twitter profile (Roman Milyushkevich LinkedIn, HasData Instagram), a company's CEO/founder/leadership (HasData CEO, HasData founder), contact emails (Roman Milyushkevich HasData email), phone numbers, GitHub profiles, press mentions, or any public attribute of a person or business by running a targeted query and parsing the top organic results.
Inputs: q (required), gl, hl, lr, +15 more.
hasdata_google_serp_serp_light_getSearchResultsgoogle_serp_serp_light: GET /AInspect
Get Google Light Search Results
Lightweight Google Search scraper that returns only organic results and basic pagination, omitting AI Overview, knowledge graph, PAA, and other rich SERP blocks for faster, cheaper responses. Supports location/uule, country (gl), language (hl/lr), domain, safesearch, and time/date filters (qdr, cdr) with offset/num pagination. Returns title, link, snippet, and position per result. Use for high-volume keyword monitoring, bulk rank tracking, backlink discovery, and any workflow where only the ten blue links matter.
Inputs: q (required), gl, hl, lr, +8 more.
hasdata_google_serp_shopping_getSearchResultsgoogle_serp_shopping: GET /AInspect
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.
Inputs: q (required), gl, hl, tbs, +6 more.
hasdata_google_serp_short_videos_getShortVideosSearchResultsgoogle_serp_short_videos: GET /AInspect
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. Returns video title, thumbnail, duration, source platform, channel/creator, publish date, and direct video URL. 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.
Inputs: q (required), cr, gl, hl, +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool addresses a distinct Google Search vertical (web, shopping, news, events, short videos, AI mode/overview) with clear boundaries. Even where two tools are similar (full vs. light SERP, shopping search vs. product info), their purposes are explicitly differentiated.
All tools follow the pattern `hasdata_google_serp_<category>_<Action>`, with snake_case categories and camelCase actions. The only deviation is the immersive product tool's hash suffix (`getImmersive_e29f691177`), which breaks the clean convention but does not obscure intent.
With 10 tools, the server covers all major Google Search verticals without redundancy or bloat. Each tool serves a distinct scraping need, making the count well-scoped for its purpose.
The tool surface covers web search (both full and lightweight), shopping (search, product details, immersive offers), news, events, short videos, and AI-generated responses. Minor gaps like a dedicated maps/images tool are mitigated by the full SERP tool's `tbm` parameter, making the coverage strong overall.
Maintenance
Related MCP Connectors
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Google SERP API MCP: live Google, Bing, AI Overview and Google Maps results as JSON. Pay per call.
Google SERP API MCP: live Google, Bing, AI Overview and Google Maps results as JSON. Pay per call. Live search engine results pages as structured JSON: Google organic results with SERP features and AI Overview sources, Bing results, Google Maps local results, and live Google rank checks for a domain across up to 10 keywords. Use when an agent needs live Google or Bing search results for a keyword, country, language and device. This is a focused subset of SEO Data, not an additional required connection or a scheduled monitoring service. Billing: paid data calls use API credits; get_api_credit_balance is free. The focused connections and SEO Data use the same balance and prices. Example prompts: - Show the top ten Google results and SERP features for 'trail running shoes' in the US, after I approve the API-credit spend. - Compare Google and Bing results for my keyword in the same market, within my approved API-credit budget. - After confirming the API-credit cost, report which source URLs Google's AI Overview cites for my keyword. If none is present, say so. Docs: https://docs.crakseo.com/mcp-servers/serp-api
17 data tools in one MCP server, run on Apify: Google Shopping, Flights, Hotels, News, Images, Videos, Ads Transparency, Jobs and Trends; YouTube transcripts; AI visibility checks; Google Maps leads; App Store and Google Play reviews. Pay per result. Sign in with Apify (OAuth) or an API token.
Related MCP Servers
AlicenseAqualityBmaintenanceDirect access to 40+ scraping and search tools. Extract structured data from Google (Search, Maps, Trends), Amazon, Airbnb, Social Media, and any web page directly into your AI agent.6317MIT- AlicenseAqualityBmaintenanceA hosted MCP server that returns DuckDuckGo search results as structured JSON, with ranked organic results, separate ads, AI answers, and 37 region/language targets for any MCP client.177 npm29 PyPI7MIT
- AlicenseAqualityCmaintenanceEnables AI agents to run live Google searches and retrieve organic results, snippets, sitelinks, People Also Ask, related searches, and Google's AI Overview with citations via a zero-dependency MCP server.2MIT
- AlicenseAqualityBmaintenanceEnables Bing searches with geo, market, and language targeting, returning organic results, ad blocks, and Copilot answers as structured JSON to any MCP client.160 npm29 PyPI4MIT