YouTube ist eine der größten Quellen für öffentliche Webdaten im Internet – über 800 Millionen Videos, Milliarden von Kommentaren, Transkripte für die meisten Uploads sowie strukturierte Metadaten, die als Grundlage für alles dienen, von der Marktforschung bis hin zum Training künstlicher Intelligenz. Es ist zudem eine der am stärksten geschützten Plattformen im Internet, und die Methoden, mit denen man vor drei Jahren noch Daten von der Plattform scrapen konnte, funktionieren heute größtenteils nicht mehr.
Der Beitrag, den Sie gerade lesen, ersetzt eine ältere Anleitung, die im Jahr 2022 technisch korrekt war. Heute ist sie nicht mehr zutreffend. YouTube hat seine Anti-Bot-Maßnahmen bis 2025 erheblich verschärft: „Proof of Origin“-Token regeln nun den Zugriff auf viele Endpunkte, für das Laden der meisten Videoseiten sind Cookies mit Besucherdaten erforderlich, und IP-Bereiche von Rechenzentren lösen bereits nach wenigen hundert Anfragen CAPTCHA-Abfragen aus. Die CSS-Selektoren, die in älteren Anleitungen verwendet werden, stimmen nicht mehr mit dem aktuellen Markup von YouTube überein. Selbst die „Dislikes“-Daten, auf die sich diese Anleitungen beziehen, sind seit November 2021 nicht mehr öffentlich zugänglich.
Hier sehen Sie, was im Jahr 2026 tatsächlich funktioniert – mit Code, der auch wirklich läuft.
Sind Sie es leid, dass IP-Sperren Ihren Betrieb behindern? Setzen Sie unsere Residential-Proxys für eine schnelle Rotation oder sichere ISP-Proxys für eine maximale Lebensdauer Ihrer Konten ein.
Was Sie scrapen können (und was nicht)
Öffentlich zugängliche Daten, frei verfügbar:
- Videometadaten – Titel, Beschreibung, Anzahl der Aufrufe, Upload-Datum, Kanal, Dauer, Tags
- Kanal-Daten – Name, Beschreibung, Anzahl der Abonnenten (ungefähr), Videoliste, Informationen auf der „Über uns“-Seite
- Kommentare – einschließlich Antworten, Anzahl der Likes und Zeitstempel
- Transkripte und Untertitel – für jedes Video, bei dem Untertitel aktiviert sind
- Suchergebnisse – vollständige SERPs für jede Suchanfrage
- Wiedergabelisten – vollständige Inhalte und Metadaten
- Live-Chat-Aufzeichnungen – für bereits beendete Streams
Unzulässig, unabhängig von der Methode:
- Private Videos
- Nicht öffentliche Videos, für die Sie keine URL haben
- Alles, was hinter der Anmeldung liegt, gehört nicht zu diesem Konto
- Daten zur Interaktion einzelner Zuschauer
- Genaue Abonnentenzahlen (YouTube zeigt öffentlich nur gerundete Zahlen an)
Auch die rechtlichen Aspekte spielen eine Rolle: Die Nutzungsbedingungen von YouTube schränken den automatisierten Zugriff ein. Das Scraping öffentlicher Daten ist in den meisten Rechtsordnungen grundsätzlich legal, doch Verstöße gegen die Nutzungsbedingungen können zu Kontosperrungen und in einigen Fällen zu zivilrechtlichen Klagen führen. Führen Sie kein Scraping hinter einer Anmeldung durch. Sammeln Sie keine personenbezogenen Daten, die über die öffentlich angezeigten Informationen hinausgehen. Verbreiten Sie keine Videoinhalte weiter. Wenn Sie Daten für das Training von KI sammeln, dokumentieren Sie die Quelle und respektieren Sie die Rechte der Urheber – das EU-KI-Gesetz und ähnliche Vorschriften spielen hier eine zunehmend wichtige Rolle.
Die vier Methoden, die man kennen sollte
Im Jahr 2026 gibt es im Grunde vier Ansätze – die Wahl des richtigen hängt davon ab, was Sie erreichen möchten und in welchem Umfang.
| Verfahren | Am besten geeignet für | Anmeldung erforderlich | Maßstab |
|---|---|---|---|
| YouTube Data API v3 | Strukturierte Abfragen, kleines bis mittleres Volumen | API-Schlüssel | Begrenzt (10.000 Kontingenteinheiten pro Tag kostenlos) |
| yt-dlp | Alles andere – Metadaten, Kommentare, Transkripte, Stapelverarbeitung | Keine (Cookies für einige Videos) | Mittel bis hoch mit Proxies |
| youtube-transcript-api | Nur Abschriften | Keine | Mittel |
| Benutzerdefiniertes Scraping (Anfragen + InnerTube) | Sonderfälle, die oben nicht abgedeckt sind | Keine | Hohes Infrastrukturniveau |
In der Praxis wird bei den meisten anspruchsvollen Aufgaben „yt-dlp“ als Hauptwerkzeug eingesetzt, und auf die anderen Programme wird nur dann zurückgegriffen, wenn „yt-dlp“ den jeweiligen Fall nicht abdecken kann.
Methode 1: YouTube Data API v3
Die sauberste Lösung, sofern sie passt. Die offizielle API von Google liefert strukturierte JSON-Daten für Videos, Kanäle, Wiedergabelisten, Suchergebnisse und Kommentare. Es gibt keine Bot-Schutzmaßnahmen – die Anfrage ist entweder erfolgreich oder es wird ein eindeutiger Quotenfehler zurückgegeben.
Der Haken liegt in der Quote. Im kostenlosen Tarif stehen Ihnen 10.000 Einheiten pro Tag zur Verfügung. A videos.list Ein Aufruf kostet 1 Einheit, eine Suche 100. Das entspricht etwa 100 Suchanfragen pro Tag oder 10.000 Abrufen von Videometadaten. Für viele Anwendungsfälle ist das ausreichend, für alles, was in großem Maßstab erfolgt, jedoch unbrauchbar.
Python
from googleapiclient.discovery import build
API_KEY = "YOUR_API_KEY"
youtube = build("youtube", "v3", developerKey=API_KEY)
# Get metadata for a specific video
response = youtube.videos().list(
part="snippet,statistics,contentDetails",
id="dQw4w9WgXcQ"
).execute()
video = response["items"][0]
print(video["snippet"]["title"])
print(video["statistics"]["viewCount"])
print(video["contentDetails"]["duration"])
Nutzen Sie die API, wenn Ihr Datenvolumen innerhalb des Kontingents liegt und Sie saubere, stabile Daten wünschen. Beantragen Sie ein erhöhtes Kontingent, wenn Sie einen berechtigten geschäftlichen Grund dafür haben – Google genehmigt solche Anträge für echte Anwendungen, jedoch nicht für Fälle wie „Ich entwickle gerade einen Web-Scraper“.
Methode 2: yt-dlp
yt-dlp ist der De-facto-Standard für alles, was die API nicht nahtlos abdeckt. Es handelt sich um einen aktiv gepflegten Fork von youtube-dl, für den kein API-Schlüssel erforderlich ist und der Metadaten, Kommentare, Transkripte und Downloads in einem einzigen Tool verwaltet.
Installieren:
bash
pip install yt-dlp
So rufen Sie Metadaten für ein einzelnes Video ab, ohne etwas herunterzuladen:
Python
import yt_dlp
def get_video_metadata(url):
opts = {
"quiet": True,
"skip_download": True,
"no_warnings": True,
}
with yt_dlp.YoutubeDL(opts) as ydl:
info = ydl.extract_info(url, download=False)
return {
"title": info.get("title"),
"channel": info.get("uploader"),
"views": info.get("view_count"),
"likes": info.get("like_count"),
"duration_sec": info.get("duration"),
"upload_date": info.get("upload_date"),
"description": info.get("description"),
"tags": info.get("tags", []),
}
data = get_video_metadata("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
print(data)
Kommentare (einschließlich Antworten) abrufen:
Python
import yt_dlp
def get_comments(url, max_comments=500):
opts = {
"quiet": True,
"skip_download": True,
"getcomments": True,
"extractor_args": {
"youtube": {
"max_comments": [str(max_comments)],
"comment_sort": ["top"],
}
},
}
with yt_dlp.YoutubeDL(opts) as ydl:
info = ydl.extract_info(url, download=False)
return info.get("comments", [])
comments = get_comments("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
for c in comments[:5]:
print(f"{c['author']}: {c['text']} ({c['like_count']} likes)")
Eine Liste von Video-IDs aus einer Suche im Batch-Verfahren auslesen:
bash
yt-dlp --flat-playlist -j "ytsearch50:web scraping tutorial" | jq -r '.id'
Einige praktische Hinweise, die in den meisten Anleitungen nicht zu finden sind:
- Aktualisieren Sie yt-dlp regelmäßig. YouTube legt den Extraktor regelmäßig lahm – mindestens einmal im Monat. Die Verwendung einer veralteten Version ist der Hauptgrund dafür, dass Skripte auf unerklärliche Weise leere Ergebnisse liefern.
pip install -U yt-dlpsollte in Ihrem Wartungsplan enthalten sein. - Für altersbeschränkte Videos sind Cookies erforderlich. Cookies aus einer Browsersitzung exportieren und über
cookiefileinydl_opts. - Bei hohem Datenvolumen sind Proxy-Server erforderlich. Ohne diese stoßen Sie schnell an Ratenbeschränkungen und es kommt zu IP-Sperren. Mehr dazu weiter unten.
Methode 3: youtube-transcript-api
Falls Sie lediglich Transkripte benötigen – und dies ist zunehmend der Fall, da Transkripttexte die nützlichste Eingabe für die LLM-basierte Inhaltsanalyse darstellen – youtube-transcript-api ist leichter und schneller als yt-dlp.
Python
from youtube_transcript_api import YouTubeTranscriptApi
def get_transcript(video_id, languages=("en",)):
try:
transcript = YouTubeTranscriptApi.get_transcript(
video_id, languages=list(languages)
)
return " ".join(entry["text"] for entry in transcript)
except Exception as e:
print(f"No transcript available: {e}")
return None
text = get_transcript("dQw4w9WgXcQ")
print(text[:500] if text else "None")
Transkripte lassen sich nahtlos mit Sentimentanalysen, RAG-Pipelines und allen LLM-basierten Arbeitsabläufen kombinieren, die Textinhalte aus Videos benötigen. Dies ist einer der am schnellsten wachsenden Anwendungsfälle für das Scraping im Jahr 2026.
Methode 4: InnerTube und ytInitialData
In Sonderfällen – beispielsweise bei Kanalinformationen, bestimmten Fortsetzungstoken oder allem, was die oben genannten Tools nicht eindeutig bereitstellen – können Sie die internen Endpunkte von YouTube direkt aufrufen. Das Frontend nutzt eine private API unter /youtubei/v1/, und auf den meisten Videoseiten ist ein ytInitialData JSON-Objekt in einem <script> Tag, das den gerenderten Seitenzustand enthält.
Diese Methode ist zwar weniger zuverlässig als die anderen – YouTube ändert die Struktur in regelmäßigen Abständen –, ist aber gleichzeitig die flexibelste:
Python
import requests
import re
import json
def extract_initial_data(video_url):
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/120.0.0.0 Safari/537.36",
}
response = requests.get(video_url, headers=headers)
match = re.search(r"var ytInitialData = ({.*?});</script>", response.text)
if not match:
return None
return json.loads(match.group(1))
data = extract_initial_data("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
# data is the full page state — navigate it for whatever you need
Wenden Sie diesen Ansatz nur dann an, wenn die anderen Methoden den Fall nicht abdecken. Die Struktur von ytInitialData ist enorm und ändert sich regelmäßig; um sich darin zurechtzufinden, muss man jedes Mal die Entwicklertools des Browsers durchforsten.
Die Proxy-Ebene
Ab einigen hundert Anfragen pro Tag von einer einzigen IP-Adresse beginnt YouTube, Gegenmaßnahmen zu ergreifen. Das Muster im Jahr 2026 ist konsistent: Zunächst ein 429 Too Many Requests, gefolgt von einer weichen Sperre, bei der Anfragen zwar erfolgreich sind, jedoch unvollständige Daten zurückgegeben werden, und schließlich einer harten Sperre, bei der jede Anfrage auf die Aufforderung „Bitte melden Sie sich an, um zu bestätigen, dass Sie kein Bot sind“ stößt.
Drei Faktoren entscheiden darüber, ob Web-Scraping in großem Maßstab funktioniert:
IP-Typ. IP-Adressen von Rechenzentren werden bereits nach wenigen hundert Anfragen gekennzeichnet. Privathaushalts- oder ISP-Proxys umgehen diese Erkennung – für YouTube sieht der Datenverkehr von einer Privathaushalts-IP so aus, als stamme er von einem normalen Nutzer mit einem Privatanschluss.
Rotationsmuster. Bei yt-dlp ist die Rotation der IP-Adressen pro Videoanfrage der Standard. Beim sitzungsbasierten Scraping (Paginierung von Kommentaren, Durchsuchen eines Kanals) wirken „Sticky Sessions“ (d. h. dieselbe IP-Adresse für 10–30 Minuten) natürlicher als eine Rotation während der Sitzung.
Geografische Verteilung. YouTube stellt je nach Region unterschiedliche Inhalte bereit. Wenn Sie regionsspezifische Daten erfassen – beispielsweise Trendlisten, lokalisierte Suchergebnisse oder die regionale Verfügbarkeit von Videos –, müssen sich Ihre Proxys in diesen Regionen befinden.
Das Einrichten eines Proxys für yt-dlp ist ganz einfach:
bash
yt-dlp --proxy "http://USER:PASS@proxy.example.com:8080" \
--skip-download --write-info-json \
"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
Oder in Python:
Python
opts = {
"quiet": True,
"skip_download": True,
"proxy": "http://USER:PASS@proxy.example.com:8080",
}
Für das anfragenbasierte Scraping (Methode 4 oben):
Python
proxies = {
"http": "http://USER:PASS@proxy.example.com:8080",
"https": "http://USER:PASS@proxy.example.com:8080",
}
response = requests.get(video_url, headers=headers, proxies=proxies)
Die Residential- und ISP-Proxys von IPBurger sind genau für diese Art von Aufgaben konzipiert – saubere IP-Adressen, Targeting auf Länderebene, „Sticky Sessions“, wenn Sie diese benötigen – und das allgemeine Prinzip gilt unabhängig vom Anbieter: Bei den relevanten Volumina ist die Proxy-Ebene das tragende Element. Das Scraping-Skript umfasst 50 Zeilen; die Infrastruktur entscheidet darüber, ob es vollständig ausgeführt wird oder bei 30 % ins Stocken gerät.
Ein sinnvoller Standard-Arbeitsablauf
Wenn Sie heute ein YouTube-Scraping-Projekt starten, ist dies der Weg, der sich skalieren lässt:
- Legen Sie fest, welche Daten Sie tatsächlich benötigen. Bei den meisten Projekten wird nicht alles benötigt – durch eine Eingrenzung des Umfangs vermeiden Sie eine Verschwendung von Kontingenten und verringern die Angriffsfläche für Blockaden.
- Probieren Sie zunächst die YouTube Data API aus, sofern diese für Sie geeignet ist. Wenn Ihr Volumen unter 10.000 Einheiten pro Tag liegt und die API die von Ihnen benötigten Funktionen bereitstellt, ist dies der zuverlässigste Weg.
- Greifen Sie auf yt-dlp zurück, wenn die API nicht geeignet ist. Das Tool deckt Kommentare, Transkripte, Stapelverarbeitungen und alle auf Suchergebnissen basierenden Funktionen ab.
- Fügen Sie eine Proxy- Ebene für Privatanwender hinzu, sobald Sie 429-Fehler erhalten. Versuchen Sie nicht, den Ratenbegrenzer allein durch Verzögerungen zu überlisten – sobald Ihre IP-Adresse markiert ist, bleibt sie markiert.
- Verwenden Sie „youtube-transcript-api“ für Aufgaben, bei denen es um umfangreiche Transkripte geht. Es ist schlanker als „yt-dlp“ und für diese spezielle Aufgabe schneller.
- Sonderwünsche + InnerTube nur, wenn keine andere Option in Frage kommt. Gut zu wissen; jedoch kein geeigneter Einstieg.
- Rechnen Sie mit Fehlern. Was auch immer Sie heute ausliefern, wird innerhalb von sechs Monaten nicht mehr funktionieren. YouTube ändert sein Frontend, der Extractor passt sich an, Sie aktualisieren die Abhängigkeit. Planen Sie dies ein.
Was hat sich seit 2022 tatsächlich geändert?
Für alle, die von einer älteren Scraping-Konfiguration umsteigen, sind folgende wesentliche Änderungen besonders hervorzuheben:
- Die „Dislike“-Daten sind nicht mehr verfügbar. YouTube hat die öffentlichen „Dislike“-Zahlen im November 2021 entfernt. Es gibt keine Möglichkeit, diese wiederherzustellen; Schätzungen von Drittanbietern zu den „Dislike“-Zahlen sind reine Vermutungen.
- „Proof of Origin“-Token dienen nun als Zugangsvoraussetzung für viele Streaming- und detaillierte Metadaten-Endpunkte. yt-dlp wickelt dies intern ab, sofern dies möglich ist; beim manuellen Scraping muss dies explizit berücksichtigt werden.
- Für das Laden der meisten Videoseiten sind Cookies zur Erfassung von Besucherdaten erforderlich. Eine neue IP-Adresse ohne bereits etablierte Sitzung stößt häufig auf eine Einwilligungsabfrage, anstatt das Video anzuzeigen.
- CSS-Selektoren aus älteren Tutorials passen nicht mehr. YouTube hat sein Frontend in den Jahren 2023 und 2024 grundlegend umgestaltet. Alle Tutorials, die auf Klassen wie
yt-uix-tile-linkbezieht sich auf eine Markup-Version, die es schon seit Jahren nicht mehr gibt. - Die Kontingentkosten haben sich für einige Endpunkte erhöht. Die Suche liegt weiterhin bei 100 Einheiten, bei einigen anderen Endpunkten haben sich die Werte jedoch geändert. Bitte überprüfen Sie die aktuelle Kontingentübersicht, bevor Sie eine Schätzung vornehmen.
Die ehrliche Zusammenfassung
Das Scraping von YouTube im Jahr 2026 ist leichter umsetzbar, als es klingt – die Tools sind seit 2022 deutlich besser geworden (yt-dlp ist wirklich hervorragend), und die offizielle API ist für geeignete Aufgaben zuverlässig. Der schwierige Teil ist nicht die Scraping-Logik, sondern die zugrunde liegende Infrastruktur. Setzen Sie Privat- oder ISP-Proxys ein, aktualisieren Sie Ihre Tools wöchentlich und planen Sie für unvermeidliche Ausfälle ein – dann gehören die Daten Ihnen.
Die Stärke Ihres Unternehmens hängt direkt von der Verfügbarkeit Ihrer Proxys ab. Wechseln Sie zu statischen ISP-Proxys in Unternehmensqualität, um dedizierte Übertragungsraten und unerschütterliche Zuverlässigkeit zu gewährleisten. ODER setzen Sie rotierende Residential-Proxys ein und erzielen Sie eine Erfolgsquote beim Scraping von 99,9 %.
