Die YouTube Data API lädt Videos über videos.insert hoch, und zwei dokumentierte Fakten entscheiden darüber, ob sich das für Ihr Produkt eignet. Videos, die von unverifizierten API-Projekten hochgeladen werden, die nach dem 28. Juli 2020 erstellt wurden, sind bis zum Bestehen einer Prüfung auf den privaten Modus beschränkt. Und videos.insert greift auf ein eigenes Kontingent von 100 Aufrufen pro Tag zurück, getrennt vom Pool von 10.000 Einheiten, den sich der Rest der API teilt.
Betrachtet man beides zusammen, ist das Bild klar: Ohne Prüfung können Sie nicht öffentlich veröffentlichen, und ohne Kontingenterhöhung nicht häufig.
Was kann die YouTube Data API veröffentlichen, und was ist die Prüfungshürde?
videos.insert lädt eine Videodatei hoch und setzt deren Metadaten: Titel, Beschreibung, Tags, Kategorie und einen privacyStatus von public, private oder unlisted. Die dokumentierte maximale Dateigröße beträgt 256 GB, und akzeptierte MIME-Typen sind video/* und application/octet-stream.
Die Hürde ist die Prüfung. Googles Dokumentation besagt, dass Videos, die von unverifizierten API-Projekten hochgeladen werden, die nach dem 28. Juli 2020 erstellt wurden, bis zur Durchführung einer Prüfung auf den privaten Modus beschränkt sind. In der Praxis bedeutet das: Ihre Integration funktioniert während der Entwicklung von Anfang bis Ende, erzeugt eine echte Video-ID, und das Video ist für niemanden außer dem Kanalinhaber sichtbar. Das Bestehen der Prüfung hebt die Beschränkung auf, sodass privacyStatus: 'public' respektiert wird.
Hinweis: Die hier genannten Werte wurden im September 2026 anhand von developers.google.com/youtube überprüft. Plattformen ändern diese ohne Vorankündigung.
| Frage | Antwort aus der Dokumentation |
|---|---|
| Upload-Endpunkt | POST https://www.googleapis.com/upload/youtube/v3/videos |
| Scopes | youtube.upload, youtube, youtubepartner oder youtube.force-ssl |
| Maximale Dateigröße | 256 GB |
| MIME-Typen | video/*, application/octet-stream |
| Werte für Privacy | public, private, unlisted |
| Unverifizierte Projekte | Uploads bis zur Prüfung auf privat beschränkt |
Wie sieht das Auth-Modell aus, und wie lange dauert die Prüfung?
Standard-OAuth 2.0 mit Offline-Zugriff. Sie leiten den Kanalinhaber zu Googles Consent Screen weiter und fordern https://www.googleapis.com/auth/youtube.upload an, tauschen den Code gegen ein Access Token und ein Refresh Token ein und erneuern das Access Token, sobald es abläuft.
Da der Upload-Scope ein sensibler Scope ist, durchläuft Ihr Projekt zusätzlich zur YouTube-API-Prüfung auch Googles OAuth-Verifizierung. Das sind zwei getrennte Prüfungen, die häufig verwechselt werden: Die OAuth-Verifizierung regelt den Consent Screen und wie viele Nutzer ihn erteilen können, die YouTube-Prüfung regelt, ob Ihre Uploads etwas anderes als privat sein können.
Wir konnten in der offiziellen Dokumentation keine veröffentlichte Bearbeitungsdauer für die YouTube-API-Prüfung finden, weshalb wir keine nennen werden. Gehen Sie davon aus, dass es sich um Wochen handelt, nicht um Tage, und starten Sie den Prozess, bevor Sie ihn brauchen.
Wie sieht der eigentliche Upload-Ablauf aus?
Uploads sind fortsetzbar (resumable): Sie öffnen eine Upload-Sitzung und senden dann die Bytes an die Session-URI. Das Video wird anschließend auf Seiten von YouTube asynchron verarbeitet, nachdem Ihre Anfrage abgeschlossen ist.
- Eine fortsetzbare Sitzung öffnen.
POSTan den Upload-Endpunkt mit den Video-Metadaten als JSON unduploadType=resumable. Die Antwort liefert eine Session-URI imLocation-Header. Zu beachten:uploadType=resumableund dieLocation-Session-URI sind Googles allgemeine Mechanik für fortsetzbare Uploads, nicht etwas, das die YouTube-spezifische Upload-Seite dokumentiert, die nur die Python-Client-Bibliothek zeigt. - Die Bytes per PUT an diese Session-URI senden, in einer Anfrage oder in Blöcken. Blockweises Senden erlaubt es, nach einem Netzwerkfehler fortzusetzen, statt eine große Datei von vorn zu beginnen.
- Die Video-ID aus der finalen Antwort lesen. Der Upload ist damit abgeschlossen.
- Auf die Verarbeitung pollen. YouTube transkodiert asynchron. Die Video-ID existiert, bevor das Video ansehbar ist, und die Verarbeitung kann auch nach einem erfolgreichen Upload noch fehlschlagen.
# 1. open the resumable session
curl -X POST \
"https://www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=snippet,status" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-H "X-Upload-Content-Type: video/mp4" \
-d '{"snippet":{"title":"Release notes","categoryId":"28"},
"status":{"privacyStatus":"private"}}' -D -
# 2. PUT the bytes to the Location URI returned above
curl -X PUT "$SESSION_URI" \
-H "Content-Type: video/mp4" --data-binary @video.mp4
# 3. then poll videos.list for processing status using the returned video id
Googles eigener Upload-Leitfaden ist ein Python-Beispiel, das um MediaFileUpload mit resumable=True und exponentiellem Backoff bei Wiederholungen herum aufgebaut ist, und er stellt unmissverständlich klar, dass das Beispielskript keine Fehlerbehandlung vornimmt. Nehmen Sie das wörtlich: Das Beispiel ist ein Ausgangspunkt, keine Vorlage für den Produktivbetrieb.
Hinweis: Die hier genannten Werte wurden im September 2026 anhand von developers.google.com/youtube überprüft. Plattformen ändern diese ohne Vorankündigung.
Was kostet ein Upload an Kontingent?
Das ist die Zahl, an der die meisten YouTube-Integrationspläne scheitern, und es lohnt sich, sie präzise zu nennen.
| Methode | Kontingentkosten |
|---|---|
videos.insert | 1 Einheit, gegen ein eigenes Kontingent von 100 Aufrufen pro Tag |
videos.list | 1 Einheit |
thumbnails.set | 50 Einheiten |
videos.update | 50 Einheiten |
Die Standardzuteilung lautet in Googles Formulierung: „100 search.list-Aufrufe, 100 videos.insert-Aufrufe und 10.000 Einheiten pro Tag kombiniert für alle anderen Endpunkte.“
Die bindende Einschränkung beim Veröffentlichen ist also eine Anzahl, keine Einheitenrechnung: 100 Uploads pro Projekt und Tag. Der Pool von 10.000 Einheiten ist davon getrennt und muss jede Statusabfrage, jedes Metadaten-Lesen und jedes Thumbnail-Setzen rund um diese Uploads abdecken, was im Vergleich großzügig ist. Das Kontingent setzt sich um Mitternacht Pazifischer Zeit zurück. Ein Multi-Tenant-Produkt, das mehr als eine Handvoll Kanäle bedient, braucht eine Anfrage zur Kontingenterhöhung, die ihrerseits ein eigener Antrag bei Google ist.
Ältere Leitfäden (und einige noch aktive) besagen, videos.insert koste 1.600 Einheiten aus dem geteilten Pool von 10.000 Einheiten, was auf sechs Uploads pro Tag hinauslief. Das steht so nicht mehr in Googles Kontingentdokumentation, und es lohnt sich, jedes Budget zu überprüfen, das darauf aufgebaut wurde.
Hinweis: Die hier genannten Werte wurden im September 2026 anhand von developers.google.com/youtube überprüft. Plattformen ändern diese ohne Vorankündigung.
Was Sie tatsächlich drei Wochen kosten wird
- Zwei Prüfungen, nicht eine. Die OAuth-Verifizierung für den sensiblen Upload-Scope und die YouTube-API-Prüfung, die die Beschränkung auf private Uploads aufhebt. Keine von beiden nennt eine Bearbeitungsdauer. Beide blockieren den Launch.
- Kontingent, und der Antrag, es zu erhöhen. 100 Uploads pro Projekt und Tag sind kein Produktivbudget, sobald Sie für mehr als ein paar Dutzend Kanäle veröffentlichen. Der Erhöhungsantrag ist ein Formular, eine Begründung und eine Wartezeit.
- Transcoding, noch bevor Sie Google überhaupt erreichen. Beliebige Nutzervideos zu akzeptieren bedeutet, Container und Codec zu normalisieren, ein Thumbnail zu erzeugen und die Datei irgendwo vorzuhalten, von wo aus Sie 256 GB streamen können, ohne sie im Arbeitsspeicher zu puffern.
- Asynchrones Scheitern nach erfolgreichem Upload. Das ist der Punkt, der die meisten überrascht. Ein 200er-Status und eine Video-ID bedeuten, dass die Bytes angekommen sind, nicht dass das Video live ist. Die Verarbeitung kann danach noch fehlschlagen, und ein abgelehnter Upload zeigt sich als Verarbeitungsstatus, nicht als HTTP-Fehler. Sie brauchen einen Poller, einen
processing-Beitragsstatus und einen Weg, einem Nutzer mitzuteilen, dass sein Video eine Stunde nach dem erfolgreichen API-Aufruf gescheitert ist.
Wenn Sie das gleiche vertikale Video auch auf anderen Netzwerken veröffentlichen möchten, ist der Umfang dieser Arbeit in Instagram Reels auf YouTube Shorts cross-posten und gleichzeitig auf TikTok, Reels und Shorts posten beschrieben. Jede dieser Plattformen hat ihre eigene Prüfung, ihr eigenes Kontingentmodell und ihren eigenen asynchronen Fehlermodus, und genau das ist der Punkt.
Die Kurzfassung
videos.insertlädt zuhttps://www.googleapis.com/upload/youtube/v3/videoshoch, maximal 256 GB, Scopeyoutube.upload.- Unverifizierte Projekte, die nach dem 28. Juli 2020 erstellt wurden, können nur private Videos hochladen, bis das Projekt geprüft wurde.
- Der Ablauf ist: eine fortsetzbare Sitzung öffnen, die Bytes per PUT senden, dann pollen, weil die Verarbeitung asynchron erfolgt und auch nach erfolgreichem Upload noch fehlschlagen kann.
videos.insertkostet 1 Einheit aus einem eigenen Kontingent von 100 Aufrufen pro Tag. Weitere 10.000 Einheiten pro Tag decken alles andere ab.- Es ist keine Bearbeitungsdauer für die Prüfung veröffentlicht. Starten Sie die Prüfung, bevor Sie sie brauchen.
Das einmal erledigen, statt pro Plattform erneut
Die oben beschriebene YouTube-Arbeit ist real, und nichts davon überträgt sich auf die nächste Plattform. Pinterest hat eine andere Prüfung, TikTok seine eigene Content-Posting-API-Prüfung, und jede hat eine eigene Media-Pipeline. Genau diese Wiederholung nimmt Ihnen unsere API ab: BulkPublish veröffentlicht über einen REST-Endpunkt auf 15 Plattformen, mit OAuth, Token-Erneuerung, Medienverarbeitung und asynchronem Statustracking auf unserer Seite. Zu den Beitragsstatus gehören processing und partial, genau weil ein 200er noch keine Veröffentlichung bedeutet.
Die Entwicklerdokumentation listet die Endpunkte auf, und die REST-API-Integrationsseite behandelt Authentifizierung und den Beitragslebenszyklus. Wenn Sie nur Planung statt einer Integration brauchen, behandelt YouTube-Videos planen genau das, und der kostenlose YouTube-Zeichenzähler prüft Titel und Beschreibungen gegen die Limits.