YouTube API Quota Exceeded: Causes and Fixes

Why YouTube Data API requests fail with quotaExceeded, what the daily 10,000-unit quota actually costs per call, how to check and raise it, and how to avoid hitting it - including using a transcript API that doesn't consume your quota.

00:09:00 · SEP 13, 2026

Jawaban singkat

Anda melihat quotaExceeded karena proyek Google Cloud Anda telah menghabiskan seluruh alokasi 10.000 unit harian untuk YouTube Data API v3, yang direset pada tengah malam waktu Pasifik. Perbaikan tercepat: hentikan penggunaan search.list (100 unit) di tempat pencarian ID langsung sudah cukup, cache hasil alih-alih mengambilnya ulang, atau beralih ke API transkrip yang tidak berjalan lewat kuota YouTube Anda sendiri sama sekali.

Mengapa ini terjadi

Setiap proyek Google Cloud mendapat kuota default YouTube Data API v3 sebesar 10.000 unit per hari, direset pada tengah malam waktu Pasifik - tidak ada rollover dan tidak ada cara memicu reset lebih awal. Kuota dilacak per proyek, bukan per API key, jadi membuat key kedua dari proyek yang sama tidak memberi Anda kolam kuota kedua.

Setiap panggilan API menghabiskan unit, bukan request - dan biayanya tidak merata. Berikut gambaran lengkap di seluruh endpoint yang benar-benar digunakan developer:

PanggilanBiaya kuota
search.list100 unit
videos.list1 unit
channels.list1 unit
playlistItems.list1 unit
commentThreads.list1 unit per halaman
captions.list50 unit
captions.download200 unit, memerlukan OAuth (bukan autentikasi API-key)

Dengan 100 unit per pencarian, sebuah proyek bisa menghabiskan seluruh kuota hariannya hanya setelah 100 panggilan search - sebelum satu caption pun diunduh. Ini adalah cara paling umum proyek kecil mencapai batas: mereka bukan membuat 10.000 request, melainkan membuat beberapa ratus request yang mahal. Sebaliknya, videos.list, channels.list, dan playlistItems.list murah, masing-masing 1 unit - jika Anda sudah tahu ID video, channel, atau playlist, panggilan tersebut nyaris tidak mengurangi anggaran harian.

Cara memeriksa penggunaan kuota Anda saat ini

  1. Buka Google Cloud Console untuk proyek yang terhubung dengan API key Anda.
  2. Buka APIs & Services → YouTube Data API v3 → Quotas & System Limits.
  3. Ini menampilkan penggunaan Anda saat ini terhadap Queries per day dan batas per menit, diperbarui dengan sedikit jeda, bukan secara real-time.

Jika Anda sudah mendekati batas sebelum membuat 10.000 request, tampilan ini adalah cara memastikan bahwa masalahnya memang panggilan yang mahal seperti di atas, bukan bug.

quotaExceeded vs. rateLimitExceeded

Keduanya mengembalikan 403, dan keduanya sering disamaratakan sebagai "error kuota" dalam percakapan sehari-hari, tetapi keduanya masalah berbeda dengan perbaikan berbeda:

  • quotaExceeded (alasan: dailyLimitExceeded) - proyek Anda menghabiskan seluruh alokasi unit harian. Tidak ada yang bisa memperbaiki ini kecuali menunggu reset tengah malam Pasifik, mengurangi biaya per panggilan, atau mendapatkan persetujuan peningkatan kuota.
  • rateLimitExceeded - Anda mengirim request terlalu cepat dalam jendela waktu singkat, terlepas dari total harian Anda. Ini masalah pengaturan laju, bukan masalah anggaran - lihat panduan rate limit kami untuk cara menanganinya dengan benar lewat backoff.

Lima cara memperbaikinya

  1. Lakukan caching secara agresif. Kuota dikenakan per panggilan API, bukan per request yang dilihat pengguna - jika Anda mengambil ulang caption video yang sama berulang kali, cache hasilnya (bahkan cache TTL in-memory sederhana) alih-alih memanggil API lagi untuk data yang tidak berubah dari menit ke menit.
  2. Hindari search.list di tempat pencarian ID langsung sudah cukup. Jika Anda sudah punya ID video, channel, atau playlist, panggilan .list yang sesuai 100 kali lebih murah daripada pencarian.
  3. Batch pencarian ID. videos.list menerima hingga 50 ID yang dipisahkan koma per panggilan dengan biaya 1 unit yang sama seperti satu ID - mengambil 50 video satu per satu alih-alih di-batch 50 kali lebih mahal tanpa alasan.
  4. Ajukan peningkatan kuota setelah Anda punya penggunaan produksi nyata sebagai justifikasi, lewat formulir YouTube API Services Audit and Quota Extension yang ditautkan dari halaman kuota Cloud Console. Harapkan tinjauan manual, bukan persetujuan instan.
  5. Gunakan API transkrip yang tidak berjalan lewat kuota YouTube Anda sendiri. API GetYouTubeTranscript mengambil transkrip dari infrastrukturnya sendiri alih-alih melakukan proxy ke captions.download dengan key Anda, jadi tidak ada batas harian 10.000 unit yang perlu dikelola - hanya batas laju request milik paket itu sendiri.

