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
Hızlı yanıt
Açık kaynak kütüphaneyi kurun
youtube-transcript-api, YouTube'un kendi altyazı verisini doğrudan getiren, iyi bakımı yapılan bir Python paketidir - API anahtarı yok, YouTube Data API kotası yok.
pip install youtube-transcript-apiBir video ID ile transkript alın:
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)Deploy edince nerede bozuluyor
Bu, bir laptop üzerinde güvenilir şekilde çalışır. Bir bulut sunucusuna deploy edildiğinde, gerçek ve iyi belgelenmiş hatalarla karşılaşabilir - IP engelleme, PoTokenRequired ve göründüğü gibi olmayan bir 'transkript devre dışı' hatası. Tam nedenler ve çözümler için eksiksiz tanı kontrol listesine bakın.
Bir API anahtarı alın (kendiniz barındırmak istemiyorsanız)
panelden ücretsiz bir anahtar alın - 100 ücretsiz kredi, kart gerekmez.
pip install requestsBarındırılan API'yi Python'dan çağırma
Proxy havuzu yok, IP engelleme bakımı yok - sadece bir HTTP isteği:
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"])Başarısız bir istek, kütüphaneye özgü bir exception fırlatmak yerine bir hata nesnesi döndürür, böylece aynı hata yönetimi her endpoint'te çalışır.
{ "success": false, "code": "...", "message": "..." }Birden fazla video almak
Video ID listesi üzerinde döngü kurmak aynı şekilde çalışır - sadece planınızın dakikadaki istek limitine dikkat edin. Geri çekilme ve yeniden deneme mantığı için hız limiti rehberine bakın.
Her iki yaklaşım da aynı bilgiyi döndürür - fark, altyapıyı çalışır tutmayı kimin üstlendiğidir. Tam fiyatlandırmayı görün (100 ücretsiz kredi, kart gerekmez) ya da her endpoint için API belgelerini okuyun.
Python YouTube Transkript SSS
Hangi yaklaşımı kullanmalıyım?
Hızlı bir yerel script veya prototip için youtube-transcript-api. Production'a deploy ederken ve proxy/IP engelleme çözümlerini kendiniz sürdürmek istemediğinizde barındırılan bir API.
Barındırılan API, youtube-transcript-api kütüphanesini gerektirir mi?
Hayır - düz bir REST API. Herhangi bir HTTP istemcisiyle (requests, httpx, hatta curl) çağırabilirsiniz; Python'a özgü bir bağımlılık gerekmez.
Sadece tam metin değil, satır başına zaman damgası alabilir miyim?
Açık kaynak kütüphane, snippet başına başlangıç/süreyi doğrudan döndürür. Barındırılan API'mizin transkript endpoint'i şu anda tam transkripti düz metin ve kelime sayısı olarak döndürüyor, segment başına zaman damgası vermiyor - kullanım durumunuz özellikle API'den bu ayrıntı düzeyini gerektiriyorsa, açık kaynak kütüphane bugün için daha uygun seçim.
Bir videoda transkript yoksa ne olur?
Her iki yaklaşım da boş bir string yerine belirli bir hata döndürür - her hata kodunun ne anlama geldiğini tanı kontrol listesinde görebilirsiniz.
İlgili
- 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 ve TranscriptAPI karşılaştırması
- GetYouTubeTranscript ve youtubetotranscript.com karşılaştırması
- GetYouTubeTranscript ve youtube-transcript.io karşılaştırması
- GetYouTubeTranscript vs NoteGPT