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
Jawaban singkat
Instal pustaka open-source
youtube-transcript-api adalah paket Python yang terawat baik yang mengambil data caption YouTube secara langsung - tanpa API key, tanpa kuota YouTube Data API.
pip install youtube-transcript-apiAmbil transkrip dengan ID video:
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)Di mana ini gagal setelah di-deploy
Ini bekerja dengan andal di laptop. Saat di-deploy ke server cloud, bisa mengalami kegagalan nyata yang sudah terdokumentasi dengan baik - pemblokiran IP, PoTokenRequired, dan error 'transkrip dinonaktifkan' yang tidak selalu seperti kelihatannya. Lihat checklist diagnostik lengkap untuk penyebab dan solusi pastinya.
Dapatkan API key (jika lebih suka tidak self-host)
Ambil key gratis dari dashboard - 100 kredit gratis, tanpa kartu.
pip install requestsPanggil API yang di-hosting dari Python
Tanpa pool proxy, tanpa perawatan pemblokiran IP - cukup satu permintaan 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"])Permintaan yang gagal mengembalikan objek error alih-alih melempar exception khusus pustaka, sehingga penanganan error yang sama berlaku di semua endpoint.
{ "success": false, "code": "...", "message": "..." }Mengambil lebih dari satu video
Melakukan loop pada daftar ID video bekerja dengan cara yang sama - cukup perhatikan batas permintaan per menit pada paket Anda. Lihat panduan rate limit untuk logika backoff dan retry.
Kedua pendekatan mengembalikan informasi yang sama - bedanya adalah siapa yang memelihara infrastruktur agar tetap berjalan. Lihat harga lengkap (100 kredit gratis, tanpa kartu) atau baca dokumentasi API untuk setiap endpoint.
FAQ Transkrip YouTube Python
Pendekatan mana yang harus saya gunakan?
youtube-transcript-api untuk skrip lokal cepat atau prototipe. API yang di-hosting saat Anda men-deploy ke produksi dan tidak ingin memelihara sendiri workaround proxy/pemblokiran IP.
Apakah API yang di-hosting memerlukan pustaka youtube-transcript-api?
Tidak - ini API REST biasa. Panggil dengan HTTP client apa pun (requests, httpx, bahkan curl); tidak perlu dependensi khusus Python.
Bisakah saya mendapatkan timestamp per baris, bukan hanya teks lengkap?
Pustaka open-source mengembalikan waktu mulai/durasi per potongan secara langsung. Endpoint transkrip API kami yang di-hosting saat ini mengembalikan transkrip lengkap sebagai teks datar plus jumlah kata, bukan timestamp per segmen - jika kasus penggunaan Anda memerlukan granularitas itu khusus dari API, pustaka open-source adalah pilihan yang lebih baik saat ini.
Apa yang terjadi jika video tidak punya transkrip?
Kedua pendekatan mengembalikan error spesifik alih-alih string kosong - lihat checklist diagnostik untuk arti setiap kode error.
Terkait
- 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