Wie man einen YouTube API Schlüssel (YouTube Data API v3) erstellt und die erste Anfrage sendet

Holen Sie sich einen YouTube API-Schlüssel für die YouTube Data API v3: aktivieren Sie die API, erstellen und beschränken Sie den Schlüssel, und senden Sie dann Ihre erste Anfrage mit curl, Python und Apidog.

INEZA Felin-Michel

INEZA Felin-Michel

18 September 2026

Wie man einen YouTube API Schlüssel (YouTube Data API v3) erstellt und die erste Anfrage sendet

Apidog für Unternehmen

On-Premises Bereitstellung

SSO & RBAC

SOC 2 konform

Apidog Enterprise entdecken

Ein YouTube API-Schlüssel ist die Berechtigung, die es Ihrem Code ermöglicht, öffentliche YouTube-Daten zu lesen: Videodetails, Kanalstatistiken, Suchergebnisse, Playlist-Inhalte. Googles Dokumentation drückt es klar aus: „Eine Anfrage, die kein OAuth 2.0-Token bereitstellt, muss einen API-Schlüssel senden. Der Schlüssel identifiziert Ihr Projekt und bietet API-Zugriff, Kontingent und Berichte.“ Kein Schlüssel, keine Daten.

Dieser Leitfaden führt Sie in etwa fünfzehn Minuten von einem leeren Google Cloud-Projekt zu einer funktionierenden Anfrage. Sie aktivieren die YouTube Data API v3, erstellen einen Schlüssel, sichern ihn, rufen die API mit curl und Python auf, speichern den Schlüssel dann in Apidog und speichern den Aufruf als wiederholbaren Test. Wenn Sie sich zuerst einen Überblick verschaffen möchten, deckt unsere YouTube Data API Übersicht ab, was die API preisgibt; dieser Beitrag ist der praktische Teil.

Schaltfläche

Was Sie vor dem Start benötigen

Schritt 1: Erstellen Sie ein Google Cloud-Projekt

Öffnen Sie die Google Cloud Console und melden Sie sich an. Verwenden Sie die Projektauswahl oben auf der Seite, um ein neues Projekt zu erstellen, zum Beispiel youtube-integration. Jeder API-Schlüssel, jedes Kontingent und jeder Nutzungsbericht, den Sie später sehen werden, ist auf dieses Projekt zugeschnitten, also verwenden Sie ein Projekt pro App, anstatt einen Schlüssel über unabhängige Tools hinweg zu teilen. Wenn die App bereits ein Projekt hat, verwenden Sie dieses.

Schritt 2: Aktivieren Sie die YouTube Data API v3

APIs sind in einem neuen Projekt standardmäßig deaktiviert. Gehen Sie in der Konsole zu APIs & Services, öffnen Sie die API-Bibliothek, suchen Sie nach „YouTube Data API v3“ und aktivieren Sie sie. Googles Erste-Schritte-Anleitung beschreibt dieselbe Prüfung aus der anderen Richtung: Besuchen Sie die Seite „Aktivierte APIs“ und aktivieren Sie die API, falls sie nicht aufgeführt ist.

Überspringen Sie diesen Schritt, und Ihre erste Anfrage schlägt mit einem 403-Fehler fehl, der besagt, dass die API im Projekt nicht verwendet wurde oder deaktiviert ist. Dies ist der häufigste Grund, warum ein brandneuer Schlüssel „nicht funktioniert“.

Schritt 3: Erstellen Sie den API-Schlüssel

Gehen Sie zu APIs & Services und dann zu Anmeldeinformationen. Klicken Sie auf Anmeldeinformationen erstellen und wählen Sie API-Schlüssel. Die Konsole generiert den Schlüssel sofort und zeigt ihn in einem Dialog an; kopieren Sie ihn an einen sicheren Ort.

Behandeln Sie den Schlüssel wie ein Passwort. Fügen Sie ihn nicht in ein Git-Repository, einen Slack-Thread oder ein clientseitiges JavaScript-Bundle ein. Wenn er bereits in einen Commit gelangt ist, behandelt unser Leitfaden zum Finden und Beheben exponierter API-Schlüssel die Bereinigung.

