Was sich ändert
Laut Google-Dokumentation ist die Custom Search JSON API für Neukunden geschlossen, und Bestandskunden haben bis zum 1. Januar 2027 Zeit, auf eine alternative Lösung umzusteigen. Dieselbe Seite beschreibt die API als Abruf von Web- und Bildergebnissen aus einer Programmable Search Engine, der Engine, die Sie konfigurieren und mit cx identifizieren.
Daten und Bedingungen sind Googles und können sich ändern; bestätigen Sie sie auf Googles Seite, bevor Sie eine Frist festlegen.
Was Serper.live stattdessen liefert
Serper.live ist eine Live Google SERP API: jede Anfrage führt eine echte Google-Suche für das gewählte Land und Gerät aus und liefert die in diesem Moment gezeigten organischen Ergebnisse, bis zu 100 pro Anfrage (standardmäßig 10), als JSON.
Es ist keine eigene Suchmaschine und keine Site-Suche: keine Engine zum Konfigurieren, kein Index Ihrer Seiten. Eine Anfrage dauert meist 2–3 Sekunden, weil sie Google live lädt, und wird pro Anfrage von einem Prepaid-Guthaben abgerechnet.
Wenn Ihre Custom-Search-Integration Ihnen zeigte, was Google für eine Suchanfrage rankt, passt das hier besser. Wenn sie die Suche innerhalb Ihrer eigenen Site oder über eine feste Liste von Domains betrieb, brauchen Sie stattdessen ein Site-Search-Produkt: Googles Dokumentation verweist für diesen Fall auf Vertex AI Search.
Parameterzuordnung
Links die Custom Search JSON API, rechts Serper.live:
q→query: das Keyword, 2–120 Zeichen.gl→country: zweibuchstabiger Code eines offenen Marktes ausGET /v1/countries(derzeit Deutschland, Frankreich, Vereinigtes Königreich, Türkei, Ukraine und Vereinigte Staaten).hl→language: Googles Oberflächensprache; optional, Standard ist die Sprache des Landes.num→limit: organische Ergebnisse pro Anfrage, 1–100 (standardmäßig 10; jeder angefangene Block von 10 kostet einen Marktpreis).start→ kein Gegenstück: statt zu blättern, erhöhen Sielimit, und ein Aufruf liefert bis zu 100 organische Ergebnisse.cx→ nicht nötig: es gibt keine Engine zum Konfigurieren, die Anfrage durchsucht Google für den Markt.key→ einAuthorization: Bearer-Header mit Ihremsl_live_-Token.items[]→organic[]: auslinkwirdurl, ausdisplayLinkungefährdomain;titleundsnippetbehalten ihre Namen, undsnippetkannnullsein.
Migrationsschritte
Die Anfrage unten ist die ganze Integration; die Schritte drumherum:
- Erstellen Sie ein Konto und ein Token, laden Sie ab 5 $ in USDT oder USDC auf.
- Ersetzen Sie das GET an den Custom-Search-Endpunkt durch
POST https://api.serper.live/v1/search, einen JSON-Körper und denAuthorization-Header. - Ordnen Sie die Parameter wie oben zu; lassen Sie
cxundstartweg. - Lesen Sie
organic[]stattitems[], benennen Sielinkinurlum und behandeln Sie einsnippetmitnull. - Erhöhen Sie das HTTP-Timeout auf mindestens 100 Sekunden und stellen Sie den Aufruf in eine Warteschlange, statt ihn in der Anfrage des Nutzers auszuführen: eine Live-Suche dauert meist 2–3 Sekunden, die erste für einen Markt nach einer Pause länger.
- Senden Sie einen
Idempotency-Key, damit ein wiederholter Aufruf nie doppelt berechnet wird. - Lassen Sie beides einige Tage parallel laufen, vergleichen Sie, dann stellen Sie um.
curl -X POST https://api.serper.live/v1/search \
-H "Authorization: Bearer sl_live_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query":"best coffee shops","country":"DE"}'
const response = await fetch('https://api.serper.live/v1/search', {
method: 'POST',
headers: {
Authorization: 'Bearer sl_live_YOUR_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ query: 'best coffee shops', country: 'DE' }),
signal: AbortSignal.timeout(100000),
});
const result = await response.json();
console.log(result.organic);
import requests
response = requests.post(
"https://api.serper.live/v1/search",
headers={"Authorization": "Bearer sl_live_YOUR_TOKEN"},
json={"query": "best coffee shops", "country": "DE"},
timeout=100,
)
print(response.json()["organic"])