Contoh: mengambil transkrip tanpa menyentuh kuota YouTube

cURL:

curl "https://getyoutubetranscript.com/api/v1/transcript?v=dQw4w9WgXcQ" \
  -H "Authorization: Bearer sk_live_..."

Node.js:

const res = await fetch(
  "https://getyoutubetranscript.com/api/v1/transcript?v=dQw4w9WgXcQ",
  { headers: { Authorization: `Bearer ${process.env.GETYOUTUBETRANSCRIPT_API_KEY}` } }
);
const { data } = await res.json();
console.log(data.transcript);

Python:

import os, requests

res = requests.get(
    "https://getyoutubetranscript.com/api/v1/transcript",
    params={"v": "dQw4w9WgXcQ"},
    headers={"Authorization": f"Bearer {os.environ['GETYOUTUBETRANSCRIPT_API_KEY']}"},
)
print(res.json()["data"]["transcript"])

Ini menghabiskan 1 kredit dari paket GetYouTubeTranscript Anda, bukan unit dari kuota YouTube Data API proyek Google Cloud Anda. Dapatkan 100 kredit gratis, tanpa perlu kartu, dari dashboard, atau lihat dokumentasi API lengkapnya.

Catatan tentang akal-akalan

Merotasi IP, membuat banyak proyek Google Cloud, atau melakukan scraping langsung ke halaman YouTube untuk menghindari kuota semuanya membawa risiko nyata - dua yang pertama berisiko melanggar YouTube API Services Terms of Service, dan scraping tidak resmi rapuh terhadap perubahan tata letak. API transkrip khusus menyerap risiko operasional itu untuk Anda, alih-alih Anda menanggungnya sendiri.

FAQ Kuota API YouTube

Q01

Apa arti "The request cannot be completed because you have exceeded your quota"?

Artinya proyek Google Cloud Anda telah menghabiskan unit kuota YouTube Data API v3 yang dialokasikan untuk hari ini. Google mereset kuota pada tengah malam waktu Pasifik, dan alokasi gratis default-nya adalah 10.000 unit/hari, dilacak per proyek (bukan per API key).

Q02

Berapa kuota yang sebenarnya dihabiskan untuk mengambil sebuah transkrip?

YouTube Data API sendiri tidak punya endpoint "ambil transkrip" langsung - panggilan captions.list menghabiskan 50 unit hanya untuk menampilkan daftar track caption yang tersedia, dan captions.download memerlukan OAuth (bukan sekadar API key) serta menghabiskan 200 unit. Panggilan search.list, yang sering dipakai untuk mencari video terlebih dahulu, sendiri menghabiskan 100 unit - jadi beberapa pencarian ditambah pencarian caption bisa menghabiskan anggaran harian 10.000 unit dengan cepat.

Q03

Apa bedanya quotaExceeded dan rateLimitExceeded?

quotaExceeded (muncul sebagai reason dailyLimitExceeded pada body error) berarti Anda telah menghabiskan seluruh alokasi unit harian dan harus menunggu reset tengah malam Pasifik. rateLimitExceeded berarti Anda mengirim request terlalu cepat dalam jendela waktu singkat, terlepas dari total harian Anda - lihat panduan rate limit kami untuk perbedaan detailnya.

Q04

Bisakah saya menggunakan banyak API key untuk mendapatkan kuota lebih banyak?

Tidak - kuota dilacak per proyek Google Cloud, bukan per API key. Beberapa key yang dibuat dari proyek yang sama semuanya mengambil dari kolam 10.000 unit harian yang sama. Membuat proyek terpisah untuk melipatgandakan kuota secara teknis memungkinkan tetapi berisiko melanggar YouTube API Services Terms of Service, yang melarang penghindaran batas kuota.

Q05

Bisakah saya mengajukan peningkatan kuota ke Google?

Bisa, lewat formulir YouTube API Services Audit and Quota Extension yang ditautkan dari halaman kuota Cloud Console, tetapi persetujuannya tidak dijamin atau instan - ini memerlukan justifikasi penggunaan produksi dengan detail penggunaan nyata, dan Google meninjau permintaan secara manual. Tidak ada cara swalayan untuk sekadar membayar kuota lebih banyak.

Q06

Apakah kuota gratis 10.000 unit dikenakan biaya?

Tidak - ini adalah alokasi gratis default yang diberikan ke setiap proyek Google Cloud yang mengaktifkan YouTube Data API v3. Anda tidak perlu akun penagihan terhubung untuk menggunakannya, meskipun Google mungkin meminta Anda mengaktifkan penagihan saat mengajukan peningkatan.

Q07

Apakah API GetYouTubeTranscript menggunakan kuota YouTube API saya sendiri?

Tidak. Ini tidak melakukan proxy ke YouTube Data API dengan key Anda - ekstraksi transkrip berjalan lewat infrastruktur kami sendiri, jadi tidak ada kuota captions.list/download yang perlu dikelola di sisi Anda. Anda hanya dibatasi oleh rate limit yang kami publikasikan sendiri (60 req/menit gratis, hingga 300 req/menit pada paket tahunan).

Terkait