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
त्वरित उत्तर
ओपन-सोर्स लाइब्रेरी इंस्टॉल करें
youtube-transcript-api एक अच्छी तरह मेंटेन किया गया Python पैकेज है जो सीधे YouTube का अपना कैप्शन डेटा लाता है - न कोई API की, न YouTube Data API कोटा।
pip install youtube-transcript-apiवीडियो ID के साथ ट्रांसक्रिप्ट प्राप्त करें:
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)डिप्लॉय करने पर यह कहाँ फेल होता है
यह लैपटॉप पर भरोसेमंद तरीके से काम करता है। क्लाउड सर्वर पर डिप्लॉय करने पर, यह असली, अच्छी तरह डॉक्यूमेंटेड फेलियर से टकरा सकता है - IP ब्लॉकिंग, PoTokenRequired, और एक 'ट्रांसक्रिप्ट डिसेबल्ड' एरर जो हमेशा वैसा नहीं होता जैसा दिखता है। सटीक कारण और समाधान के लिए पूरी डायग्नोस्टिक चेकलिस्ट देखें।
API की लें (अगर सेल्फ-होस्ट नहीं करना चाहते)
डैशबोर्ड से मुफ़्त की लें - 100 मुफ़्त क्रेडिट, बिना कार्ड के।
pip install requestsPython से होस्टेड API कॉल करें
कोई प्रॉक्सी पूल नहीं, कोई IP-ब्लॉकिंग मेंटेनेंस नहीं - बस एक 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"])एक असफल रिक्वेस्ट लाइब्रेरी-विशिष्ट एक्सेप्शन फेंकने के बजाय एक एरर ऑब्जेक्ट लौटाती है, इसलिए वही एरर हैंडलिंग हर एंडपॉइंट पर काम करती है।
{ "success": false, "code": "...", "message": "..." }एक से ज़्यादा वीडियो लाना
वीडियो ID की लिस्ट पर लूप चलाना उसी तरह काम करता है - बस अपने प्लान की प्रति-मिनट रिक्वेस्ट लिमिट का ध्यान रखें। बैकऑफ़ और रिट्राई लॉजिक के लिए रेट लिमिट गाइड देखें।
दोनों तरीके एक ही जानकारी लौटाते हैं - फ़र्क़ इसका है कि इंफ्रास्ट्रक्चर को चालू रखने का काम कौन करता है। पूरी कीमत देखें (100 मुफ़्त क्रेडिट, बिना कार्ड के) या हर एंडपॉइंट के लिए API डॉक्स पढ़ें।
Python YouTube ट्रांसक्रिप्ट FAQ
मुझे कौन सा तरीका इस्तेमाल करना चाहिए?
क्विक लोकल स्क्रिप्ट या प्रोटोटाइप के लिए youtube-transcript-api। प्रोडक्शन में डिप्लॉय करते समय और खुद प्रॉक्सी/IP-ब्लॉकिंग वर्कअराउंड मेंटेन नहीं करना चाहते तो एक होस्टेड API।
क्या होस्टेड API को youtube-transcript-api लाइब्रेरी चाहिए?
नहीं - यह एक सामान्य REST API है। किसी भी HTTP क्लाइंट (requests, httpx, यहां तक कि curl) से कॉल करें; किसी Python-विशिष्ट डिपेंडेंसी की ज़रूरत नहीं।
क्या मुझे सिर्फ़ पूरा टेक्स्ट नहीं, बल्कि हर लाइन के लिए टाइमस्टैम्प मिल सकते हैं?
ओपन-सोर्स लाइब्रेरी सीधे हर स्निपेट का स्टार्ट/ड्यूरेशन लौटाती है। हमारी होस्टेड API का ट्रांसक्रिप्ट एंडपॉइंट फ़िलहाल पूरा ट्रांसक्रिप्ट फ्लैट टेक्स्ट और शब्द संख्या के रूप में लौटाता है, प्रति-सेगमेंट टाइमस्टैम्प नहीं - अगर आपके इस्तेमाल के लिए खासतौर पर API से यह चाहिए, तो ओपन-सोर्स लाइब्रेरी आज बेहतर विकल्प है।
अगर किसी वीडियो में ट्रांसक्रिप्ट न हो तो क्या होता है?
दोनों तरीके खाली स्ट्रिंग के बजाय एक स्पष्ट एरर लौटाते हैं - हर एरर कोड का मतलब जानने के लिए डायग्नोस्टिक चेकलिस्ट देखें।
संबंधित
- 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 बनाम TranscriptAPI
- GetYouTubeTranscript बनाम youtubetotranscript.com
- GetYouTubeTranscript बनाम youtube-transcript.io
- GetYouTubeTranscript बनाम NoteGPT