API दस्तावेज़
YouTube ट्रांसक्रिप्ट, सर्च, और मेटाडेटा के लिए एक REST API। अपने dashboard से एक API key लें — 100 फ्री क्रेडिट्स, कार्ड की जरूरत नहीं।
प्रमाणीकरण
अपनी API key को बियरर टोकन के रूप में, या x-api-key के जरिए पास करें:
Authorization: Bearer sk_live_...
# or
x-api-key: sk_live_...बेस URL
https://getyoutubetranscript.com/api/v1क्रेडिट्स और प्लान
| प्लान | कीमत | क्रेडिट्स/माह | टॉप-अप कीमत | रेट लिमिट |
|---|---|---|---|---|
| Free | $0/माह | 100 (एक बार) | — | 60 req/min |
| मासिक | $5/माह | 1,000 | $2.50 / 1,000 | 200 req/min |
| वार्षिक | $4.50/माह ($54/वर्ष) | 1,000 | $1.50 / 1,000 | 300 req/min |
| Starter | $19/माह | 7,500 | $1.50 / 1,000 | 300 req/min |
| Pro | $49/माह | 25,000 | $1.50 / 1,000 | 400 req/min |
| Scale | $99/माह | 60,000 | $1.50 / 1,000 | 600 req/min |
1 क्रेडिट = 1 सफल रिक्वेस्ट। फेल्ड रिक्वेस्ट के लिए कभी चार्ज नहीं किया जाता। उदाहरण: 10 ट्रांसक्रिप्ट रिक्वेस्ट, जिनमें 2 वीडियो में कैप्शन नहीं हैं, 8 क्रेडिट लेती हैं, और फेल्ड वीडियो को दोबारा आज़माने पर तब तक कोई चार्ज नहीं लगता जब तक वह सफल न हो जाए। टॉप-अप क्रेडिट्स खरीद के 30 दिन बाद या आपकी मौजूदा बिलिंग अवधि के अंत में, जो भी बाद में हो, एक्सपायर हो जाते हैं, और इन्हें खर्च करने के लिए एक सक्रिय सब्सक्रिप्शन जरूरी है।
एंडपॉइंट्स
/transcript1 क्रेडिटमेटाडेटा (title, channel, thumbnail) के साथ किसी YouTube वीडियो का ट्रांसक्रिप्ट पाएं। साथ ही language_code बनाम requested_language, caption_type (manual या auto, अज्ञात होने पर null) और cached / fetched_at भी लौटाता है।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
v | हां | वीडियो ID या पूरा YouTube URL |
language | नहीं | भाषा कोड (डिफ़ॉल्ट: en) |
timestamps | नहीं | हर लाइन के टाइमस्टैम्प (segments: start, duration, text, सेकंड में) पाने के लिए true सेट करें। डिफ़ॉल्ट रूप से बंद। |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/transcript?v=jNQXAC9IVRw" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"video_id": "jNQXAC9IVRw",
"language_code": "en",
"requested_language": "en",
"caption_type": "manual",
"title": "Me at the zoo",
"author_name": "jawed",
"author_url": "https://www.youtube.com/channel/UC4Qob...",
"thumbnail_url": "https://...",
"transcript": "All right, so here we are...",
"word_count": 39,
"cached": true,
"fetched_at": "2026-09-20T03:10:58.938Z"
}
}/transcript/languagesFreeकिसी वीडियो में उपलब्ध कैप्शन भाषाओं की सूची (manual और auto-generated), ट्रांसक्रिप्ट लाने से पहले। default_language_code वह है जो /transcript बिना भाषा के लौटाता है; जिस वीडियो में कैप्शन बंद हैं, उसके लिए खाली सूची मिलती है।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
v | हां | वीडियो ID या पूरा YouTube URL |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/transcript/languages?v=kJQP7kiw5Fk" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"video_id": "kJQP7kiw5Fk",
"default_language_code": "en",
"languages": [
{ "language_code": "en", "name": "English - en", "caption_type": "manual" },
{ "language_code": "es", "name": "Spanish", "caption_type": "manual" }
]
}
}/batch1 क्रेडिट / सफल वीडियोएक ही कॉल में 100 तक वीडियो कतार में डालें। तुरंत एक batch_id लौटाता है और ट्रांसक्रिप्ट बैकग्राउंड में लाता है। GET /batch से स्थिति देखें, या webhook_url दें ताकि पूरा होने पर एक साइन किया हुआ POST (X-GYT-Signature हेडर) मिले। फेल्ड वीडियो के लिए कभी चार्ज नहीं किया जाता।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
videos | हां | वीडियो ID या URL की array (1-100)। डुप्लिकेट केवल एक बार लाए जाते हैं। |
language | नहीं | सभी वीडियो के लिए भाषा कोड (डिफ़ॉल्ट: en) |
timestamps | नहीं | परिणामों में हर लाइन के segments शामिल करने के लिए true |
webhook_url | नहीं | सार्वजनिक https URL, जिसे बैच पूरा होने पर सूचना भेजी जाती है |
Idempotency-Key | नहीं | हेडर। रिक्वेस्ट को सुरक्षित रूप से दोहराएं: वही key मूल बैच लौटाती है। |
अनुरोध
curl -X POST "https://getyoutubetranscript.com/api/v1/batch" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"videos": ["jNQXAC9IVRw", "https://youtu.be/dQw4w9WgXcQ"],
"webhook_url": "https://example.com/hooks/transcripts"
}'प्रतिक्रिया
{
"success": true,
"data": {
"batch_id": "324eb615-e4d5-4b3c-b8e7-04235671066b",
"status": "queued",
"total": 2,
"succeeded": 0,
"failed": 0,
"pending": 2,
"results_url": "https://getyoutubetranscript.com/api/v1/batch?id=324eb615-...",
"webhook_secret": "whsec_..."
}
}/batchFreeबैच की स्थिति, गिनती और भेजे गए क्रम में परिणामों का एक पेज। सफल आइटम में /transcript जैसे ही फ़ील्ड होते हैं; फेल्ड आइटम में error_code होता है।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
id | हां | POST /batch से मिला batch_id |
offset | नहीं | छोड़ने वाले आइटम (डिफ़ॉल्ट: 0) |
limit | नहीं | प्रति पेज आइटम, 1-50 (डिफ़ॉल्ट: 20) |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/batch?id=324eb615-e4d5-4b3c-b8e7-04235671066b" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"batch_id": "324eb615-...",
"status": "completed",
"total": 2,
"succeeded": 1,
"failed": 1,
"credits_charged": 1,
"items": [
{ "position": 0, "status": "succeeded", "charged": true, "video_id": "jNQXAC9IVRw", "caption_type": "manual", "transcript": "All right, so here we are...", ... },
{ "position": 1, "status": "failed", "charged": false, "video_id": "dQw4w9WgXcQ", "error_code": "TRANSCRIPT_DISABLED" }
],
"next_offset": null
}
}/search1 क्रेडिट / पेजफिल्टर और पेजिनेशन के साथ YouTube वीडियो सर्च करें।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
q | हां | सर्च क्वेरी (कम से कम 2 अक्षर) |
country | नहीं | 2-अक्षर वाला कंट्री कोड (डिफ़ॉल्ट: us) |
language | नहीं | भाषा कोड (डिफ़ॉल्ट: en) |
page_token | नहीं | अगला पेज लाने के लिए पिछले रिस्पॉन्स का continuation_token |
limit | नहीं | अधिकतम परिणाम (डिफ़ॉल्ट 20, अधिकतम 50) |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/search?q=lofi+beats" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"query": "lofi beats",
"video_results": [ { "title": "...", "videoId": "...", "channel": { "name": "..." } } ],
"continuation_token": "c_bKt9xQ2mVf7LpR0aZ3sWyA"
}
}/resolveFreeकिसी चैनल हैंडल, URL, या यूजरनेम को उसकी असली चैनल ID में रिज़ॉल्व करें। एक सिंटैक्टिक इनपुट (पहले से चैनल ID या उसे युक्त URL) बिना किसी नेटवर्क कॉल के तुरंत रिज़ॉल्व होता है; एक सादा हैंडल एक असली लुकअप ट्रिगर करता है।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
handle | हां | चैनल ID, URL, या @handle |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/resolve?handle=@mkbhd" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"title": "Marques Brownlee",
"handle": "http://www.youtube.com/@mkbhd",
"resolved_via": "scrape"
}
}/channel/latestFreeचैनल की जानकारी (टाइटल, सब्सक्राइबर, विवरण, अवतार) और चैनल के होम टैब पर दिखने वाले नए वीडियो। पूरी अपलोड हिस्ट्री के लिए /channel/videos का उपयोग करें।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
channel | हां | चैनल का @handle, URL या चैनल ID |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/channel/latest?channel=@mkbhd" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"channel": { "id": "UCBJycsmduvYEL83R_U4JriQ", "title": "Marques Brownlee", "subscribers": 1160000, "avatar": "https://..." },
"about": { "description": "...", "links": [] },
"videos_sections": [ ... ]
}
}/channel/videos1 क्रेडिट / पेजकिसी चैनल के सभी अपलोड किए गए वीडियो, सबसे नए पहले, पेज के हिसाब से।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
channel | हां | चैनल का @handle, URL या चैनल ID |
continuation | नहीं | अगला पेज पाने के लिए पिछले जवाब का continuation_token (दूसरे पैरामीटर की जगह इसका उपयोग करें)। 24 घंटे बाद समाप्त हो जाता है। |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/channel/videos?channel=@mkbhd" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"videos": [ { "position": 1, "id": "...", "title": "...", "views": "6.2M", "published_time": "1d ago", "length": "10:47" } ],
"has_more": true,
"continuation_token": "c_pqHR9v13sqaqxlcKhA4MnA"
}
}/channel/search1 क्रेडिट / पेजकिसी एक चैनल के वीडियो में खोजें, पेज के हिसाब से।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
channel | हां | चैनल का @handle, URL या चैनल ID |
q | हां | सर्च क्वेरी (कम से कम 2 अक्षर) |
continuation | नहीं | अगला पेज पाने के लिए पिछले जवाब का continuation_token (दूसरे पैरामीटर की जगह इसका उपयोग करें)। 24 घंटे बाद समाप्त हो जाता है। |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/channel/search?channel=@mkbhd&q=iphone" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"videos": [ { "position": 1, "id": "...", "title": "...", "published_time": "3w ago", "length": "17:14", "channel": { "name": "Marques Brownlee" } } ],
"has_more": true,
"continuation_token": "c_pnm10M6orzLgOTVWJk2oww"
}
}/playlist1 क्रेडिट / पेजकिसी प्लेलिस्ट के सभी वीडियो, पेज के हिसाब से। आखिरी पेज पर continuation_token null होता है।
| पैरामीटर | आवश्यक | विवरण |
|---|---|---|
list | हां | प्लेलिस्ट ID या URL |
continuation | नहीं | अगला पेज पाने के लिए पिछले जवाब का continuation_token (दूसरे पैरामीटर की जगह इसका उपयोग करें)। 24 घंटे बाद समाप्त हो जाता है। |
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/playlist?list=PLxxx" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"playlist_id": "PLxxx",
"title": "...",
"videos": [ { "position": 1, "id": "...", "title": "...", "channel": { "name": "..." } } ],
"has_more": true,
"continuation_token": "c_DfE9mQx2Ln8TbW4kJ1pZsA"
}
}/creditsFreeइस्तेमाल करने से पहले इस की का बचा हुआ क्रेडिट बैलेंस देखें - यह वही डेटा है जो MCP का get_credits टूल देता है।
| पैरामीटर | आवश्यक | विवरण |
|---|
अनुरोध
curl "https://getyoutubetranscript.com/api/v1/credits" \
-H "Authorization: Bearer sk_live_..."प्रतिक्रिया
{
"success": true,
"data": {
"plan_credits_left": 87,
"topup_credits_left": 0,
"plan": "monthly",
"rate_limit_per_minute": 200
}
}त्रुटियाँ
Errors HTTP status के अलावा एक JSON बॉडी लौटाते हैं जिसमें ब्रांच करने के लिए एक स्थिर code फील्ड होता है:
| स्थिति | कोड | अर्थ |
|---|---|---|
| 400 | BAD_REQUEST | पैरामीटर गायब या अमान्य है |
| 400 | CURSOR_EXPIRED | पेज कर्सर समाप्त हो गया (24 घंटे बाद) - पहले पेज से फिर शुरू करें |
| 401 | MISSING_API_KEY / INVALID_API_KEY | कोई key नहीं दी गई, या key अमान्य/रद्द है |
| 402 | PAYMENT_REQUIRED | क्रेडिट्स खत्म - टॉप-अप खरीदें या अपग्रेड करें |
| 404 | VIDEO_UNAVAILABLE / TRANSCRIPT_NOT_FOUND | वीडियो या रिसोर्स नहीं मिला |
| 429 | RATE_LIMITED | आपके प्लान टियर के लिए बहुत ज्यादा रिक्वेस्ट |
| 503 | UPSTREAM_UNAVAILABLE | अस्थायी अपस्ट्रीम समस्या - फिर से कोशिश करना सुरक्षित है |
| 504 | UPSTREAM_TIMEOUT | अपस्ट्रीम को 25 सेकंड से ज़्यादा लगे - कोई चार्ज नहीं, फिर से कोशिश करना सुरक्षित है |
इस API को किसी AI टूल के साथ इस्तेमाल करना
खुद रिक्वेस्ट लिखने के बजाय Claude (या किसी अन्य AI कोडिंग टूल) से यह API कॉल करवाना चाहते हैं? YouTube Transcript skill डाउनलोड करें - एक तैयार Claude Skill जो उसे ट्रांसक्रिप्ट लाना, सर्च करना, और बहुत कुछ सिखाती है।
Zapier में इस्तेमाल करें
बिना कोड के: हमारा Zapier ऐप किसी भी Zap में ट्रांसक्रिप्ट लाता है, YouTube खोजता है या किसी चैनल के वीडियो की सूची देता है। इसे उसी API key से जोड़ें; हर एक्शन में API कॉल जितने ही क्रेडिट लगते हैं।