seojuice

Ich habe ein Google-Search-Console-Dashboard für 0 $ gebaut. Hier ist der Code.

Vadim Kravcenko
Vadim Kravcenko
· Updated · 15 min read

TL;DR: Die Google Search Console stellt exakt die Abfrage-, Seiten-, Positions- und Impression-Daten bereit, für die SEMrush und Ahrefs monatlich 129–449 $ kassieren. Die GSC-API bietet kostenlos 1 200 Requests pro Minute, ein Payload-Limit von 25 000 Zeilen und vier Endpunkte, die ungefähr 90 % dessen abdecken, was ein Solo-Founder benötigt. Dieser Beitrag führt durch das OAuth-Setup mit Dienstkonto, erklärt die vier relevanten Endpunkte, zeigt ein ausführbares Python-Skript für eine Query-by-Page-CTR-Matrix und beschreibt drei Automatisierungsmuster (Cron + Slack, Google Sheets, eine schlanke Django-View), die rohe API-Zeilen in ein brauchbares Dashboard verwandeln. Falls Sie die Integration nicht selbst warten möchten, übernimmt SEOJuice das gleiche Wiring als Managed Service.

Was die GSC bereits gratis liefert (und was kostenpflichtige Tools nur neu verpacken)

Das Ärgerliche an einer SEO-Suite für 449 $ im Monat: Rund 70 % der Dash­board-Daten stammen direkt aus der Search Console. Bezahl­tools legen im Wesent­lichen drei Dinge oben­drauf: externes Rank-Tracking über gemietete Proxys, einen Backlink-Graphen aus gecrawlten Web-Archiven und ein UI, das Ihnen SQL erspart. Letzteres ist das Einzige, was ein Solo-Founder wirk­lich braucht – und am güns­tig­sten nach­zubauen.

Die API stellt für jede verifizierte Property Folgendes bereit:

  • 16 Monate historische Performance-Daten: jede Abfrage mit Klicks, Impressionen, Position, CTR und Datum.
  • Aufschlüsselung auf Seiten­ebene im selben Zeitfenster: welche URLs für welche Abfragen ranken und wie sich die Klicks verteilen.
  • Index­abdeckung jeder URL: letzter Crawl, Indexierungs­status, von Google gewählte kanonische URL, Mobile Usability, strukturierte-Daten-Analyse.
  • Sitemap-Status: welche Sitemaps Google wann abgeholt hat und wie viele URLs gefunden bzw. indexiert wurden.
  • Segmentierung nach Gerät, Land und Such­darstellung auf denselben Query/Page-Daten.

Fehlend ist alles außerhalb der eigenen Property: Rankings von Wettbewerbern, Backlink-Entwicklung fremder Domains, Share-of-Voice-Berechnungen. Für die meisten Pre-PMF-Gründer sind das Eitel­keits­metriken, die nicht beeinflussen, was sie als Nächstes shippen. In einem längeren Artikel über ein Zwei-Tool-SEO-Setup komme ich zum selben Fazit: GSC plus eine Writing-Oberfläche liefern genug Signal zum Handeln.

„Die Daten in der Search Console stammen direkt von Google. Es ist die genaueste Quelle, um zu verstehen, wie Ihre Website in der Google-Suche performt.“

Aus der Search Console-Hilfe von Google.

GSC-API mit einem Dienstkonto einrichten

Es gibt zwei sinnvolle Auth-Flows für die GSC-API: User-Flow-OAuth (Browser-Redirect, Refresh-Token) und Dienstkonto-OAuth (Server-zu-Server, kein Browser). Für einen Founder, der einen Cron auf einem einzelnen VPS betreibt, sind Dienst­konten kürzer und robuster – kein Refresh-Token-Ablauf, kein Consent-Screen.

Die Bereit­stellung dauert etwa zehn Minuten und kostet nichts:

  1. Im Google Cloud Console ein neues Projekt anlegen (oder ein bestehendes nutzen). Free Tier reicht völlig – es fallen keine Kosten an.
  2. In der API-Bibliothek die Google Search Console API aktivieren.
  3. Unter IAM & Admin → Service Accounts ein neues Dienstkonto namens gsc-dashboard-reader anlegen. Keine projektweiten Rollen erforderlich.
  4. Für das neue Konto einen JSON-Schlüssel erzeugen und herunter­laden. Behandeln wie einen API-Key; nicht committen.
  5. In der Search Console unter Einstellungen → Nutzer und Berechtigungen die E-Mail des Dienst­kontos (endet auf @<project-id>.iam.gserviceaccount.com) hinzufügen. Beschränkt reicht zum Lesen.

