Google Search MCP Server
Google Search MCP Server (SERP)
Ein gehosteter Model Context Protocol (MCP)-Server, der Claude, Cursor, Windsurf und jedem anderen MCP-Client acht schreibgeschützte Google-Search-Tools bereitstellt. Rufen Sie die Live-SERP mit ihrer AI Overview und „People Also Ask“ ab, führen Sie eine Google-AI-Mode-Abfrage aus und lesen Sie Nachrichten-, Shopping-, Produktdetail- und Kurzvideo-Ergebnisse – alles als strukturiertes JSON, ohne Google-Cloud-Projekt und ohne Suchmaschinen-Setup.
https://mcp.hasdata.com/api/mcp?apis=google_serp
„SERP“ und „Google Search“ sind hier dasselbe Produkt. Dieser Server liefert geparste Google-Suchergebnisseiten.
Inhalt
Related MCP server: DuckDuckGo MCP Server
Was Sie brauchen
Ein MCP-Client, der streamable HTTP mit benutzerdefinierten Headern unterstützt. Ein HasData-API-Schlüssel aus dem Dashboard, kostenlos und ohne Kreditkarte zu erstellen, und die Testversion deckt je nach Tool etwa 100 bis 200 Aufrufe ab. Sonst nichts. Das ist ein Remote-Server, der einfachste Weg führt also über eine URL und einen Header – ohne einzurichtendes Google-Cloud-Projekt oder einzurichtende Programmable Search Engine. Ein Client, der ausschließlich stdio unterstützt, kann stattdessen den Launcher @hasdata/google-search-mcp (npm) oder hasdata-google-search-mcp (PyPI) verwenden.
Schnellstart
URL |
|
Transport | HTTP, streamable |
Auth-Header |
|
Die Server-URL ist für jeden Client dieselbe. Wir setzen sie direkt in Claude Code und Claude Desktop ein. Die weiteren Blöcke folgen dem jeweils dokumentierten Format der Clients für einen Remote-Server.
Clients mit OAuth-Unterstützung können dieselbe URL als Connector hinzufügen und sich anmelden, ohne einen Schlüssel in eine Konfigurationsdatei einzutragen.
claude mcp add --transport http google-search "https://mcp.hasdata.com/api/mcp?apis=google_serp" \
--header "x-api-key: HASDATA_API_KEY"Claude Desktop lädt aus seiner Konfigurationsdatei nur lokale (stdio-)Server, daher erreicht es einen Remote-Server über einen stdio-Launcher. Das Paket @hasdata/google-search-mcp ist dieser Launcher und liest den Schlüssel aus der Umgebung.
claude_desktop_config.json:
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": ["-y", "@hasdata/google-search-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Python statt Node? Tauschen Sie den Launcher gegen das PyPI-Paket aus, das uvx ohne manuelle Installation ausführt:
{
"mcpServers": {
"google-search": {
"command": "uvx",
"args": ["hasdata-google-search-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}Ein Client mit OAuth-Unterstützung kann stattdessen die URL als benutzerdefinierten Connector hinzufügen und den Launcher überspringen.
.cursor/mcp.json:
{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"google-search": {
"serverUrl": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/api/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/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}~/.gemini/settings.json:
{
"mcpServers": {
"google-search": {
"httpUrl": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}Beispiel-Prompts
Suchen Sie bei Google nach
best running shoesund geben Sie mir die organischen Top Ten plus die AI Overview.
Ein Aufruf, 10 Credits. Die SERP-Antwort enthält die AI Overview inline zusammen mit den organischen Ergebnissen.
Nehmen Sie für dieselbe Abfrage jede „People Also Ask“-Frage und rufen Sie die zugehörige AI-Overview-Antwort mit Quellen ab.
Ein Aufruf pro Frage, jeweils 5 Credits. Jeder relatedQuestions-Eintrag enthält einen aiOverview.pageToken, und das AI-Overview-Tool wandelt diesen Token in die Antwortblöcke und ihre Referenzen um.
Fragen Sie Google AI Mode
what is the Model Context Protocolund geben Sie mir die Antwort mit ihren Quellenangaben.
Ein Aufruf, 10 Credits. AI Mode liefert die generierte Antwort als Textblöcke mit einer Referenzliste.
Suchen Sie bei Google Shopping nach
nike air maxund ziehen Sie dann die vollständige Produktkarte für das Top-Ergebnis: jeden Shop, der es verkauft, die Preisspanne und die Bewertungsaufschlüsselung.
Zwei Aufrufe. Shopping kostet 10 Credits und liefert einen Token pro Produkt; das immersive Produkt-Tool benötigt 5 Credits, um diesen Token zu Shops, Varianten und Bewertungen zu erweitern.
Rufen Sie die neuesten Google News zu
artificial intelligenceab und separat die Kurzvideo-Ergebnisse fürcooking pasta.
Zwei Aufrufe, jeweils 10 Credits.
Der Workflouw stützt sich auf zwei Ketten. Eine SERP-Antwort liefert eine aiOverview inline und einen pageToken zu jeder „Peopel Also Ask“- Frage zurück, sodass das Extrahieren der generativen Antworte von Google entweder mit der Suche kostenlos ist oder ein Folgeaufruf mit 5 Credits pro Frage. Ein Shopping-Ergebnis liefert ebenchalls einen Token pro Produkt zurück, sodass der Sprung von einer Auflistung zu ihrer vollständigen Multi-Store-Karte ein einziger Aufruf ist.
Tools
Acht Tools, alle schreibgeschützt. Die Beispiele unten sind aus echten Aufrufen gekürzt, und die Ergebnisse darin ändern sich, wenn Google sich ändert; betrachten Sie sie also als Formbeispiele. Jeder Tool-Name verlinkt auf seine Endpoint-Referenz.
Die Beispiele sind die Nutzlast, nicht die gesamte Antwort. Ein tools/call-Ergebnis enthält einen Textblock, und dieser Text ist selbst JSON mit url, status, text und json; die gescrappten Daten stehen unter json. Bei einer rohen JSON-RPC-Antwort ist der Pfad result.content[0].text, dann geparst .json. Ein Chat-Client packt das für Sie aus; Code, der direkt mit dem Endpoint spricht, nicht.
Google SERP
hasdata_google_serp_serp_getSearchResults
Die vollständige Ergebnisseite für eine Abfrage.
Parameter | Typ | Erforderlich | Hinweise |
| string | Ja | Die Suchanfrage, genau wie sie ein Benutzer eingeben würde |
| string | Zweibuchstabige Länder- und Sprachcodes | |
| string | Geografische Position für die Suche, als Name oder als | |
| number | Ungefähre Ergebnisse pro Seite. Google begrenzt eine Seite inzwischen auf etwa zehn und ignoriert höhere Werte; | |
| number | Ergebnis-Offset für das Blättern | |
| string | Suchtyp und erweiterte Filter – die rohen Google-Parameter | |
| string |
|
Gibt searchInformation, organicResults, aiOverview, relatedQuestions, relatedSearches, perspectives, immersiveProducts und pagination zurück, mit den Blöcken, die Google für die Abfrage jeweils zeigt. Organische Einträge enthaten position, title, link, displayedLink, source, snippet, snippetHighitedWords, date und images.
Die AI Overview kommt auf zwei Arten. Normalerweise ist
aiOverviewinline, mittextBlocksundreferences, die Sie direkt lesen können. Manchmal versteckt Google sie hinter einem Token; dann enthältaiOvervieweinenpageTokenund einenhasdataLinkstatt der Blöcke. Auch jeder Eintrag unterrelatedQuestionsist dieser zweite Fall. Er enthält einequestionund eineaiOverviewmit demselbenpageTokenundhasdataLink, die das weiter unten beschriebene AI-Overview-Tool erweitert. Die „People Also Ask“-Antworten sind also AI-Overviews, die Sie Token für Token abrufen. DieaiOverviewauf oberster Ebene ist bei den meisten Abfragen inline und bei einigen ein Token; lesen Sie sie also in beiden Formen.
{
"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
Erweitert einen AI-Overview-Token zu seiner Antwort.
Parameter | Typ | Erforderlich | Hinweise |
| string | Ja | Ein |
Gibt aiOverview mit textBlocks und references zurück. So lesen Sie die AI Overview, wenn die SERP Ihnen einen Token statt der Blöcke geliefert hat, und so machen Sie aus jeder „People Also Ask“-Frage eine mit Quellen belegte Antwort.
Tokens sind etwa 4 Minuten gültig. Ein abgelaufener Token kommt nicht leer zurück, sondern schlägt als Tool-Fehler fehl:
isError: truemit dem TextHasData API error: 400 Bad Request. Behandeln Sie ihn so, wie Sie einen falschen Schlüssel behandeln, und führen Sie die SERP erneut aus, um einen frischen Token zu erhalten.
{
"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
Die Antwort von Google AI Mode auf eine Abfrage – das konversationelle Suchergebnis.
Parameter | Typ | Erforderlich | Hinweise |
| string | Ja | Die Frage, die Sie AI Mode stellen möchten. |
| string | Länder- und Sprachcodes | |
| string | Geografische Position | |
| boolean | Auf | |
| string | Token aus einer früheren AI-Mode-Antwort, um den Thread fortzusetzen. |
Gibt textBlocks und references zurück – die generierte Antwort und die Quellen, die sie zitiert.
Google SERP Light
hasdata_google_serp_serp_light_getSearchResults
Eine günstigere Suche, die den Kern der Seite zurückgibt.
Parameter | Typ | Erforderlich | Hinweise |
| string | ja | Die Suchanfrage |
| string | Länder- und Sprachcodes | |
| string | Geografischer Standort | |
| number | Seitengröße und Offset |
Gibt organicResults, aiOverview, relatedSearches, filters, appliedLocation, searchInformation und pagination zurück. Diese Suche kostet halb so viele Credits wie die vollständige SERP, wenn Sie organische Ergebnisse und die AI Overview ohne die zusätzlichen Blöcke möchten.
Google News
hasdata_google_serp_news_getGoogleNews
Die Google-News-Ergebnisse für eine Suchanfrage oder einen Nachrichtenbereich.
Parameter | Typ | Erforderlich | Hinweise |
| string | Eine Suchanfrage. Lassen Sie sie weg, um stattdessen einen Bereich zu lesen. | |
| string | Länder- und Sprachcodes | |
| string | Navigieren Sie in ein Thema, einen Bereich, eine Story oder eine Publikation, indem Sie ein Token aus einer früheren Antwort verwenden |
Gibt newsResults, menuLinks, relatedTopics und relatedPublications zurück. Jeder Newseintrag enthält position, title, link, source mit name und icon, thumbnail und date.
Google Shopping
hasdata_google_serp_shopping_getSearchResults
Shopping-Ergebnisse für eine Suchanfrage.
Parameter | Typ | Erforderlich | Hinweise |
| string | ja | Die Produktsuchanfrage |
| string | Länder- und Sprachcodes | |
| string | Geografischer Standort | |
| number | Ergebnis-Offset für die Seitennavigation | |
| string | Erweiterte Shopping-Filter, der rohe Google-Parameter |
Gibt shoppingResults, filters, refineSearchFilters, searchInformation und pagination zurück. Jedes Ergebnis enthält position, title, productId, price, extractedPrice, rating, reviews, source, category, thumbnail und einen immersiveProductPageToken.
immersiveProductPageTokenist die Eingabe für das unten beschriebene Immersive-Product-Tool. Es handelt sich um ein temporäres Token. Erweitern Sie es also, solange es frisch ist, wenn Sie die Produktdaten möchten, und führen Sie den Shopping-Aufruf erneut aus, um ein neues zu erhalten, wenn ein altes Token fehlschlägt.
{
"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
Die vollständige Produkarte hinter einem Shopping-Ergebnis.
Parameter | Typ | Erforderlich | Hinweise |
| string | ja | Der |
| boolean | Weitere Geschäfte anfordern | |
| string | Blättern Sie mit |
Gibt ein productResults-Objekt zurück mit title, brand, rating, reviews, priceRange, einem stores-Array mit jedem Anbieter samt Preis und Link sowie variants, reviewsImages, userReviews, topInsights, aboutTheProduct und discussionsAndForums. Dies ist der eine Aufruf, der aus einem einzelnen Listing das gesamte händlerübergreifende Bild macht.
{
"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=="
}
}Geben Sie storesNextPageToken als Parameter nextPageToken wieder ein, um durch die Geschäfte zu blättern.
Google short videos
hasdata_google_serp_short_videos_getShortVideosSearchResults
Die Kurzvideos-Ergebnisse, die Google zu einer Suchanfrage anzeigt.
Parameter | Typ | Erforderlich | Hinweise |
| string | ja | Die Suchanfrage |
| string | Länder-, Sprach- und Content-Region-Codes | |
| array | Eine oder mehrere Spracheinschränkungen | |
| number | Ergebnisseite | |
| string |
|
Gibt shortVideos zurück, jeweis mit position, title, link, source, sourceLogo, profileName, duration, clip und thumbnail.
Fehler und Fehlerpfade
Ihr Client sieht bei einem Tool-Aufruf fast nie einen HTTP-Fehlerkode. Die MCP-Ebene antwortet mit 200 und legt den Fehler im Ergebnis ab, wobei isError auf true gesetzt ist und der Grund als Text erscheint. Der Agent liest also eine Meldung, wo Sie eine Statuszeile erwaren würden.
Eine falscher Schlüssel erscheint als Tool-Ausgabe, nicht als fehlgeschlagene Verbindung. Das Auflisten der Tools akze pitert jeden nicht-leeren Schlüssel, und der Client schließt seinen Handshake ab und zeigt Grün. Der erste Tool-Aufruf kommmt dann mit isError: true und dem Text HasData API error: 401 Unauthorized zurück. Achten Sie auf diese Zeichenfolge, denn nichts zuvor im Ablauf meldet das Problem.
Der einzige echte HTTP-Fehler ist ein fehlender Schlüssel. Die Autorisierung läuft vor jedem Tool, und die Verbindung selbst schlägt mit 401 fehl.
Ein Argument, das das Schema verletzt, wird abgewiesen, bevor daraus eine Suche wird. Eine Suche ohne q kommt mit isError: true und dem Text MCP error -32602: Input validation error zurück, der das Feld benennt. Es wird nichts abgerufen und nichts berechnet.
Ein veraltetes AI-Overview-Token führt zu einem Fehler. Ein SERP-Antwort-Token ist etwa 4 Minuten gültig. Wenn Sie ein zuvor gespeichertes Token erweitern, kommt das mit isError: true und dem Text HasData API error: 400 Bad Request zurück, in derselben Form wie ein falscher Schlüssel. Fangen Sie es ab und führen Sie die SERP erneut aus, um ein frisches Token zu erhalten.
Ein Block, den Google nicht angezeigt hat, fehlt – er ist nicht leer. Eine Suchanfrage ohne AI Overview, ohne Shopping-Bereich oder ohne People Also Ask liefert eine Antwort ohne diese Schlüssel, statt mit leeren. Testen Sie den Schlüssel, bevor Sie ihn lesen.
Ergebnisse, die Daten enthalten, enthalten außerdem eine requestMetadata.id, die im Support angegeben werden sollte, sowie html- und json-Links zu dem gespeicherten Artefakt genau dieses Aufrufs.
Preise, kostenloser Tarif und Limits
Credits werden pro Tool berechnet. Die vollständige SERP, AI Mode, News, Shopping und Kurzvideos kosten 10 Credits pro Aufruf. SERP Light, Immersive Product und das AI-Overview-Tool kosten 5 Credits. Die AI Overview, die inline mit einer SERP-Antwort geliefert wird, ist kostenlos und Teil dieses 10-Credits-Aufrufs. Das Erweitern eines Tokens mit dem AI-Overview-Tool, einschließlich jedes People-Also-Ask-Tokens, ist jedoch ein separater 5-Credits-Aufruf. Die Größe der Antwort ändert nichts am Preis.
Die kostenlose Testversion umfasst 1.000 Credits über 30 Tage ohne Karte – also 100 vollständige SERP-Aufrufe oder 200 der 5-Credits-Aufrufe. Danach erhält ein aktives Konto weiterhin jeden Tag 100 Credits gutgeschrieben, sobald sein Guthaben unter 100 fällt. Ein Agent mit geringem Volumen läuft damit unbegrenzt auf dem kostenlosen Tarif.
Bezahlte Tarife beginnen bei 49 $ pro Monat für 200.000 Credits. Der Preis pro Credit sinkt mit dem Volumen; aktuelle Zahlen finden Sie auf der Preisseite.
Ihr Tarif legt auch die Nebenläufigkeit fest. Die kostenlose Testversion erlaubt 1 Anfrage gleichzeitig, Startup 15, Business 30, Growth 50, und die Hochvolumen-Tarife bewegen sich zwischen 200 und 1.500. Nebenläufigkeit ist die einzige Drossel. Es gibt kein separates Limit für Anfragen pro Minute. Behandeln Sie den Überlauf-Fall defensiv, wenn etwas unbeaufsichtigt läuft, denn ein Agent, der sich auf mehrere Suchanfragen verteilt, erreicht die Obergrenze vor Ihnen.
Tool-Auswahl
?apis=google_serp stellt diese acht Tools bereit. Der Parameter akzeptiert eine Liste, und ?apis=google_serp,google_maps fügt die Google-Maps-Tools neben der Suche hinzu. Lassen Sie den Parameter weg, erhalten Sie alles, was HasData bereitstellt – derzeit 57 Tools.
Eine schmale Liste ist meist die bessere Standardwahl. Ein Modell, das aus acht Tools wählt, trifft öfter die richtige Wahl als eines, das aus siebenundfünfzig wählt, und schon die Tool-Beschreibungen kosten bei jeder Runde Kontext.
Vergleich
Google bietet keine allgemeine Such-API mehr an. Der offizielle Weg ist die Custom Search JSON API, und sie beantwortet eine andere Frage als dieser Server.
Die Custom Search JSON API durchsucht eine von Ihnen konfigurierte Programmable Search Engine, und zwar die von Ihnen gelisteten Websites oder den gesamten Webindex, wenn Sie diese Option aktivieren. Sie ist auf 100 kostenlose Suchanfragen pro Tag begrenzt, verlangt danach pro Tausend Anfragen bis zu einer täglichen Obergrenze und liefert einen reduzierten Ergebnissatz. Sie gibt keine AI Overview, kein People Also Ask, keinen Local Pack, kein Shopping, keine News und keine Kurzvideos zurück, denn das sind Funktionen der Live-Ergebnisseite und nicht der API. Sie ist das richtige Tool, wenn Sie Ihre eigene Website oder eine feste Menge von Websites durchsuchen und dabei innerhalb der offiziellen Google-Bedingungen bleiben möchten.
Dieser Server gibt die Live-Google-Ergebnisseite so zurück, wie ein Besucher sie sieht, in geparster Form. Es gibt nichts zu konfigurieren, die Suchanfrage läuft gegen ganz Google und nicht gegen eine kuratierte Engine, und AI Overview, People Also Ask, Shopping und der Rest kommen als strukturierte Blöcke zurück.
Custom Search JSON API | Dieser Server | |
Was durchsucht wird | Eine von Ihnen konfigurierte Programmable Search Engine | Die Live-Google-Ergebnisseite |
Einrichtung | Ein Cloud-Projekt und eine Suchmaschine | Ein API-Schlüssel |
AI Overview und People Also Ask | Nicht zurückgegeben | Inline oder per Token |
Shopping, News, Kurzvideos, Local | Nicht zurückgegeben | Eigene Tools |
Kostenloser Tarif | 100 Suchanfragen pro Tag | 1.000 Credits über 30 Tage, danach tägliche Aufladung |
Zwei Zeilen entscheiden. Wenn Sie nur Ihre eigenen Websites durchsuchen müssen und dafür Googles offizielle API möchten, ist die Custom Search JSON API die richtige Wahl. Wenn Sie die echte SERP, ihre AI Overview oder eines der Panels, die Google einem Suchenden anzeigt, benötigen, liefert die offizielle API sie nicht – dieser Server aber schon.
Was dieser Server nicht tut. Kein Crawling der Seiten hinter den Ergebnissen, keine Ranking-Historie und nichts, was schreibt. Er gibt die geparste Ergebnisseite zurück.
FAQ
Was ist ein Google Search MCP-Server?
Ein Server, der Google-Suchergebnisse als Tools bereitstellt, die ein KI-Client aufrufen kann. Der Client sendet einen Tool-Aufruf über das Model Context Protocol, der Server ruft die Ergebnisseite ab und gibt strukturiertes JSON zurück, und das Modell arbeitet mit dem Ergebnis und sieht nie eine HTML-Seite. Dieser Server stellt acht schreibgeschützte Tools bereit und läuft remote, sodass der Client sich mit einer URL verbindet und keinen lokalen Prozess startet.
Ist SERP hier dasselbe wie Google Search?
Ja. Eine SERP ist eine Suchmaschinen-Ergebnisseite. Diese Tools geben Googles Ergebnisseiten zurück, daher bedeuten „SERP API" und „Google Search API" in diesem Repository dasselbe.
Gibt es einen offiziellen Google Search MCP-Server?
Google veröffentlicht keinen MCP-Server und keine allgemeine Such-API. Das nächste offizielle Produkt ist die Custom Search JSON API, die eine Programmable Search Engine durchsucht, die Sie konfigurieren. Mehrere Community-MCP-Server, darunter dieser, geben stattdessen die Live-Ergebnisseite zurück.
Wie erhalte ich die AI Overview?
Führen Sie einen SERP-Aufruf aus. Die aiOverview ist normalerweise inline mit ihren textBlocks und references. Wenn sie stattdessen als pageToken zurückkommt, und bei jeder Frage unter People Also Ask, übergeben Sie dieses Token an das AI Overview-Tool, um die Antwort zu erhalten. Tokens laufen schnell ab, erweitern Sie sie also über einen frischen Aufruf.
Brauche ich ein Google Cloud-Projekt oder eine Programmable Search Engine?
Nein. Die einzige Anmeldeinformation ist Ihr HasData-Schlüssel. Es gibt nichts in Google Cloud zu erstellen und kein Kontingent pro API zu verwalten.
Läuft der API-Schlüssel ab?
Nein. Der Schlüssel läuft nicht ab. Rotieren Sie ihn im Dashboard, wann immer Sie es benötigen.
Sind die Daten live oder zwischengespeichert?
Live. Jeder Aufruf ruft die Ergebnisseite zum Zeitpunkt der Anfrage ab und trägt seine eigene requestMetadata.id. Zwei identische Aufrufe sind zwei getrennte Abrufe und keine Wiedergabe einer gespeicherten Kopie.
Steht dies in Verbindung mit Google?
Nein. HasData ist ein unabhängiger Dienst und weder mit Google verbunden, von Google empfohlen noch von Google gesponsert. Google ist eine Marke des jeweiligen Inhabers. Die Tools arbeiten ausschließlich mit öffentlich verfügbaren Daten, und Sie sind dafür verantwortlich, die Ergebnisse im Einklang mit Googles Nutzungsbedingungen und dem für Sie geltenden Recht zu verwenden.
HasData-Links
Produktseite und Request-Builder | |
Server-Dokumentation | |
Alle 57 Tools in einem Server | |
Client-Walkthroughs | |
Die anderen Oberflächen, die wir parsen | |
Tarife und Credit-Kosten | |
Schlüssel und Nutzung | |
Node-Launcher auf npm | |
Python-Launcher auf PyPI |
Entwicklung
Dieses Repository ist Konfiguration und Dokumentation für einen Remote-Server. Es gibt keinen Build-Schritt und nichts zu containerisieren.
Es enthält jedoch einen Vertragstest. Die README dokumentiert acht Tools mit bestimmten Parametern, und die Upstream-Tool-Liste kann sich ändern, ohne dass hier ein Commit erfolgt, was diese Datei Ihnen stillschweigend Lügen erzählen ließe. Der Test prüft, dass die dokumentierten Tools mit den angegebenen Parametern existieren, und läuft wöchentlich in CI sowie bei jedem Push.
HASDATA_API_KEY=your_key_here npm testUnter PowerShell:
$env:HASDATA_API_KEY = "your_key_here"; npm testDer letzte Check führt eine echte Suche durch und kostet 10 Credits, was der Preis eines Kanarienvogels ist, der aus dem richtigen Grund fehlschlagen kann. Das Auflisten von Tools gelingt mit jedem nicht-leeren Schlüssel, sodass ein Test, der nur Tools auflistet, auch mit einem widerrufenen Schlüssel grün bleibt.
Mitwirken
Korrekturen an den Tool-Tabellen und den Antwortbeispielen sind der nützlichste Beitrag, weil dies die Teile sind, die abdriften. Geben Sie den von Ihnen durchgeführten Aufruf und die erhaltene Antwort mit an. Pull-Requests aus Forks führen die Suite ohne Schlüssel aus, und die Live-Checks werden übersprungen, statt rot zu werden.
Lizenz
MIT. Siehe 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.
| 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?
No annotations provided, but the description clearly explains the output and the continuation mechanism, making behavior transparent.
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 description is detailed and informative, though slightly verbose with repeated examples; it is still well-structured and front-loaded.
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?
The description fully explains what the tool does, its output, and its multi-turn continuation feature, making it complete for the given complexity.
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 covers all parameters with descriptions; the tool description does not add additional meaning beyond the schema, so a neutral score.
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?
Clearly states it gets AI Mode SERP results from Google, distinguishing from other Google SERP tools like AI Overview.
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 explicit use cases and examples, but does not explicitly compare with alternative tools, so slightly less than perfect.
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 /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.
| Name | Required | Description | Default |
|---|---|---|---|
| pageToken | Yes | Token from `aiOverview` block in Google SERP API. Valid for 4 minutes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the block is lazy-loaded, the token is valid for only 4 minutes, and it returns specific content. While it doesn't explicitly state read-only behavior, the description implies a safe fetch operation.
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 description is concise and well-structured: a clear title line, a brief explanation of what is fetched, the returned contents, and explicit use cases. No redundant or extraneous text.
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?
Given the simple input (one parameter, no nested objects) and no output schema, the description is complete. It explains the purpose, parameter source and validity, expected return contents, and appropriate use cases, giving the agent everything needed to decide and 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?
The sole parameter, pageToken, is fully described in the input schema ('Token from aiOverview block... Valid for 4 minutes'), and the tool description repeats this same information without adding new meaning. Since schema coverage is 100%, baseline is 3.
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 clearly states the tool's action ('Get AI Overview Results') and resource (Google AI Overview block), distinguishes it from sibling tools by specifying it's a follow-up using a pageToken, and details the returned data (answer text, source URLs, subtopic sections).
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 description explicitly provides use cases: 'tracking AI citations in SEO, fact-checking answers against sources, and LLM retrieval pipelines grounded in live Google results.' It also implies the prerequisite of having a pageToken from a prior SERP call, making it clear when this tool is appropriate.
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 /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.
| 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. | |
| 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. | |
| domain | No | Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`. | |
| htichips | No | Filter parameter for refining event search results. Supports various filters for events. Multiple filters can be passed using a comma. The available filters are: - `date:today`: Today's Events - `date:tomorrow`: Tomorrow's Events - `date:week`: This Week's Events - `date:weekend`: This Weekend's Events - `date:next_week`: Next Week's Events - `date:month`: This Month's Events - `date:next_month`: Next Month's Events - `event_type:Virtual-Event`: Online Events For example, to filter for today's online events, use: `event_type:Virtual-Event,date:today`. | |
| location | No | Google canonical location for the search. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool 'scrapes' data, implying a read-only operation, but does not mention rate limits, authentication, or potential blocks. The description is adequate but not fully transparent about operational constraints.
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 description is concise and well-structured, starting with a brief summary, followed by functional details and use cases. It avoids excessive verbosity while covering essential aspects.
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?
Given the tool's complexity, the description provides sufficient context about functionality, parameters, and intended use cases. It does not describe return values, but no output schema is provided, so that is not required. It is complete enough for an agent to decide when and how to invoke it.
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?
The schema already provides descriptions for all 8 parameters, including detailed explanation of htichips filters. The tool description adds no additional parameter semantics beyond what is already in the schema, so it meets the baseline but does not exceed it.
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 clearly states the tool scrapes the Google Events vertical, listing specific filters and use cases. This distinguishes it from generic search and other vertical tools, such as general SERP or image 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?
It explicitly mentions use cases like event-discovery chatbots and local aggregators, implying when to use this tool. It does not name alternative tools, but the context makes it clear this is for event-specific searches.
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 /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.
| 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?
With no annotations, the description carries the full burden. It describes the read-like behavior (expands, returns) and mentions pagination and optional store expansion, but it does not explicitly state that it is a read-only operation or disclose any potential side effects, auth requirements, or rate limits. The description is informative but not fully explicit.
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 description is concise and well-structured, with the core purpose front-loaded. It includes a useful list of return fields and use cases without excessive verbosity.
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?
Given there is no output schema, the description adequately explains what is returned (offers, specs, images, ratings, nextPageToken). It also covers key parameters and use cases. It does not mention error handling or token lifecycle, but these are not critical for a simple read tool.
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 schema already documents all parameters. The description adds minor context (e.g., moreStores expands from 3–5 to up to 13, nextPageToken paginates) but largely repeats what the schema says. It adds value but not significantly 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?
The description states a clear verb and resource: it expands the Google Shopping Immersive Product pop-up given a token. It distinguishes itself by focusing on the immersive product view, but it does not explicitly name sibling tools or contrast with them, so it misses the top score.
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 clear use cases (price-comparison bots, merchant discovery, dropshipping research) but does not explicitly state when to avoid it or name alternatives. The context is clear but exclusions are absent.
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 /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.
| 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?
With no annotations provided, the description carries the burden of behavioral disclosure. It transparently describes the return payload (title, snippet, source publisher, published date, thumbnail, URL) and the navigation tokens, and notes that storyToken supports sorting by relevance/date. It does not mention limits, errors, or rate restrictions, but for a read-oriented GET endpoint the description provides solid behavioral context.
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 description is compact, front-loaded with the core purpose, and every sentence adds useful information about retrieval modes, output, and use cases. It is dense but not bloated, and it avoids unnecessary repetition of schema details.
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?
Given the 8-parameter schema with full descriptions and no output schema, the description adequately covers what the tool returns, the main input modes, and appropriate usage scenarios. It does not cover pagination or result limits, but the schema and stated output fields give an agent enough to invoke and interpret 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% and every parameter has a meaningful description with mutual-exclusion constraints. The tool description adds value by grouping the parameter types and explaining the story-cluster sort, but it mostly paraphrases what the schema already documents. 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 clearly states a specific verb ('Retrieves Google News results') and resource, listing the distinct retrieval modes (free-text query, topicToken, sectionToken, publicationToken, storyToken) and the returned fields. It distinguishes itself from the general google_serp_serp_getSearchResults sibling by focusing specifically on Google News and its token-based navigation.
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 description explicitly enumerates intended use cases: 'news monitoring, brand/PR tracking, topical aggregators, publisher-specific feeds, and drilling into full story coverage.' It does not explicitly name a sibling as an alternative or state when not to use this tool, but the use-case framing gives an agent clear selection context.
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 /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.
| 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?
No annotations are provided, so the description carries the full burden. It clearly frames the operation as read-only ('Pulls') and discloses searchType-dependent return content: title, images, price, ratings, specs, merchant offers, and review text. It does not cover rate limits, auth, or errors, but the core behavioral contract is present.
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 description is compact and front-loaded: a one-line summary, then the detailed behavior, then use cases. Every sentence contributes value, and there is no meaningful fluff.
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 9-parameter tool with no output schema, the description provides a strong high-level output contract and common use cases, while the schema covers parameter details. The main gap is that optional searchType has no documented default behavior, and pagination guidance relies entirely on the schema rather than the description.
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%, and the schema already explains filters, pagination, enums, and parameter constraints. The description paraphrases searchType and filters but adds no new parameter-level semantics, so the baseline of 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?
The description states a specific verb and resource: 'Pulls detailed product data from Google Shopping by productId' with searchType variants and filters. This clearly distinguishes it from sibling search tools like shopping_getSearchResults, which are search-oriented rather than product-ID lookups.
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 description explicitly lists task-based use cases: price intelligence, catalog enrichment, review mining, competitor spec comparison, and building shopping assistants. It does not name exclusions or alternative sibling tools, but it gives clear context for when this tool is appropriate.
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 /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.
| 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?
With no annotations, the description carries the behavioral disclosure burden. It does disclose that this is a scraper, enumerates filtering capabilities, and lists returned elements including organic results, ads, knowledge graph, People Also Ask, local pack, and AI Overview pageToken. However, it does not mention operational caveats such as rate limits, authentication needs, blocking risks, or pagination limits beyond offset/num.
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 description is front-loaded with a one-line summary and then organized into capability, return-value, and use-case sections. It is long, but the length is justified by the tool's 19 parameters and rich feature set; the examples are concrete rather than filler.
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 complex 19-parameter tool with no annotations and no output schema, the description is fairly complete: it explains what the tool returns and gives practical invocation examples. It does not discuss alternatives or limitations, but an agent has enough information to select and 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 19 parameters are already documented in the input schema. The description only groups them into capability families like location/uule, country, language, tbm, and offset/num pagination, adding no parameter-level meaning beyond what the schema already provides.
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 names the operation ('Get Google Search Results') and identifies the tool as a 'full-featured Google Search scraper', listing parameter families and returned SERP components. It clearly conveys that this is the generic Google web-search endpoint rather than an image, news, or shopping variant, though it does not explicitly distinguish itself from the sibling serp_light tool.
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 description gives concrete use cases: SEO rank tracking, keyword research, SERP-feature monitoring, competitor analysis, grounding LLMs, and person/company data enrichment with example queries. It does not explicitly state when not to use it or when to prefer serp_light, google_images, or AI-overview siblings, so it stops short of full exclusion guidance.
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 /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.
| 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?
With no annotations provided, the description carries the full burden, and it does disclose key traits: it omits rich blocks, returns only organic results, and supports specific filters. However, it doesn't mention error handling, rate limits, or potential staleness of data—common concerns for scraping tools. It adds value but isn't exhaustive.
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 description is well-structured and front-loaded: it states the core purpose, then omissions, capabilities, return format, and use cases. Every sentence contributes value, but it's slightly long given the detailed schema already available. Still, no fluff.
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?
Given the 12 parameters, detailed schema, and no output schema, the description covers the essential decision-making info: what it returns, key filtering options, and typical use cases. It doesn't explicitly explain pagination mechanics (though schema does) or edge cases, but the provided context is sufficient for an agent to select and 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 coverage is 100%, so baseline is 3, but the description groups parameters into meaningful categories (location/uule, country, language, filters, pagination), giving agents a high-level understanding of how they combine. It adds conceptual clarity beyond the schema's individual parameter descriptions.
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 clearly states the tool is a lightweight Google Search scraper that returns only organic results, explicitly listing what it omits (AI Overview, knowledge graph, PAA, etc.) and what it returns (title, link, snippet, position). This makes it readily distinguishable from siblings like serp_getSearchResults or news/shopping tools.
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?
Explicit use cases are given: high-volume keyword monitoring, bulk rank tracking, backlink discovery, and any workflow where only the ten blue links matter. This implies when not to use it (when rich SERP blocks are needed), though it doesn't explicitly name the alternative tool like hasdata_google_serp_serp_getSearchResults. Clear context but no formal exclusion.
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 /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.
| 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?
With no annotations provided, the description carries the full responsibility for disclosing behavioral traits. It does not explicitly state whether the operation is read-only or if there are side effects, rate limits, or permissions. The phrasing 'Scrapes Google Shopping listings' implies a passive retrieval, but it lacks an explicit statement about non-destructiveness or data handling.
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 description is concise and well-structured, with a clear opening statement, a summary of output, and a list of use cases. It avoids redundancy and stays focused, making it easy for users to quickly grasp the tool's function and applications. The structure is efficient with no unnecessary information.
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?
Despite lacking an output schema, the description compensates by enumerating the expected return fields (e.g., product title, price, merchant) and explaining how to apply filters via 'hasdata_link'. It also covers parameter interactions for shoprs and pagination. Given the tool's moderate complexity, the description provides a complete picture for invocation without leaving critical gaps.
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?
The schema already provides detailed descriptions for all 10 parameters, covering their semantics thoroughly. The tool description does not add significant extra meaning beyond summarizing the overall purpose and mentioning a few output fields. Since schema coverage is 100%, the baseline score of 3 is appropriate, as the description adds marginal value.
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 clearly states that the tool scrapes Google Shopping listings for a search query and returns detailed product information. It explicitly mentions the output fields, such as product title, price, and merchant, making the tool's purpose unambiguous. The name 'Get Shopping Search Results' further reinforces its function.
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 description provides specific use cases like e-commerce price tracking, catalog building, and promotion discovery, which guide when to employ the tool. It also hints at integration with other tools by mentioning feeding product IDs into the Product API or tokens into the Immersive Product API. However, it does not explicitly contrast it with sibling tools, leaving a small gap in direct alternative selection.
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 /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.
| 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. | |
| 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?
No annotations are provided, so the description carries the behavioral disclosure burden. It explains that the tool scrapes a live Google carousel and returns specific fields, implying a read-only network operation. It does not mention rate limits, auth, or failure modes, but these are less critical for this non-mutating scraper.
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 description is reasonably short and front-loaded, with the core scraping behavior in the first sentence and output fields and use cases following. The opening heading repeats the tool name and the use-case list is slightly expansive, but the overall text is efficient and relevant.
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 9-parameter tool with no output schema, the description compensates by listing return fields and mentioning pagination plus location/country/language options. It does not specify result count, maximum page, or exact response structure, but the schema fully documents the parameters and required query.
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?
The input schema already describes 100% of the parameters, so the baseline is 3. The description adds only high-level grouping such as 'country (gl/cr), language (hl/lr), device type' without clarifying relationships, formats, or usage beyond what the schema already provides.
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 uses a specific verb ('scrapes') and a specific resource ('Google Short Videos carousel'), and names the content sources (TikTok, YouTube Shorts, Instagram Reels). This clearly distinguishes it from sibling SERP tools like general search or news results.
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 description provides explicit use cases such as 'short-form content discovery, viral-trend monitoring, influencer research, cross-platform video aggregation' and sourcing clips for LLM responses. However, it does not explicitly contrast with sibling tools or state when not to use this tool.
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.
10 tool updates
v1.0.0- 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
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.
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.
Your agent needs the Google results page as it actually renders — organic and paid, the AI overview, maps, images, news, jobs and the finance panel — not a scraped guess. **What you can ask for** • "What does the SERP for this keyword look like in Germany, on mobile?" • "Does this query trigger an AI overview, and what does it say?" • "Who is advertising against our brand name?" • "Find local results and the map pack for this phrase." • "Search Google by this image and tell me where else it appears." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-serp/mcp and sign in with OAuth — there is no key to create or paste. 38 tools across Google's surfaces: organic, ads and advertisers, AI mode, autocomplete, images, news, maps and local, events, jobs, datasets, scholar, finance quotes and markets, plus Semrush's organic and paid result sets. **Why this rather than the source** Location and language are parameters, so you can read the page a customer in another country sees. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the SERP here, then ask the same agent who links to the winner or how much traffic they get — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo-serp-other-engines/mcp for Bing, Yahoo, Baidu, Naver, Seznam and YouTube. https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Scrape Google search results with SERP data, ads, and knowledge panels
Related MCP Servers
AlicenseAqualityAmaintenanceDirect 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.6320MIT- AlicenseAqualityAmaintenanceA 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.124 npm57 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
- AlicenseAqualityAmaintenanceEnables Bing searches with geo, market, and language targeting, returning organic results, ad blocks, and Copilot answers as structured JSON to any MCP client.121 npm38 PyPI9MIT