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.
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
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
urls | array | opsional | URL YouTube atau ID polos — video, Shorts, link youtu.be, playlist, atau channel. Wajib diisi saat runtime. |
outputFormat | string | opsional | Format transcript: json, srt, vtt, text, atau llm (default: json). |
languages | array | opsional | Bahasa subtitle yang diutamakan berdasarkan urutan prioritas, kode ISO 639-1 (default: en). |
includeAutoGenerated | boolean | opsional | Fallback ke caption auto-generated saat caption manual tidak tersedia (default: true). |
maxVideos | number | opsional | Batas video yang diproses per run, misalnya untuk playlist/channel (default: 0 = tanpa batas). |
maxConcurrency | number | opsional | Video yang diproses secara paralel, 1–10 (default: 3). |
proxyConfiguration | object | opsional | Pengaturan proxy; default ke Apify Residential yang di-pin ke US. |
youtubeCookies | string | opsional | Cookies 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: llmuntuk 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
maxConcurrencydi 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?
Bahasa dan jenis caption apa saja yang didukung?
Apakah saya dikenakan biaya untuk video yang gagal diekstrak?
Bisakah saya mendapatkan teks bersih siap-LLM untuk RAG?
terkait di ~/social
Bluesky Scraper — Postingan, Profil, Feed & Interaksi
Scrape postingan, profil, feed, dan interaksi Bluesky.
buka