Der letzte Schritt wird oft vergessen. Das Dienstkonto ist zwar eine Google-Identität, aber ohne explizite Freigabe auf die Property liefert die API einen scheinbar richtigen 403 user does not have sufficient permission for site. Berechtigung pro Property vergeben; bei mehreren wiederholen.

Diagramm des Dienstkonto-OAuth-Flows: GCP-Projekt, Dienstkonto, JSON-Schlüssel, Search-Console-Berechtigung
OAuth-Flow mit Dienstkonto für die GSC. Die Credential-Datei authentifiziert gegenüber Google; die Berechtigung in der Search Console autorisiert den Datenzugriff.

Die vier Endpunkte, die 90 % abdecken

Die GSC-API ist überschaubar. Vier Endpunkte genügen für Query-Daten, Sitemap-Status, URL-Inspection und die Liste der verfüg­baren Properties. Den Rest der Doku können Sie ignorieren, bis Sie einen konkreten Anlass haben.

EndpointRückgabeKontingentEinsatz
searchanalytics.queryBis zu 25 000 Zeilen mit Klicks, Impressionen, Position, CTR nach Query, Seite, Datum, Gerät, Land1 Unit / RequestKern­daten des Dashboards: welche Queries Traffic bringen, welche Seiten Impressionen in Klicks umwandeln
sitemaps.listAlle eingereichten Sitemaps mit Status, letztem Abruf, URL-Zahlen1 Unit / RequestSitemap-Gesundheit; Warnungen bei fallenden oder teil-indexierten Sitemaps
urlInspection.index.inspectPro URL: Abdeckungs­status, letzter Crawl, kanonische URL, Mobile Usability, AMP- und Schema-Ergebnisse2 000 / Tag (separates Kontingent)Stichproben kritischer Seiten; automatisierte Indexierungs-Audits
sites.listAlle Properties, auf die die Auth-Identität Zugriff hat1 Unit / RequestMulti-Property-Dashboards; Iteration über ein Portfolio

Das 1 200-Requests-pro-Minute-Limit auf Leseendpunkten ist für Solo-Founder praktisch unendlich. Die einzige echte Kappe sind 2 000 URL-Inspections pro Tag – genug für ein tägliches Audit von 1 500 URLs.

Ein echtes Python-Pull: Top-Queries und die Query-by-Page-Matrix

Die sinnvollste Abfrage ist eine Query-by-Page-Aufschlüsselung der letzten 28 Tage. Sie zeigt, welche Seite für welche Query rankt und wie die CTR an der Schnitt­stelle aussieht. Zellen mit vielen Impressionen und niedriger CTR sind Ihre Kurzfrist-Optimierungs­kandidaten.

Benötigte Pakete installieren:

pip install google-auth google-api-python-client

Das minimal lauffähige Skript: Auth, Query, Print. Den herunter­geladenen JSON-Key als gsc-credentials.json im selben Verzeichnis speichern:

from datetime import date, timedelta
from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ["https://www.googleapis.com/auth/webmasters.readonly"]
SITE_URL = "sc-domain:example.com"  # oder "https://example.com/"
KEY_FILE = "gsc-credentials.json"

creds = service_account.Credentials.from_service_account_file(
    KEY_FILE, scopes=SCOPES
)
service = build("searchconsole", "v1", credentials=creds)

end = date.today() - timedelta(days=2)  # GSC hinkt ~2 Tage hinterher
start = end - timedelta(days=27)

request = {
    "startDate": start.isoformat(),
    "endDate": end.isoformat(),
    "dimensions": ["query"],
    "rowLimit": 25,
    "orderBy": [{"field": "clicks", "descending": True}],
}
response = service.searchanalytics().query(
    siteUrl=SITE_URL, body=request
).execute()

for row in response.get("rows", []):
    q = row["keys"][0]
    print(f"{row['clicks']:>5}  {row['impressions']:>6}  "
          f"{row['ctr']*100:>5.1f}%  pos={row['position']:>5.1f}  {q}")

