How to Get YouTube Transcripts in Python
Two ways to pull YouTube transcripts in Python: the open-source youtube-transcript-api library, and a hosted REST API. Working code for both, and where the self-hosted approach breaks in production.
00:07:00 · SEP 26, 2026
Réponse rapide
Installer la bibliothèque open-source
youtube-transcript-api est un package Python bien maintenu qui récupère directement les données de sous-titres de YouTube - pas de clé API, pas de quota YouTube Data API.
pip install youtube-transcript-apiRécupérez une transcription avec un ID de vidéo :
from youtube_transcript_api import YouTubeTranscriptApi
api = YouTubeTranscriptApi()
transcript = api.fetch("dQw4w9WgXcQ", languages=["en"])
for snippet in transcript:
print(snippet.text, snippet.start, snippet.duration)Où cela casse une fois déployé
Cela fonctionne parfaitement sur un ordinateur portable. Déployé sur un serveur cloud, cela peut rencontrer de vrais échecs bien documentés - blocage d'IP, PoTokenRequired, et une erreur de 'sous-titres désactivés' qui n'est pas toujours ce qu'elle semble être. Consultez la checklist de diagnostic complète pour les causes et solutions exactes.
Obtenez une clé API (si vous préférez ne pas auto-héberger)
Récupérez une clé gratuite depuis le tableau de bord - 100 crédits gratuits, sans carte.
pip install requestsAppeler l'API hébergée depuis Python
Pas de pool de proxy, pas de maintenance de blocage d'IP - juste une requête HTTP :
import requests
response = requests.get(
"https://getyoutubetranscript.com/api/v1/transcript",
params={"v": "dQw4w9WgXcQ"},
headers={"Authorization": "Bearer sk_live_..."},
)
result = response.json()
print(result["data"]["transcript"])
print(result["data"]["word_count"])Une requête échouée renvoie un objet d'erreur au lieu de lever une exception spécifique à une bibliothèque, donc la même gestion d'erreurs fonctionne sur tous les endpoints.
{ "success": false, "code": "...", "message": "..." }Récupérer plus d'une vidéo
Boucler sur une liste d'IDs de vidéos fonctionne de la même façon - surveillez juste la limite de requêtes par minute de votre offre. Consultez le guide des limites de débit pour la logique de nouvelle tentative et d'attente.
Les deux approches renvoient la même information - la différence, c'est qui maintient l'infrastructure qui continue de fonctionner. Voir les tarifs complets (100 crédits gratuits, sans carte) ou lire la documentation de l'API pour chaque endpoint.
FAQ transcriptions YouTube en Python
Quelle approche dois-je utiliser ?
youtube-transcript-api pour un script local rapide ou un prototype. Une API hébergée dès que vous déployez en production et ne voulez pas maintenir vous-même les contournements de proxy/blocage d'IP.
L'API hébergée nécessite-t-elle la bibliothèque youtube-transcript-api ?
Non - c'est une API REST classique. Appelez-la avec n'importe quel client HTTP (requests, httpx, même curl) ; aucune dépendance spécifique à Python n'est nécessaire.
Puis-je obtenir des horodatages par ligne, pas seulement le texte complet ?
La bibliothèque open-source renvoie directement le début/la durée de chaque extrait. L'endpoint de transcription de notre API hébergée renvoie actuellement la transcription complète en texte brut plus un nombre de mots, pas d'horodatage par segment - si votre cas d'usage a besoin de cette granularité spécifiquement via l'API, la bibliothèque open-source est le meilleur choix aujourd'hui.
Que se passe-t-il si une vidéo n'a pas de transcription ?
Les deux approches renvoient une erreur spécifique plutôt qu'une chaîne vide - consultez la checklist de diagnostic pour savoir ce que signifie chaque code d'erreur.
À lire aussi
- YouTube API Quota Exceeded: Causes and Fixes
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- YouTube Transcripts in n8n: HTTP Request Workflow Guide
- Migrating from Supadata: A Field Guide
- Migrating from TranscriptAPI.com: A Field Guide
- Build an AI YouTube Video Summarizer with LangChain and Next.js
- GetYouTubeTranscript vs TranscriptAPI
- GetYouTubeTranscript vs youtubetotranscript.com
- GetYouTubeTranscript vs youtube-transcript.io
- GetYouTubeTranscript vs NoteGPT