Cara mendapatkan transkrip YouTube dengan API (curl, Python, JavaScript)
Ambil transkrip video YouTube publik mana pun dengan satu permintaan HTTP. Contoh curl, Python, dan JavaScript yang berfungsi, format keluaran, kode galat, dan biaya.

Untuk mendapatkan transkrip YouTube dengan API, kirim satu permintaan HTTP berisi URL atau ID video dan kunci API, lalu baca transkripnya dari respons. Panduan ini menunjukkan permintaannya dalam curl, Python, dan JavaScript memakai API Transkrip sum.video, lalu membahas format, galat, dan biaya.
Apa yang dikembalikan API
Endpoint ini mengembalikan teks sulih yang sudah ada dari video YouTube publik, baik yang ditulis pembuatnya maupun yang dibuat otomatis oleh YouTube. API ini tidak mentranskripsi audio. Jika video tidak punya teks sulih, kamu mendapat galat, bukan tebakan (lebih lanjut di bawah).
Dasar-dasarnya:
- Endpoint:
POST https://sum.video/api/v1/transcript(GETjuga bisa) - Autentikasi: kuncimu di header
X-API-Key, atauAuthorization: Bearer <key> - Masukan:
urlatauvideo_id langopsional (bawaanen)formatopsional:json,text, atausrt
Respons juga memberi tahu bahasa asli dari trek teks sulih dan apakah trek itu dibuat otomatis, sehingga kamu tahu kualitas apa yang bisa diharapkan.
Langkah 1: Buat kunci API
Masuk, lalu buat kunci di dasbor API (/dashboard/api di sum.video). Kamu bisa punya hingga 5 kunci aktif, berguna untuk memisahkan kunci staging dari kunci produksi. Kunci pertamamu datang dengan 10 kredit gratis, cukup untuk 5 transkrip, jadi kamu bisa mencoba semua di bawah ini tanpa biaya.
Langkah 2: Kirim permintaan pertama
curl
curl -X POST https://sum.video/api/v1/transcript \
-H "X-API-Key: $SUMVIDEO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en", "format": "text"}'
Karena GET juga bisa, kamu dapat mencoba dari skrip yang hanya menyusun URL. Sebaiknya kirim kunci lewat header agar tidak tercatat di log.
Python
import os
import requests
resp = requests.post(
"https://sum.video/api/v1/transcript",
headers={"X-API-Key": os.environ["SUMVIDEO_API_KEY"]},
json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
timeout=30,
)
if resp.status_code == 404:
print("No captions for this video")
else:
resp.raise_for_status()
print(resp.text)
JavaScript (Node 18+ atau browser)
const resp = await fetch("https://sum.video/api/v1/transcript", {
method: "POST",
headers: {
"X-API-Key": process.env.SUMVIDEO_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
video_id: "dQw4w9WgXcQ",
lang: "en",
format: "text",
}),
});
if (resp.status === 404) {
console.log("No captions for this video");
} else if (!resp.ok) {
throw new Error(`Request failed: ${resp.status}`);
} else {
console.log(await resp.text());
}
Simpan kunci di server. Kunci yang ditaruh di kode browser bisa disalin siapa saja yang membuka alat pengembang.
Langkah 3: Pilih format yang tepat
| Format | Yang kamu dapat | Terbaik untuk |
|---|---|---|
json |
Segmen, masing-masing dengan offset dan duration dalam detik |
Penanda waktu, tautan ke momen tertentu, pemotongan berdasarkan waktu |
text |
Transkrip teks biasa | Prompt, indeks pencarian, ringkasan |
srt |
Isi berkas teks sulih | Penyunting video, alat teks sulih |
Jika kamu berencana menautkan ke momen tertentu di video, pakai json dan susun tautannya dari offset segmen. Untuk memberi masukan ke LLM, text lebih kecil dan sederhana. Jika nanti kamu ingin mencari di dalam transkrip secara manual, lihat cara mencari di dalam transkrip video YouTube.
Langkah 4: Pilih bahasa
lang bawaannya en. Setel ke bahasa yang kamu mau, misalnya de atau es. Respons melaporkan bahasa trek yang benar-benar dikembalikan, jadi periksa, jangan berasumsi. Sebuah video sering hanya punya satu trek teks sulih, dan API mengembalikan teks sulih asli, jadi tidak menerjemahkannya untukmu.
Langkah 5: Tangani galat
Rencanakan kasus-kasus ini sejak hari pertama:
404 no_transcript: video tidak punya teks sulih, atau berupa siaran langsung, video privat, atau video yang sudah dihapus. Tidak ada yang perlu dicoba ulang. Lewati saja, atau minta pengguna memberi video lain.402 budget_exceeded: kamu mencapai batas kredit bulanan yang kamu atur. Lihat bagian berikutnya.- Batas laju: setiap kunci mengizinkan 60 permintaan per menit. Beri jeda pada pekerjaan massal, dan mundur saat dibatasi.
- Kegagalan di sisi kami: coba lagi dengan jeda singkat. Tidak dikenai biaya.
Perulangan sederhana yang mencoba ulang saat galat server dan melewati 404 sudah mencakup sebagian besar kebutuhan produksi.
Berapa biayanya
Setiap transkrip berbiaya 2 kredit. Permintaan yang tidak menghasilkan transkrip, atau gagal di sisi sum.video, tidak dikenai biaya, sehingga 404 tidak pernah menguras saldomu. Kamu bisa memeriksa saldo dengan GET /api/v1/credits.
Kredit dijual dalam paket sekali beli yang tidak pernah kedaluwarsa:
| Paket | Harga | Per transkrip |
|---|---|---|
| 100 kredit | $4.49 | $0.090 |
| 500 kredit | $13.99 | $0.056 |
| 2,000 kredit | $37.99 | $0.038 |
| 5,000 kredit | $74.99 | $0.030 |
Pelanggan Pro juga mendapat bonus 100 kredit setiap bulan. Untuk beban yang lebih berat, seperti memasukkan seluruh kanal, baca skenario transkrip YouTube untuk aplikasi RAG dalam skala besar yang membahas isi ulang otomatis dan anggaran. Lihat juga harga.
Batasan yang perlu diketahui sebelum membangun
- Hanya video dengan teks sulih yang berfungsi. Ini penyebab utama
404 no_transcript. - Teks sulih yang dibuat otomatis bisa mengandung kesalahan, terutama pada nama, aksen, dan istilah teknis.
- API hanya mengembalikan transkrip. API tidak meringkas. Jika kamu ingin ringkasan, penanda waktu, dan obrolan di atas transkrip, peringkas YouTube yang melakukannya, dan alat transkrip adalah versi tanpa kode untuk satu video.
- YouTube Data API resmi bukan pengganti di sini. Metode unduh teks sulihnya memerlukan izin untuk mengedit video, jadi diperuntukkan bagi videomu sendiri (dokumentasi Google).
Sumber
Pertanyaan yang sering diajukan
Bisakah saya mendapatkan transkrip YouTube tanpa YouTube Data API resmi?
Bisa. API Transkrip sum.video menerima URL atau ID video dan mengembalikan teks sulih yang sudah ada, tanpa perlu proyek Google Cloud. Metode unduh teks sulih milik Google memerlukan izin untuk mengedit video, jadi hanya cocok untuk videomu sendiri.
Apakah API ini mentranskripsi video yang tidak punya teks sulih?
Tidak. API mengembalikan teks sulih YouTube yang sudah ada, baik manual maupun otomatis. Video tanpa teks sulih, siaran langsung, video privat, dan video yang dihapus mengembalikan 404 no_transcript, dan permintaan itu tidak dikenai biaya.
Berapa biaya satu transkrip?
2 kredit per transkrip. Paketnya mulai dari 100 kredit seharga $4.49 ($0.090 per transkrip) sampai 5,000 kredit seharga $74.99 ($0.030 per transkrip), dan kredit tidak pernah kedaluwarsa.
Format keluaran apa saja yang tersedia?
json (segmen dengan offset dan duration dalam detik), text, dan srt. Setel kolom format pada permintaan.
Bagaimana cara mencobanya secara gratis?
Kunci API pertamamu datang dengan 10 kredit gratis, yaitu 5 transkrip. Pelanggan Pro juga mendapat bonus 100 kredit setiap bulan.
Bacaan terkait
Transkrip YouTube untuk aplikasi RAG dalam skala besar: kredit, isi ulang otomatis, dan anggaranSeorang pengembang memasukkan 10.000 video YouTube ke aplikasi RAG. Lihat biayanya, hitungan batas laju, dan bagaimana isi ulang otomatis dan anggaran menjaga pengeluaran tetap terduga.
API transkrip YouTube terbaik dibandingkan: sum.video, Supadata, Transcribr, dan pustaka PythonEmpat cara mendapatkan transkrip YouTube lewat kode, dibandingkan dari harga, batasan, dan keandalan: sum.video, Supadata, Transcribr, dan youtube-transcript-api.
Bangun basis pengetahuan pribadi dari video YouTubeUbah video YouTube yang kamu pelajari menjadi perpustakaan ringkasan dan poin tersimpan yang dapat dicari, dengan rekap mingguan, sehingga kamu dapat menemukan ide lagi berbulan-bulan kemudian.
Tulisan terbaru
Transkrip YouTube untuk aplikasi RAG dalam skala besar: kredit, isi ulang otomatis, dan anggaranSeorang pengembang memasukkan 10.000 video YouTube ke aplikasi RAG. Lihat biayanya, hitungan batas laju, dan bagaimana isi ulang otomatis dan anggaran menjaga pengeluaran tetap terduga.
API transkrip YouTube terbaik dibandingkan: sum.video, Supadata, Transcribr, dan pustaka PythonEmpat cara mendapatkan transkrip YouTube lewat kode, dibandingkan dari harga, batasan, dan keandalan: sum.video, Supadata, Transcribr, dan youtube-transcript-api.
Bangun basis pengetahuan pribadi dari video YouTubeUbah video YouTube yang kamu pelajari menjadi perpustakaan ringkasan dan poin tersimpan yang dapat dicari, dengan rekap mingguan, sehingga kamu dapat menemukan ide lagi berbulan-bulan kemudian.