Das ist die gesamte Integration. Ausführen und Sie sehen die 25 Top-Queries der letzten 28 Tage, nach Klicks sortiert. Zwei Hinweise: sc-domain:example.com gilt für Domain-Properties (empfohlen); die vollständige URL-Form nur für URL-Prefix-Properties verwenden. GSC-Daten sind ca. zwei Tage verzögert, daher endet die Abfrage bei today - 2.

Die Query-by-Page-Matrix – die Version, die wirklich Entscheidungen treibt – fügt eine zweite Dimension hinzu und erhöht das Zeilen­limit:

request = {
    "startDate": start.isoformat(),
    "endDate": end.isoformat(),
    "dimensions": ["query", "page"],
    "rowLimit": 5000,
    "orderBy": [{"field": "impressions", "descending": True}],
}
response = service.searchanalytics().query(
    siteUrl=SITE_URL, body=request
).execute()

opportunities = []
for row in response.get("rows", []):
    query, page = row["keys"]
    impressions = row["impressions"]
    ctr = row["ctr"]
    position = row["position"]
    # Zellen mit >500 Impressionen und CTR <2 % sind CTR-Leak-Kandidaten
    if impressions > 500 and ctr < 0.02 and position < 15:
        opportunities.append((impressions, query, page, position, ctr))

opportunities.sort(reverse=True)
for imp, q, p, pos, ctr in opportunities[:20]:
    print(f"{imp:>6} imp  pos={pos:>4.1f}  ctr={ctr*100:>4.1f}%  {q}  →  {p}")

Der Filter unten (hohe Impressionen, niedrige CTR, Position < 15) ist die klassische Liste für Title-Tag-Rewrites. Sie ranken bereits; der Klick-Through ist das Leck. Genau dieselbe Logik bieten Bezahltools als „Ranking Opportunities“ an – in sechs Zeilen Code.

Beispielausgabe der Query-by-Page-Matrix mit Impressionen, CTR, Position, Query und Ziel-URL
Ausgabe der Query-by-Page-Matrix. Jede Zeile ist eine Query-×-URL-Schnitt­stelle. Hohe Impressionen, niedrige CTR: Kandidaten für Title-Rewrites.

Was sich zu visualisieren lohnt: vier Diagramme, die wirklich helfen

Sobald Sie die Zeilen haben, stellt sich die Frage: Was charten? Die meisten SEO-Tools ertränken Sie in 40 Widgets; für wöchentliche Entscheidungen genügen vier. Nutzen Sie das Charting-Framework, das Sie ohnehin einsetzen: Chart.js im HTML, matplotlib im Jupyter-Notebook oder native Diagramme, wenn Sie in Google Sheets schreiben.

  1. Tägliche Klicks + Impressionen als Liniendiagramm, 90-Tage-Fenster. Das wichtigste Chart. Zeigt, ob Traffic wächst, stagniert oder sinkt. Divergenz (Impressionen rauf, Klicks flat) ist das AI-Overview-Signal.
  2. Top-20-Queries als Balkendiagramm, Farbe nach Position. Nach Klicks sortiert. Grün für Position 1–5, Gelb für 6–10, Rot für 11+. Macht sichtbar, welche Queries Sie gewinnen, welche wackeln, welche ein Update verdienen.
  3. Positions-Decay-Scatterplot. X-Achse: Position vor vier Wochen. Y-Achse: Position heute. Diagonale = „keine Änderung“. Punkte über der Diagonale sind gefallen; darunter gestiegen. Der rote Punkt­haufen oben rechts ist Ihre Decay-Watchlist; Workflow siehe Content-Refresh-Strategie.
  4. AI-Overview-Impact-Schätzung. Impressionen und Klicks als zwei Linien, normalisiert auf Tag 1. Wenn sie ausein­ander laufen (Impressionen stabil, Klicks runter), ist die Lücke grob die Kannibalisierung durch AI Overview. Nicht perfekt, aber richtungs­weisend.
Mockup der vier Kern-GSC-Charts: tägliche Klick-Linie, Top-Queries-Balken, Positions-Decay-Scatter, AI-Overview-Divergenz
Die vier Charts. Kosten­pflichtige Dashboards zeigen 40+ Widgets; für einen Solo-Founder decken diese vier rund 90 % der Entscheidungen ab.

Automatisierungsmuster: Cron, Slack, Sheets, Django

Manuell ziehen reicht einmalig. Wirklich nützlich wird das Dashboard, wenn es von allein läuft. Drei Muster, nach Einrichtungs­aufwand sortiert:

Muster 1: Cron und Slack-Alerts. Der billigste Weg. Ein täglicher Cron führt das Skript aus und postet bei drei Triggern – Klicks > 20 % Woche-zu-Woche gefallen, eine Top-10-Query aus den Top 20 gefallen oder eine zuvor indexierte Seite verloren – in Slack. Etwa 80 Zeilen Python inkl. Webhook. Läuft in 4 Sekunden auf einem 5-$-VPS. Ihr Dashboard hat eine Aufgabe: schreien, wenn sich etwas ändert.

import json, os, urllib.request

def post_slack(text):
    payload = {"text": text}
    req = urllib.request.Request(
        os.environ["SLACK_WEBHOOK_URL"],
        data=json.dumps(payload).encode(),
        headers={"Content-Type": "application/json"},
    )
    urllib.request.urlopen(req, timeout=10).read()

# Nachdem wow_change aus zwei 7-Tage-GSC-Pulls berechnet wurde:
if wow_change < -0.20:
    post_slack(
        f":warning: GSC-Klicks um {wow_change*100:.0f}% WoW gefallen "
        f"({last_week} → {this_week}). Stärkste Abfälle: {falling[:3]}"
    )

Muster 2: Google Sheets Sink. Über die Sheets-API oder das einfachere gspread die Zeilen in ein Sheet schreiben. Das Sheet ist Ihr Dashboard: Pivot-Tabellen für Ad-hoc-Analysen, native Diagramme, mit dem nicht-technischen Co-Founder teilbar. Circa 30 Zeilen zusätzlich. Nachteil: Aktualisierungs­latenz je nach Cron-Takt, und Sheets wird ab ~20 000 Zeilen träge.

Muster 3: Schlanke Django-View. Eine View, die den GSC-Pull ausführt, 6 Stunden in Redis cached und die vier Charts via Chart.js rendert. Rund 200 Zeilen Python + HTML. Lohnt sich, sobald ein Co-Founder mitten in der Woche draufschauen will. Cache ist Pflicht; ohne ihn würde jeder Page-View einen neuen GSC-Call auslösen und das Minuten-Kontingent am Launch-Tag sprengen.

„Habe mein 329-$/Monat-Ahrefs-Abo gekündigt, nachdem mir klar wurde, dass ich täglich nur das Widget ‚Top Organic Queries‘ anschaue. Gegen die Search-Console-API in einem Nachmittag nachgebaut.“

Ein Muster, das in Indie-Hacker-Threads auf Hacker News und in den Bootstrapper-Ecken von IndieHackers regelmäßig auftaucht.

DIY vs SEMrush vs SEOJuice vs Ahrefs vs kostenlose GSC-UI

Die wirkliche Gründer-Frage lautet selten „welches Bezahl-Tool“, sondern: zahlen, selbst bauen oder die kostenlose GSC-UI inkl. ihrer Grenzen akzeptieren? So schneiden die fünf Optionen ab:

OptionMonats­kostenSetup-ZeitWartungMulti-PropertyHistorie
Freie GSC-UI0 $0 hkeinemanuelles Umschalten16 Mon., langsame Exporte
DIY GSC-API + Cron + Sheets0–5 $ (VPS)4–8 h~30 min/q (Auth-Rotation, Deprecations)trivial16 Mon., in Sekunden querybar
SEOJuice29–99 $~10 minkeine (managed)integriert16 Mon. GSC + eigene Crawl-Historie
SEMrush139–499 $~30 minkeine (managed)Projekt-Limits je Plan>2 Jahre
Ahrefs129–449 $~30 minkeine (managed)Projekt-Limits je Plan>2 Jahre

DIY gewinnt bei den Kosten, ist bei Eigenschafts-Daten gleichauf und verliert bei Konkurrenz- und Backlink-Insights. Frühphasen-Teams mit der Frage „was funktioniert auf meiner Site?“ fahren mit DIY am besten. Beim Skalieren, Competitor-Research oder Link-Building verdienen die Bezahl-Tools ihr Geld. SEOJuice positioniert sich dazwischen: Managed GSC-Integration plus Crawl-, Audit- und AI-Visibility-Tracking ohne Enterprise-Aufschlag.

Was AI Overviews an GSC-Daten falsch verstehen

Fragen Sie ChatGPT oder Gemini, wie GSC-Daten zu interpretieren sind, bekommen Sie plausibel klingende, aber in drei Punkten falsche Antworten. Diese Fehler finden sich in jedem „KI-generierten SEO-Report“-Tool.