Schritt 4: Beschränken Sie den Schlüssel

Googles eigene Dokumentation besagt: „Uneingeschränkte API-Schlüssel sind unsicher.“ Klicken Sie direkt nach der Erstellung auf Schlüssel einschränken. Sie erhalten zwei unabhängige Steuerelemente, die im Leitfaden für Cloud-API-Schlüssel dokumentiert sind:

Speichern Sie und warten Sie einige Minuten, bis die Änderung wirksam wird, bevor Sie testen. Zwei weitere Gewohnheiten aus demselben Leitfaden: Schlüssel regelmäßig rotieren, um den Schaden eines kompromittierten Schlüssels zu begrenzen, und alte Schlüssel löschen, sobald alle Aufrufer auf den Ersatz umgestiegen sind. Ein Hinweis für den nächsten Schritt: Wenn Sie den Zugriff über IP auf Ihren Server beschränken, wird curl von Ihrem Laptop blockiert. Testen Sie daher vom erlaubten Host aus oder erstellen Sie einen separaten Entwicklungsschlüssel.

Schritt 5: Führen Sie Ihre erste Anfrage mit curl und Python aus

Jeder Endpunkt hängt an https://www.googleapis.com/youtube/v3/. Übergeben Sie den Schlüssel als key-Abfrageparameter, wie es Googles eigene Beispiele tun, oder in einem x-goog-api-key-Header, was ihn aus URLs und Zugriffs-Logs heraushält. Beide funktionieren mit der Live-API.

Beginnen Sie mit videos.list, dem günstigsten nützlichen Aufruf: Er liefert Details für eine oder mehrere Video-IDs und kostet 1 Kontingenteinheit. Die unten stehende ID ist die, die Google in seiner Dokumentation verwendet.

export YOUTUBE_API_KEY="AIza...your-key..."

curl -s "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&id=7lCDEYXw3mM" \
  -H "x-goog-api-key: $YOUTUBE_API_KEY"

Eine gekürzte Antwort sieht so aus:

{
  "kind": "youtube#videoListResponse",
  "items": [
    {
      "id": "7lCDEYXw3mM",
      "snippet": { "title": "...", "channelTitle": "...", "publishedAt": "..." },
      "statistics": { "viewCount": "...", "likeCount": "..." }
    }
  ]
}

Der Parameter part ist erforderlich und steuert, welche Abschnitte zurückgegeben werden; snippet, statistics, contentDetails und status sind die, die Sie am häufigsten verwenden werden.

Nun eine Suche, die der Aufruf ist, den die meisten Leute wünschen. In Python mit requests:

import os
import requests

API_KEY = os.environ["YOUTUBE_API_KEY"]
BASE = "https://www.googleapis.com/youtube/v3"

resp = requests.get(
    f"{BASE}/search",
    params={"part": "snippet", "q": "api testing", "type": "video", "maxResults": 10},
    headers={"x-goog-api-key": API_KEY},
    timeout=10,
)

if resp.status_code != 200:
    err = resp.json()["error"]
    raise SystemExit(f"{err['code']} {err['errors'][0]['reason']}: {err['message']}")

for item in resp.json()["items"]:
    print(item["id"]["videoId"], item["snippet"]["title"])

Für search.list muss part snippet sein, maxResults ist standardmäßig 5 und akzeptiert Werte von 0 bis 50, und type ist standardmäßig video,channel,playlist. Setzen Sie es daher auf video, wenn Sie nur Videos möchten. Suchergebnisse enthalten die videoId innerhalb von id, nicht auf der obersten Ebene, weshalb die obige Schleife item["id"]["videoId"] liest.

Schritt 6: Speichern Sie den Schlüssel und führen Sie die Anfrage in Apidog aus

