Kurze Antwort
Was enthält eine SerpCrypto-SERP-API-Antwort?
Jede SerpCrypto-Antwort ist ein JSON-Objekt: search_metadata (Status, Engine, verbrauchte Credits), search_parameters (die angewandten Einstellungen), search_information, dann ein Block pro Teil der Ergebnisseite, etwa organic_results, ai_overview, people_also_ask oder local_results. Fehlende Teile fehlen einfach. Eine Seite kostet 1 Credit, ab 0,30 $/1K Suchanfragen; mit Krypto bezahlen, ohne KYC.
Wie sieht eine vollständige Google-Antwort aus?
Das folgende Beispiel ist eine Google-Suche nach standing desk im Vereinigten Königreich, gekürzt auf einen Eintrag pro Array. Eine echte Antwort hat etwa zehn organische Ergebnisse und jeden anderen Block, den die Seite für diese Suchanfrage, diesen Standort und dieses Gerät zeigte.
{
"search_metadata": {
"id": "srch_2b81d0c6fa47",
"status": "success",
"engine": "google",
"created_at": "2026-10-22T10:02:31Z",
"credits_used": 1
},
"search_parameters": {
"engine": "google",
"q": "standing desk",
"gl": "gb",
"hl": "en",
"google_domain": "google.co.uk",
"device": "desktop",
"page": 1
},
"search_information": { "total_results": 52400000, "query_displayed": "standing desk" },
"ai_overview": {
"text": "A standing desk lets you work while standing or sitting…",
"references": [
{ "index": 1, "title": "How to choose a standing desk", "link": "https://www.example.co.uk/guide", "source": "Example Guide" }
]
},
"ads": [
{ "position": 1, "block": "top", "title": "Electric Standing Desks", "link": "https://shop.example.com/desks", "displayed_link": "shop.example.com", "description": "Free delivery on…" }
],
"organic_results": [
{
"position": 1,
"title": "Best standing desks 2026, tested",
"link": "https://www.example.co.uk/best-standing-desks",
"displayed_link": "www.example.co.uk › reviews",
"snippet": "We tested 14 electric and manual desks…",
"date": "12 Oct 2026",
"sitelinks": [ { "title": "Budget picks", "link": "https://www.example.co.uk/best-standing-desks#budget" } ]
}
],
"people_also_ask": [
{ "question": "Is it healthy to stand all day at a desk?", "snippet": "…", "title": "Standing at work", "link": "https://www.example.org/standing" }
],
"shopping_results": [
{ "position": 1, "title": "Example Desk Pro 140 cm", "price": "£299.00", "source": "Example Store", "link": "https://shop.example.com/desk-pro" }
],
"related_searches": [ { "query": "standing desk electric" }, { "query": "standing desk converter" } ],
"pagination": { "current": 1, "next_page": 2 }
}Warum fehlen einige Blöcke in meiner Antwort?
Weil die Ergebnisseite sie nicht gezeigt hat. Google entscheidet pro Suchanfrage, Ort und Gerät, ob Ads, ein AI Overview, ein Local Pack oder Top Stories erscheinen. SerpCrypto gibt zurück, was die Seite zeigte, und lässt den Rest weg, statt leere Platzhalter zu senden.
Lesen Sie jeden Block mit einem Standardwert, wie in den Python-Zeilen unten. Dieselbe Regel gilt innerhalb eines Blocks: Optionale Felder wie date oder sitelinks erscheinen nur bei Ergebnissen, die sie haben.
data = response.json()
# A block is present only when the results page shows it: read with a default.
overview = data.get("ai_overview") or {}
organic = data.get("organic_results", [])
questions = [item["question"] for item in data.get("people_also_ask", [])]
if overview:
print("AI Overview sources:", [ref["link"] for ref in overview.get("references", [])])
print(len(organic), "organic results,", len(questions), "questions")Was steht in search_metadata?
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Kennung der Suche. Geben Sie sie an, wenn Sie den Support kontaktieren. |
status | string | success bei einer 200-Antwort. |
engine | string | Die Engine, die die Suche ausgeführt hat. |
created_at | string | Zeitpunkt der Suche, ISO 8601 in UTC. |
credits_used | integer | Von dieser Suche verbrauchte Credits: 1 bei Erfolg. |
Was sind search_parameters und search_information?
Speichern Sie search_parameters mit Ihren Ergebnissen: Damit ist genau festgehalten, aus welchem Land, welcher Sprache, welchem Ort und von welchem Gerät ein Ranking stammt.
| Feld | Typ | Beschreibung |
|---|---|---|
search_parameters | object | Die angewendeten Parameter mit ausgefüllten Standardwerten: engine, q, gl, hl, location, google_domain, device, page und die übrigen, die Sie gesendet haben. |
search_information.total_results | integer | Die Anzahl der Ergebnisse, die die Engine angezeigt hat, sofern sie eine angezeigt hat. Ein Schätzwert, keine exakte Zahl. |
search_information.query_displayed | string | Die Suchanfrage, wie sie die Ergebnisseite anzeigte. |
Welche Felder hat organic_results?
Organische Ergebnisse sind die unbezahlten Web-Ergebnisse. Bei Bing hat organic_results dieselbe Struktur.
| Feld | Typ | Beschreibung |
|---|---|---|
position | integer | Position des Ergebnisses in diesem Block auf dieser Seite, beginnend bei 1. |
title | string | Der Titel des blauen Links. |
link | string | Die URL des Ergebnisses. |
displayed_link | string | Die URL oder Breadcrumb, wie sie unter dem Titel angezeigt wird. |
snippet | string | Der Text, der unter dem Titel angezeigt wird. |
date | string | Datum neben dem Snippet, wie auf der Seite geschrieben. Optional. |
sitelinks | array | Zusätzliche Links unter dem Ergebnis, jeweils mit title und link. Optional. |
Wie wird das AI Overview zurückgegeben?
ai_overview ist nur vorhanden, wenn Google für diese Suchanfrage und diesen Ort ein AI Overview anzeigt. Bei vielen Suchanfragen gibt es keines.
| Feld | Typ | Beschreibung |
|---|---|---|
ai_overview.text | string | Der Text des AI Overview, wie er auf der Seite angezeigt wird. |
ai_overview.references[].index | integer | Position der Quelle im Overview. |
ai_overview.references[].title | string | Titel der zitierten Seite. |
ai_overview.references[].link | string | URL der zitierten Seite. |
ai_overview.references[].source | string | Name der Website, wie angezeigt. |
Was enthalten ads und people_also_ask?
| Feld | Typ | Beschreibung |
|---|---|---|
ads[].position | integer | Position innerhalb des Blocks. |
ads[].block | string | top oder bottom der Seite. |
ads[].title, link, displayed_link | string | Überschrift, Landing-URL und angezeigte URL der Anzeige. |
ads[].description | string | Anzeigentext. |
people_also_ask[].question | string | Die Frage wie angezeigt. |
people_also_ask[].snippet | string | Der Antworttext, der beim Öffnen der Frage angezeigt wird. |
people_also_ask[].title, link | string | Titel und URL der Seite, von der die Antwort stammt. |
Welche anderen Google-Blöcke können erscheinen?
| Block | Felder | Was es ist |
|---|---|---|
local_results | position, title, address, rating, reviews, type | Das Local Pack: Unternehmen auf einer Karte für Suchanfragen mit Ortsbezug. |
knowledge_graph | title, type, description, source.name, source.link | Das Knowledge Panel zu einer Person, einem Ort, einem Unternehmen oder einer Sache. |
top_stories | title, link, source, date | Nachrichtenartikel in einem Karussell. |
inline_videos | title, link, source, duration | Videoergebnisse innerhalb der Web-Ergebnisse. |
shopping_results | position, title, price, source, link | Produkteinträge innerhalb der Web-Ergebnisse. |
related_searches | query | Suchvorschläge am Ende der Seite. |
pagination | current, next_page | Aktuelle Seitenzahl und die nächste, sofern es eine gibt. |
Was geben die anderen Engines zurück?
Jede Vertikale behält denselben Rahmen und fügt ihr eigenes Array hinzu. Bei Google Maps ist local_results reichhaltiger als das Local Pack einer Websuche.
engine | Haupt-Array | Felder |
|---|---|---|
google_news | news_results | position, title, link, source, date, snippet, thumbnail |
google_images | images_results | position, title, original, original_width, original_height, thumbnail, source, link |
google_maps | local_results | position, title, place_id, address, phone, website, rating, reviews, type, hours, gps_coordinates.latitude, gps_coordinates.longitude |
google_shopping | shopping_results | position, title, price, extracted_price, currency, source, link, delivery, rating, reviews |
bing | organic_results, related_searches | Dieselben Felder wie die organischen Google-Ergebnisse |
In welcher Form werden Preise, Bewertungen und Datumsangaben ausgegeben?
Werte behalten die Form der Seite, sofern die Seite sie als Text geschrieben hat. price ist ein String mit Währungssymbol, etwa £299.00, und Google Shopping ergänzt extracted_price als Zahl und currency als Code. rating ist eine Zahl und reviews eine ganze Zahl. Datumsangaben wie date bleiben so stehen, wie sie auf der Seite geschrieben wurden, zum Beispiel 12 Oct 2026 oder 3 days ago – parsen Sie sie also in Ihrem eigenen Code, wenn Sie einen Zeitstempel brauchen.
Wie baue ich einen Gesamtrang über mehrere Seiten hinweg?
Speichern Sie die Seitennummer mit jedem Ergebnis. position gibt die Reihenfolge innerhalb seines Blocks auf einer Seite an, und search_parameters.page sagt Ihnen, um welche Seite es sich handelt. Etwa 10 organische Ergebnisse pro Seite, so wie Google sie liefert, seit num=100 im September 2025 nicht mehr berücksichtigt wird; jede weitere Seite kostet einen weiteren Credit.
Für das Rank Tracking behalten die meisten Teams link, position, page, gl, location, device und created_at pro Keyword und Tag. Das reicht, um eine Platzierung zu verfolgen und eine Veränderung nach Ort oder Gerät zu erklären. Die vollständige Methode finden Sie unter Rank Tracking.
Fragen zum Antwortformat
Ist die Feldbenennung stabil?
Ja, innerhalb von Version 1. Neue Blöcke oder Felder können hinzukommen, ignorieren Sie also Keys, die Sie nicht kennen. Das Entfernen oder Umbenennen eines Felds würde mit einer neuen Version im Pfad einhergehen, etwa /api/v2/.
Kann ich das rohe HTML der Seite bekommen?
Nein. Version 1 liefert nur geparstes JSON. Die geparsten Blöcke decken ab, was die meisten Tools brauchen: Ergebnisse, Anzeigen, Fragen, den AI Overview, das Local Pack und das Knowledge Panel.
Warum unterscheidet sich total_results von dem, was ich gezählt habe?
Es ist die Schätzung, die die Engine ausgibt, keine Zählung der Ergebnisse, durch die Sie blättern können. Die Seiten enden lange vor dieser Zahl; nutzen Sie pagination.next_page, um zu wissen, ob eine weitere Seite existiert.
Kostet eine Antwort ohne organische Ergebnisse einen Credit?
Ja, wenn die Suche erfolgreich war: Eine leere Seite ist trotzdem ein Ergebnis. Nur Fehler sind kostenlos. 1 Credit = 1 erfolgreiche Suchanfrage, die eine Ergebnisseite auf jeder unterstützten Engine liefert. Eine fehlgeschlagene Anfrage wird nicht berechnet.