Falsche Behauptung #1: „Position ist der Durch­schnitts­rang, den Sie für die Query hatten.“ Es ist der Durch­schnitt des besten Rangs, den eine Ihrer URLs in Impressionen erreicht hat, bei denen die Query eine SERP auslöste, die Ihre Site enthielt. Ranken zwei URLs im selben SERP, zählt nur die höhere. Deshalb ändert sich die „Position“, wenn Sie einen neuen Artikel veröffentlichen, der den alten überragt.

Falsche Behauptung #2: „CTR wird pro Impression berechnet.“ CTR ist Klicks ÷ Impressionen auf der Aggregations­ebene Ihrer Abfrage. Nach Datum gibt site-weite Tages-CTR; nach Query + Page liefert Zellen-CTR. Die Zahlen summieren sich über Ebenen nicht, weil sich der Nenner ändert.

Falsche Behauptung #3: „Wenn eine Query Impressionen ohne Klicks hat, rankt die Seite schlecht.“ Im AI-Overview-Zeitalter ist das oft das Muster einer zitier­ten Quelle ohne Klick. Impressionen stabil, Klicks runter = klassisch. Die Seite rankt nicht schlechter; die SERP hat sich verändert. Mehr dazu im AI-Overview-Citations-Artikel.

Fallstricke, die beim Selbstbau nerven

Fünf Stolper­steine, die Erstnutzer der GSC-API Zeit kosten:

  • Das 25 000-Zeilen-Limit pro Request ist hart. Darüber hinaus mit startRow paginieren. google-api-python-client macht das nicht auto­matisch; selbst schleifen.
  • Dienstkonto-Keys laufen nie ab, werden aber bei Leaks widerrufen. JSON wie DB-Passwort behandeln – Secrets-Manager in Prod, nie ins Git.
  • Die 2-Tage-Daten-Verzögerung gilt pro Tag, nicht pro Query. Heute liefert leer, vorgestern fast final, gestern partiell.
  • Domain-(sc-domain:) und URL-Prefix-Properties liefern andere Zahlen. Domain-Properties aggregieren über Sub-Domains und Protokolle. Eine als Single-Source-of-Truth wählen.
  • Der „anonymisierte Queries“-Bucket frisst 15–25 % Ihrer Long-Tail-Daten. Niedrig­volumige Queries werden zu (anonymized) zusammen­gefasst und sind nicht rekonstruierbar. Top-Query-Analysen darauf ausrichten.

Kein Show-Stopper, aber jeder Punkt hat mich anfangs eine Stunde gekostet. Die offizielle Referenz listet alles – nur nicht laut genug.

FAQ

Wie lange behält die GSC-API historische Daten? 16 Monate. Danach sind sie weg; es gibt kein Archiv-Endpoint. Für längere Trends das rollierende Fenster selbst in Storage kippen. Ein 365-Tage-Fenster in Postgres belegt pro Property wenige hundert MB.

Kann ich per API URLs zur Indexierung einreichen? Nein. Die URL-Submission wurde 2020 nach Spam-Missbrauch entfernt. Die Indexing-API existiert noch, funktioniert aber nur für Job-Postings und Live-Streams; für normalen Content ist das gegen Googles Richtlinie.

Was ist der Unterschied zwischen impressions und clicks? Impressionen zählen jede SERP-Einblendung Ihrer URL, egal ob der Nutzer scrollt. Klicks zählen Nutzer-Klicks. CTR ist das Verhältnis. Im AI-Overview-Zeitalter geht die Schere weiter auf, weil Nutzer die Antwort lesen und nicht klicken.

Gibt es ein höheres Free-Tier als das Standard-Kontingent? Das Kontingent ist für alle gleich: 1 200 Requests/Min. auf Analytics-Endpoints, 2 000/Tag für URL Inspection. Kein bezahltes Upgrade; Erhöhungen kann man im Cloud Console anfragen, für Solo-Workloads selten nötig.

Kann ich Zugriff delegieren, ohne meinen Google-Account zu teilen? Ja, genau dafür sind Dienst­konten da. Pro Integration eins anlegen, „Beschränkt“ auf die Property, und bei Bedarf Rechte entziehen, ohne Ihren Login anzufassen.

Welche Language-Bindings unterstützt die API? Offiziell: Python, Node, Java, PHP, Ruby, Go, .NET. Inoffiziell: alles, was einen REST-Call mit Bearer-Token absetzen kann. JSON-Shapes sind identisch.

