Google stellt eine tolle Anleitung zur Verfügung, wie man erste Daten aus der Search Console über die API mit Python extrahieren kann. Diese Anleitung findest du hier:
👉 https://developers.google.com/webmaster-tools/search-console-api-original/v3/quickstart/quickstart-python
Schritt-für-Schritt:
- Gehe auf die Seite:
https://console.developers.google.com/flows/enableapi?apiid=webmasters&credential=client_key
Lege dir dort entweder ein neues Projekt an, oder wähle ein bestehendes aus. - In der Übersicht wählst du links „Anmeldedaten“ aus.
- Klicke auf Button: „Anmeldedaten erstellen“ oder direkt hier:
👉 https://console.developers.google.com/apis/credentials/oauthclient - Wähle OAuth-Client-ID → Sonstige aus.
- Falls der Bildschirm auf OAuth-Zustimmungsbildschirm wechselt, trage dort den „Name der Anwendung“ ein.
- Klicke auf „Erstellen“.
- Jetzt sollte ein Popup erscheinen mit CLIENT-ID und CLIENTSCHLÜSSEL.
Dieses Fenster kann geschlossen werden – die Keys kannst du jederzeit abrufen. - Den Schlüssel aus Schritt 7 kopierst du jetzt in den Beispielcode.
Benötigte Python-Libraries:
pip install --upgrade google-api-python-client
pip install httplib2
Python-Code für API-Zugriff auf die Search Console:
#!/usr/bin/python
import httplib2
from apiclient import errors
from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow
# Copy your credentials from the console
CLIENT_ID = 'YOUR-ID'
CLIENT_SECRET = 'YOUR-SECRET'
# Check https://developers.google.com/webmaster-tools/search-console-api-original/v3/ for all available scopes
OAUTH_SCOPE = 'https://www.googleapis.com/auth/webmasters.readonly'
# Redirect URI for installed apps
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'
# Run through the OAuth flow and retrieve credentials
flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI)
authorize_url = flow.step1_get_authorize_url()
print ('Go to the following link in your browser: ' + authorize_url)
code = input('Enter verification code: ').strip()
credentials = flow.step2_exchange(code)
# Create an httplib2.Http object and authorize it with our credentials
http = httplib2.Http()
http = credentials.authorize(http)
webmasters_service = build('webmasters', 'v3', http=http)
# Retrieve list of properties in account
site_list = webmasters_service.sites().list().execute()
# Filter for verified websites
verified_sites_urls = [s['siteUrl'] for s in site_list['siteEntry']
if s['permissionLevel'] != 'siteUnverifiedUser'
and s['siteUrl'][:4] == 'http']
# Printing the URLs of all websites you are verified for.
for site_url in verified_sites_urls:
print (site_url)
# Retrieve list of sitemaps submitted
sitemaps = webmasters_service.sitemaps().list(siteUrl=site_url).execute()
if 'sitemap' in sitemaps:
sitemap_urls = [s['path'] for s in sitemaps['sitemap']]
print (" " + "\n ".join(sitemap_urls))
Starten des Programms
Wenn du die Schlüssel richtig eingetragen hast, sollte das Programm in der Konsole einen Link anzeigen.
Klickst du diesen an, kommst du auf eine Authentifizierungsseite.
Dort klickst du dich einfach durch. Am Ende erscheint ein Authentifizierungscode.
➡️ Diesen musst du kopieren und in der Consolenausgabe deines Programms eintragen.
Jetzt bist du erfolgreich authentifiziert – und Google listet dir alle freigeschalteten Domains und Sitemaps auf.
Wie geht es jetzt weiter?
Zugegeben, das Ergebnis ist erstmal überschaubar – aber das Schwierigste ist geschafft: die Verbindung steht!
Jetzt kannst du nach Herzenslust weitere Parameter, Queries etc. hinzufügen und ausgeben lassen.