Eine Shell-Variable funktioniert für ein Skript. Sie funktioniert nicht für ein Team und bietet Ihnen keine gespeicherte, wiederholbare Überprüfung. Hier ist dieselbe Anfrage in Apidog, wobei der Schlüssel nicht in der Cloud gespeichert wird.

  1. Erstellen Sie eine Umgebung. Fügen Sie eine Umgebung namens YouTube mit zwei Variablen hinzu: base_url auf https://www.googleapis.com/youtube/v3 gesetzt und youtube_api_key. Für den Schlüssel lassen Sie den gemeinsamen Wert als Platzhalter und fügen den echten Schlüssel in das Feld für den lokalen Wert ein. Lokale Werte bleiben im Cache Ihres Clients und werden nie mit Teamkollegen synchronisiert; die vollständige Einrichtung finden Sie in unserem Leitfaden zu Umgebungen und geheimen Variablen in Apidog.
  2. Erstellen Sie die Anfrage. Neue Anfrage, GET {{base_url}}/videos, Abfrageparameter part=snippet,statistics und id=7lCDEYXw3mM, und ein Header x-goog-api-key, der auf {{youtube_api_key}} gesetzt ist. Wählen Sie die YouTube-Umgebung aus und senden Sie. Sie sollten dieselbe JSON-Antwort wie beim curl-Aufruf sehen.
  3. Wandeln Sie es in einen Test um. Fügen Sie in den Post-Prozessoren der Anfrage Behauptungen hinzu: Status gleich 200 und $.items[0].id gleich 7lCDEYXw3mM. Speichern Sie die Anfrage und fügen Sie sie einem Testszenario hinzu. Die Prüfung läuft nun bei Bedarf, nach einem Zeitplan oder in CI über die Apidog CLI, wobei --env-var "youtube_api_key=$YOUTUBE_API_KEY" den Schlüssel zur Laufzeit injiziert, anstatt ihn zu speichern.

Der Nutzen zeigt sich, sobald der Schlüssel das erste Mal rotiert oder eine Beschränkung geändert wird: Führen Sie ein Szenario erneut aus und Sie wissen innerhalb von Sekunden, ob jeder YouTube-Aufruf noch funktioniert. Laden Sie Apidog herunter, um mitzumachen; es ist kostenlos für Teams von bis zu vier Personen.

Kontingent und Limits

Die YouTube Data API berechnet Ihnen keine Dollar; sie berechnet Ihnen Kontingenteinheiten, und die Zahlen stammen von Googles Kontingent-Rechnerseite. Jedes Projekt, das die API aktiviert, erhält diese Standardzuteilung:

Bucket Standard pro Tag Kosten pro Aufruf
search.list 100 Aufrufe 1 Einheit (eigener Bucket)
videos.insert 100 Aufrufe 1 Einheit (eigener Bucket)
Alle anderen Endpunkte zusammen 10.000 Einheiten variiert, siehe unten

Innerhalb des geteilten 10.000-Einheiten-Pools kosten List-Methoden wie videos.list, channels.list, playlistItems.list und commentThreads.list jeweils 1 Einheit. Schreibvorgänge kosten mehr: videos.update und videos.delete sind 50 Einheiten, und captions.insert sind 400. Vier Regeln von derselben Seite prägen, wie Sie Ihr Design darauf ausrichten sollten:

Ältere Leitfäden beziffern eine Suche mit 100 Einheiten aus dem 10.000-Pool. Die aktuelle Seite platziert search.list in einem eigenen Bucket, sodass die Obergrenze immer noch 100 Suchen pro Tag beträgt, aber Suchen verbrauchen kein Kontingent mehr für Ihre anderen Aufrufe.

Wenn das nicht ausreicht, verweist Sie die Seite zu Kontingent- und Compliance-Audits auf das YouTube API Services Audit and Quota Extension Formular. Bevor Sie es einreichen, cachen Sie Antworten, fordern Sie nur die benötigten part-Werte an und fassen Sie IDs in einem videos.list-Aufruf zusammen (der id-Parameter akzeptiert eine komma-getrennte Liste). Die Nutzung wird auf der Seite „Kontingente“ in der Cloud Console angezeigt.

Häufige Fehler und wie man sie behebt

Googles Fehlerreferenz listet die eigenen Fehlercodes der API auf. Die ersten beiden Zeilen unten stammen vom Senden tatsächlicher Anfragen an die Live-API mit einem ungültigen Schlüssel und ohne Schlüssel.

