hasdata avatar

HasData Google Search (SERP)

hasdata/google-search-mcp

Google SERP as JSON: organic, AI Overview, People Also Ask, AI Mode, news, shopping. No Cloud setup.

GitHub stars
14
tools
10
auth
Secret needed
transport
STDIO, HTTP
env var
1
last updated
Sep 24, 2026

Install

From registry metadata
$ npx add-mcp 'https://mcp.hasdata.com/mcp?apis=google_serp' --name google-search --header 'x-api-key: ${X_API_KEY}'

Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http google-search 'https://mcp.hasdata.com/mcp?apis=google_serp' --header 'x-api-key: YOUR_X_API_KEY'

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 10 tools

Verified live against the running server on Nov 6, 2026.

hasdata_google_serp_ai_mode_getAiModeResponseGet 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 i...7 params

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 i...

Parameters* required
continuableboolean
Whether to continue an existing AI Mode conversation.
glstring
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`.
hlstring
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`.
locationstring
Google canonical location for the search.
q*string
Specify the search term for which you want to scrape the SERP.
subsequentRequestTokenstring
Token used to continue a previous AI Mode request.
uulestring
The encoded location parameter.
hasdata_google_serp_ai_overview_getAiOverviewResponseGet 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...1 params

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...

Parameters* required
pageToken*string
Token from `aiOverview` block in Google SERP API. Valid for 1 minute.
hasdata_google_serp_events_getEventInformationGet 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 sourc...1 params

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 sourc...

Parameters* required
pageToken*string
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.
hasdata_google_serp_immersive_product_getImmersive_e29f691177Get 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 of...3 params

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 of...

Parameters* required
moreStoresboolean
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.
nextPageTokenstring
Token used to retrieve the next page of store results.
pageToken*string
Token for displaying more product info in the Google immersive pop-up, available in the Google Shopping API response as the `immersiveProductPageToken` property.
hasdata_google_serp_news_getGoogleNewsGet 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 p...8 params

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 p...

Parameters* required
glstring
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`.
hlstring
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`.
publicationTokenstring
Token for a specific publisher such as CNN or BBC. Not allowed with `q`, `storyToken`, or `topicToken`.
qstring
Free-text query as used on news.google.com. Not allowed with `topicToken`, `storyToken`, or `publicationToken`.
sectionTokenstring
Token for a sub-section under a topic, for example Business → Economy. Use only when `topicToken` or `publicationToken` is present.
sostring
Sort order for articles in a story. Use only with storyToken.one of 0 · 1
storyTokenstring
Token for a single news story cluster (the “Full coverage” page).
topicTokenstring
Token for a Google News topic such as World, Business, or Technology. Not allowed with `q`, `storyToken`, or `publicationToken`.
hasdata_google_serp_product_getProductInformationGet 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,...9 params

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,...

Parameters* required
domainstring
Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filterstring
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:...
glstring
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`.
hlstring
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`.
locationstring
Google canonical location for the search.
productId*string
The product ID to get results for.
searchTypestring
Parameter for fetching specific product information, such as 'offers', 'specs', or 'reviews'.one of offers · specs · reviews
startnumber
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...
uulestring
The encoded location parameter.
hasdata_google_serp_serp_getSearchResultsGet 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 paginat...22 params

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 paginat...

Parameters* required
deviceTypestring
Specify the device type for the search.one of desktop · mobile · tablet
domainstring
Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filternumber
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.
glstring
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`.
hlstring
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`.
kgmidstring
Google Knowledge Graph ID.
latnumber
GPS latitude for the search origin.
locationstring
Google canonical location for the search.
lonnumber
GPS longitude for the search origin.
lrarray
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.
lsigstring
Additional Google Place ID.
ludocidstring
The Google Place ID for a specific location.
nfprnumber
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.
numnumber
Number of results per page, ranging from 10 to 100.
q*string
Specify the search term for which you want to scrape the SERP.
radiusnumber
Radius around the search origin in meters.
safestring
Adult Content Filtering option.one of active · off
sistring
Google Cached Search Parameters ID.
startnumber
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 seco...
tbmstring
Specify the type of search.one of isch · vid · nws · shop · lcl

+2 more parameters. See the server's own documentation for the full schema.

hasdata_google_serp_serp_light_getSearchResultsGet 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...12 params

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...

Parameters* required
domainstring
Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
filternumber
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.
glstring
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`.
hlstring
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`.
locationstring
Google canonical location for the search.
lrarray
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.
numnumber
Number of results per page, ranging from 10 to 100.
q*string
Specify the search term for which you want to scrape the SERP.
safestring
Adult Content Filtering option.one of active · off
startnumber
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 seco...
tbsstring
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`...
uulestring
The encoded location parameter.
hasdata_google_serp_shopping_getSearchResultsGet 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, thumbnai...10 params

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, thumbnai...

Parameters* required
deviceTypestring
Specify the device type for the search.one of desktop · mobile · tablet
domainstring
Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
glstring
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`.
hlstring
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`.
locationstring
Google canonical location for the search.
q*string
Specify the search term for which you want to scrape the SERP.
shoprsstring
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` f...
startnumber
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 seco...
tbsstring
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`...
uulestring
The encoded location parameter.
hasdata_google_serp_short_videos_getShortVideosSearchResultsGet 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...10 params

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...

Parameters* required
crstring
The country code for the country you want to limit the search to. Provide one exact documented value (237 allowed), e.g. `countryAF`, `countryAL`.
deviceTypestring
Specify the device type for the search.one of desktop · mobile · tablet
glstring
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`.
hlstring
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`.
locationstring
Google canonical location for the search.
lrarray
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.
pagenumber
Page number for paginated results, where 0 is the first page.
q*string
Search query term for retrieving short videos results.
tbsstring
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.
uulestring
The encoded location parameter.

Sponsors

Configuration

HASDATA_API_KEY*secret

HasData API key, created at app.hasdata.com. 1,000 free credits every month, no card.

Readme

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

View the full README on GitHub

Details

Repository
github.com/hasdata/google-search-mcp
Website
hasdata.com/apis/google-serp-api
Categories
Search & Web Crawling, Data & Analytics
Package
@hasdata/google-search-mcp
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Resources
10
Prompts
5
Tools verified
Nov 6, 2026

More from hasdata

Related Search & Web Crawling MCP servers

View all
1acamolese avatarGoogle Search Consoleacamolese/google-search-console-mcpGoogle Search Console: SEO audits, performance queries, URL inspection, indexing checks.9stars
2sarahpark avatarGoogle Search Consolesarahpark/google-search-console-mcpGoogle Search Console MCP server — search analytics, URL inspection, and sitemaps9stars
3crunchtools avatarMCP Google Search Consolecrunchtools/mcp-google-search-consoleSecure MCP server for Google Search Console analytics, sitemaps, and URL inspection0stars
4brave avatarBrave Search Mcp Serverbrave/brave-search-mcp-serverBrave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.1.6Kstars
5cotlet-connect avatarGoogle Search Console MCP Server and API by Cotletcotlet-connect/google-search-console-mcpGoogle Search Console website search performance monitoring MCP server: request indexing.0stars
6firecrawl avatarFirecrawl MCP Serverfirecrawl/firecrawl-mcp-serverFirecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.7.8Kstars