Vergleich: freie GSC-UI, DIY-Dashboard, SEOJuice, SEMrush, Ahrefs nach Kosten und Setup
Die fünf Optionen fürs Gründer-SEO-Dashboard, auf Kosten und Setup-Aufwand geplottet. DIY ist gratis, frisst aber Engineering-Stunden.

Wann sich DIY nicht mehr lohnt

Das DIY-Dashboard rechnet sich, solange die benötigten Daten innerhalb Ihrer Property liegen. Sobald die Frage „Warum rankt mein Konkurrent über mir?“ oder „Wer verlinkt ihn, mich aber nicht?“ lautet, stoßen Sie an das GSC-Limit. Dann bleibt: SEMrush oder Ahrefs 129–449 $ für Backlink- und Competitor-Daten zahlen oder ein kleineres Tool wie SEOJuice für dieselbe GSC-Integration plus Crawl-, Audit- und AI-Visibility-Tracking, meist 15–25 % der Enterprise-Preise.

Für die meisten Solo-Founder liegt die Schwelle zwischen 500 $ MRR und 5 000 $ MRR. Darunter lohnt DIY; Engineering-Zeit ist günstiger als das Abo und man lernt die Daten. Darüber ist Zeit wertvoller als Auth-Rotation und Kontingent-Retry. Dazwischen hängt es davon ab, wie gern Sie nachts Python schreiben.

Der andere Weg: Dieses Wochenende die Cron-+-Slack-Version bauen (sechs Stunden inkl. OAuth), einen Monat laufen lassen und beobachten, was Sie wirklich ansehen. Wenn Sie nur den „Top-Queries-Dropping“-Alert checken und alles andere ignorieren, wissen Sie, dass ein Widget reicht – weiterbauen oder kaufen. Die günstigen SEO-Strategien skizzieren das Budget-Playbook.

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Wie lange behält die GSC-API historische Daten?", "acceptedAnswer": { "@type": "Answer", "text": "16 Monate. Danach sind die Daten weg; es gibt kein Archiv-Endpoint. Wer längere Trends analysieren möchte, sollte mit einem täglichen Cron das rollierende Fenster in eigenen Speicher schreiben." } }, { "@type": "Question", "name": "Kann ich die GSC-API nutzen, um URLs zur Indexierung einzureichen?", "acceptedAnswer": { "@type": "Answer", "text": "Nein. Die URL-Einreichung wurde 2020 wegen Spam entfernt. Die Indexing-API existiert nur noch für Jobanzeigen und Livestreams; für normalen Content ist das laut Google verboten." } }, { "@type": "Question", "name": "Was ist der Unterschied zwischen Impressionen und Klicks in GSC?", "acceptedAnswer": { "@type": "Answer", "text": "Impressionen zählen jede SERP-Einblendung Ihrer URL. Klicks erfassen tatsächliche Nutzerklicks. Die CTR ist das Verhältnis. Durch AI Overview geht die Schere weiter auseinander, weil Nutzer die Antwort lesen, aber nicht klicken." } }, { "@type": "Question", "name": "Gibt es ein kostenloses Kontingent oberhalb des Standardlimits?", "acceptedAnswer": { "@type": "Answer", "text": "Das Limit ist für alle identisch: 1 200 Requests/Minute für Analytics-Endpunkte, 2 000/Tag für URL Inspection. Ein bezahltes Upgrade gibt es nicht; höhere Limits kann man im Google Cloud Console beantragen, benötigt sie aber selten." } }, { "@type": "Question", "name": "Kann ich GSC-Zugriff delegieren, ohne meinen Google-Account zu teilen?", "acceptedAnswer": { "@type": "Answer", "text": "Ja. Genau dafür sind Dienstkonten gedacht: pro Integration ein Konto anlegen, 'Beschränkt' auf die Property vergeben und bei Bedarf wieder entziehen – ganz ohne Ihren eigenen Login preiszugeben." } }, { "@type": "Question", "name": "Welche Programmiersprachen unterstützt die GSC-API?", "acceptedAnswer": { "@type": "Answer", "text": "Offiziell: Python, Node, Java, PHP, Ruby, Go, .NET. Inoffiziell: jede Sprache, die einen REST-Call mit Bearer-Token absetzen kann. Die JSON-Strukturen sind überall gleich." } } ] } </script>