HTTP Grund Meldung, die Sie sehen werden Behebung
400 badRequest (API_KEY_INVALID) „API-Schlüssel ist nicht gültig. Bitte geben Sie einen gültigen API-Schlüssel an.“ Tippfehler, gelöschter Schlüssel oder eine API-Einschränkung, die die YouTube Data API v3 ausschließt. Erstellen oder bearbeiten Sie den Schlüssel.
403 forbidden „Methode erlaubt keine nicht registrierten Aufrufer…“ Es wurde kein Schlüssel gesendet. Fügen Sie den key-Parameter oder den x-goog-api-key-Header hinzu.
403 quotaExceeded „Die Anfrage kann nicht abgeschlossen werden, da Sie Ihr Kontingent überschritten haben.“ Warten Sie auf den Reset um Mitternacht PT, reduzieren Sie redundante Aufrufe oder beantragen Sie eine Verlängerung.
400 missingRequiredParameter „Der Anfrage fehlt ein erforderlicher Parameter.“ Fast immer ein fehlender part-Parameter.
401 authorizationRequired „Die Anfrage verwendet den mine-Parameter, ist aber nicht ordnungsgemäß autorisiert.“ Dieser Aufruf benötigt ein OAuth 2.0-Token, keinen Schlüssel. Siehe FAQ.

Noch ein Hinweis aus der Praxis: Wenn eine Anwendungsbeschränkung nicht zum Aufrufer passt, erhalten Sie einen 403-Fehler, der den blockierten Referrer oder die IP nennt. Beheben Sie die Beschränkung oder rufen Sie vom erlaubten Host aus. Beachten Sie, dass ältere Forum-Threads den Fehler für ungültigen Schlüssel keyInvalid nennen; die Live-API gibt badRequest mit dem Detail API_KEY_INVALID zurück, also gleichen Sie die Meldung oder das Detail ab, nicht den veralteten Grundstring.

FAQ

Ist ein YouTube API-Schlüssel kostenlos?

Ja. Das Erstellen eines Schlüssels kostet nichts, und die Dokumentation bewertet die API in Kontingenteinheiten, nicht in Geld. Die oben genannte Standardzuteilung erhalten Sie, ohne etwas anfordern zu müssen.

Wann benötige ich OAuth anstelle eines API-Schlüssels?

Ein API-Schlüssel identifiziert Ihr Projekt und schaltet öffentliche Daten frei. Sobald Sie private Benutzerdaten berühren oder etwas einfügen, aktualisieren oder löschen, verlangt Google ein OAuth 2.0-Token vom Benutzer, dem diese Daten gehören. Ein Video bewerten, eigene Abonnements auflisten oder den mine=true-Filter verwenden, all dies fällt unter die OAuth-Seite. Unser Vergleich von API-Schlüsseln und Bearer-Tokens erklärt, warum die beiden Anmeldeinformationen unterschiedliche Fragen beantworten.

Kann ein KI-Agent meinen YouTube API-Schlüssel verwenden?

Ja, solange der Agent dort läuft, wo die Beschränkungen des Schlüssels es erlauben. Ein YouTube MCP-Server ist eine Möglichkeit, Videodaten an einen Codierungsassistenten zu übergeben; geben Sie ihm einen Schlüssel, der auf die Data API und auf die Maschine, auf der er läuft, beschränkt ist, und halten Sie ihn aus dem Prompt selbst heraus.

Was sollte ich tun, wenn der Schlüssel durchsickert?

Löschen Sie ihn auf der Seite „Anmeldeinformationen“ und erstellen Sie einen Ersatz. Beheben Sie dann die Ursache: Verschieben Sie den Schlüssel in einen lokalen Wert in Apidog oder einen Geheimnisspeicher und scannen Sie das Repository, damit der alte Schlüssel nicht mehr im Verlauf liegt.

Nächster Schritt

Sie haben jetzt ein Projekt, eine aktivierte API, einen eingeschränkten Schlüssel und eine Anfrage, die mit curl, Python und Apidog funktioniert. Integrieren Sie das gespeicherte Szenario in Ihre CI und lassen Sie sich von der Kontingentseite mitteilen, wann es Zeit zum Optimieren ist.

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen