~/social/youtube-transcript-scraper

YouTube Subtitle & Transcript Scraper — JSON, SRT, VTT, LLM

Ekstrak subtitle dan transcript YouTube dari video, Shorts, playlist, dan channel sebagai JSON, SRT, VTT, plain text, atau teks siap-LLM yang bersih. 100+ bahasa, metadata lengkap, tanpa API key — dan ekstraksi yang gagal tidak dikenakan biaya.

media TypeScriptInnerTube Global
proooxy/youtube-transcript-scraper — spec
kategorisocial / media
bahasaTypeScript
stackTypeScript, InnerTube
pasarGlobal
outputJSON bersih, siap-RAG

fitur utama

Satu input menangani video, Shorts, link youtu.be, playlist, dan channel — dicampur dalam satu run

Lima format output — JSON (timestamped), SRT, VTT, plain text, dan siap-LLM (menghapus [Music], [Applause], dan label pembicara)

100+ bahasa dengan daftar bahasa yang berurutan prioritas dan fallback auto-caption yang bisa di-toggle

Metadata lengkap — judul, channel, deskripsi, tanggal publish, view count, thumbnail, durasi, dan bahasa yang tersedia

Batch seluruh playlist dan channel dengan batas maxVideos dan concurrency 1–10

Dukungan residential proxy plus cookies opsional untuk mengurangi block bot-check

Ekstraksi multi-layer — hingga sembilan fallback di berbagai klien InnerTube, dengan yt-dlp PO-token sebagai upaya terakhir

Circuit breaker dan error handling per-item menjaga batch besar tetap berjalan

use case

  • Tim AI/ML yang membangun dataset RAG atau fine-tuning dari video spoken (output teks siap-LLM)
  • Tim konten yang menggunakan ulang transcript menjadi blog post, show notes, dan caption sosial
  • SEO marketer yang mengekstrak teks video yang bisa dicari untuk indexing dan riset keyword
  • Editor dan publisher yang butuh file subtitle SRT/VTT standar
  • Peneliti yang mengumpulkan transcript secara batch di seluruh channel atau playlist
  • Developer yang butuh caption terstruktur dan timestamped tanpa YouTube API key

parameter input

ParameterTipeWajibDeskripsi
urlsarrayopsionalURL YouTube atau ID polos — video, Shorts, link youtu.be, playlist, atau channel. Wajib diisi saat runtime.
outputFormatstringopsionalFormat transcript: json, srt, vtt, text, atau llm (default: json).
languagesarrayopsionalBahasa subtitle yang diutamakan berdasarkan urutan prioritas, kode ISO 639-1 (default: en).
includeAutoGeneratedbooleanopsionalFallback ke caption auto-generated saat caption manual tidak tersedia (default: true).
maxVideosnumberopsionalBatas video yang diproses per run, misalnya untuk playlist/channel (default: 0 = tanpa batas).
maxConcurrencynumberopsionalVideo yang diproses secara paralel, 1–10 (default: 3).
proxyConfigurationobjectopsionalPengaturan proxy; default ke Apify Residential yang di-pin ke US.
youtubeCookiesstringopsionalCookies YouTube opsional (header Cookie atau cookies.txt) untuk mengurangi block bot-check.

Contoh Output

 1{
 2  "videoId": "dQw4w9WgXcQ",
 3  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
 4  "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
 5  "channelName": "Rick Astley",
 6  "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
 7  "publishDate": "2009-10-25",
 8  "viewCount": 1761003712,
 9  "availableLanguages": ["en", "de-DE", "ja", "pt-BR", "es-419"],
10  "language": "en",
11  "isAutoGenerated": false,
12  "duration": 213,
13  "wordCount": 487,
14  "segmentCount": 61,
15  "text": "We're no strangers to love, you know the rules and so do I...",
16  "segments": [{ "text": "We're no strangers to love", "start": 18.64, "end": 21.88 }],
17  "error": null
18}

Harga

Pay-per-event: dikenakan biaya sekali per transcript yang berhasil diekstrak — video yang gagal tidak pernah dikenakan biaya. Masukkan seluruh channel atau playlist dan bayar hanya untuk caption yang benar-benar Anda dapatkan.

Tips

  • Gunakan outputFormat: llm untuk RAG dan fine-tuning — ini menghapus anotasi non-speech sehingga embedding Anda melihat prosa yang bersih.
  • Pertahankan residential proxy tetap aktif. YouTube secara agresif memblokir IP datacenter; actor ini default ke US residential bukan tanpa alasan.
  • Mulai maxConcurrency di angka 1–3 untuk pekerjaan besar dan naikkan secara bertahap — concurrency tinggi meningkatkan risiko rate-limit pada scraping channel besar.

faq

Apakah saya perlu YouTube API key atau harus login?
Tidak. Actor ini mengekstrak caption secara langsung — tanpa YouTube Data API key dan tanpa login. Input cookies opsional bisa diberikan untuk mengurangi block 'Sign in to confirm you're not a bot' pada beberapa video.
Bahasa dan jenis caption apa saja yang didukung?
Lebih dari 100 bahasa. Berikan daftar kode ISO 639-1 berurutan prioritas (default: en); actor ini mengutamakan caption yang dibuat manual dan fallback ke caption auto-generated kecuali Anda menonaktifkan includeAutoGenerated.
Apakah saya dikenakan biaya untuk video yang gagal diekstrak?
Tidak. Billing bersifat pay-per-event pada satu event transcript-extracted, dikenakan hanya setelah transcript berhasil disimpan. Video yang gagal tetap muncul di output dengan field error dan tidak dikenakan biaya.
Bisakah saya mendapatkan teks bersih siap-LLM untuk RAG?
Bisa. Set outputFormat ke 'llm' untuk menghapus anotasi [Music]/[Applause] dan label pembicara, menghasilkan prosa bersih yang ideal untuk embedding dan fine-tuning.

terkait di ~/social

Jalankan YouTube Subtitle & Transcript Scraper — JSON, SRT, VTT, LLM, atau dapatkan build custom

Mulai ekstraksi di Apify dalam hitungan menit, atau sewa saya untuk membangun scraper custom dan pipeline RAG untuk source dan skema spesifik Anda.

run di Apify dapatkan data custom