Bloga dönHatalar

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

Hızlı yanıt

quotaExceeded görüyorsunuz çünkü Google Cloud projeniz, gece yarısı Pasifik saatinde sıfırlanan YouTube Data API v3 için tam 10.000 birimlik günlük tahsisini kullandı. En hızlı çözümler: doğrudan bir ID araması işe yaradığında search.list (100 birim) kullanmayı bırakın, yeniden almak yerine sonuçları önbelleğe alın veya kendi YouTube kotanız üzerinden hiç çalışmayan bir transkript API'sine geçin.

Bu neden oluyor

Her Google Cloud projesi, gece yarısı Pasifik saatinde sıfırlanan varsayılan bir YouTube Data API v3 kotasına günde 10.000 birim alır - devretme yoktur ve erken bir sıfırlamayı tetiklemenin bir yolu yoktur. Kota, API anahtarı başına değil, proje başına takip edilir, bu yüzden aynı projeden ikinci bir anahtar üretmek size ikinci bir havuz vermez.

Her API çağrısı isteklere değil birimlere mal olur - ve maliyetler dengesizdir. İşte geliştiricilerin gerçekten kullandığı uç noktalar genelindeki tam tablo:

ÇağrıKota maliyeti
search.list100 birim
videos.list1 birim
channels.list1 birim
playlistItems.list1 birim
commentThreads.listsayfa başına 1 birim
captions.list50 birim
captions.download200 birim, OAuth gerektirir (API anahtarı kimlik doğrulaması değil)

Arama başına 100 birimle, bir proje tek bir altyazı indirilmeden önce, sadece 100 arama çağrısından sonra tüm günlük kotasını tüketebilir. Küçük projelerin sınıra takılmasının en yaygın yolu tam olarak budur: 10.000 istek yapmadılar, birkaç yüz pahalı çağrı yaptılar. Buna karşılık, videos.list, channels.list ve playlistItems.list her biri 1 birimle ucuzdur - zaten bir video, kanal veya çalma listesi ID'si biliyorsanız, bu çağrılar günlük bütçeyi zar zor eritir.

Mevcut kota kullanımınızı nasıl kontrol edersiniz

  1. API anahtarınıza bağlı proje için Google Cloud Console'u açın.
  2. APIs & Services → YouTube Data API v3 → Quotas & System Limits'e gidin.
  3. Bu, gerçek zamanlı değil kısa bir gecikmeyle güncellenen, Queries per day ve dakika başına sınırlara karşı mevcut kullanımınızı gösterir.

10.000 istek yapmadan önce zaten tavana yakınsanız, bu görünüm bunun yukarıdaki pahalı çağrı sorunu olduğunu, bir hata olmadığını doğrulamanızın yoludur.

quotaExceeded ve rateLimitExceeded karşılaştırması

İkisi de 403 döndürür ve günlük konuşmada ikisi de "kota hataları" olarak bir araya toplanır, ancak farklı düzeltmeleri olan farklı sorunlardır:

  • quotaExceeded (neden: dailyLimitExceeded) - projeniz tam günlük birim tahsisini kullandı. Gece yarısı Pasifik sıfırlamasını beklemek, çağrı başına maliyeti azaltmak veya onaylı bir kota artışı almak dışında hiçbir şey bunu düzeltmez.
  • rateLimitExceeded - günlük toplamınızdan bağımsız olarak, kısa bir pencerede çok hızlı istek gönderiyorsunuz. Bu bir bütçe sorunu değil, bir hız ayarı sorunudur - bunu geri çekilme ile doğru şekilde nasıl ele alacağınız için hız sınırı rehberimize bakın.

Bunu düzeltmenin beş yolu

  1. Agresif bir şekilde önbelleğe alın. Kota, kullanıcıya yönelik istek başına değil, API çağrısı başına ücretlendirilir - aynı videonun altyazılarını tekrar tekrar yeniden alıyorsanız, dakikadan dakikaya değişmeyen veriler için API'yi tekrar çağırmak yerine sonucu (basit bir bellek içi TTL önbelleği bile) önbelleğe alın.
  2. Doğrudan bir ID araması işe yaradığında search.list'ten kaçının. Zaten bir video, kanal veya çalma listesi ID'niz varsa, karşılık gelen .list çağrısı bir aramadan 100 kat daha ucuzdur.
  3. ID aramalarını toplu yapın. videos.list, tek bir ID ile aynı 1 birimlik maliyet karşılığında çağrı başına 50'ye kadar virgülle ayrılmış ID kabul eder - 50 videoyu toplu yerine tek tek almak, hiçbir sebep olmadan 50 kat daha pahalıdır.
  4. Bir kota artışı isteyin, gerçek üretim kullanımınız buna gerekçe olduğunda, Cloud Console'un kota sayfasından bağlantı verilen YouTube API Services Denetimi ve Kota Uzatma formu üzerinden. Anında onay değil, manuel bir inceleme bekleyin.
  5. Kendi YouTube kotanız üzerinden çalışmayan bir transkript API'si kullanın. GetYouTubeTranscript'in API'si, captions.download'u sizin anahtarınızla proxy'lemek yerine transkriptleri kendi altyapısına karşı alır, bu yüzden yönetilecek 10.000 birimlik bir günlük tavan yoktur - yalnızca planın kendi istek hızı sınırı vardır.

Örnek: YouTube'un kotasına dokunmadan bir transkript alma

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"])

Bu, Google Cloud projenizin YouTube Data API kotasına karşı birim değil, GetYouTubeTranscript planınıza karşı 1 kredi harcar. Panelden kart gerekmeden 100 ücretsiz kredi alın veya tam API dokümanlarına bakın.

Geçici çözümler hakkında bir not

IP'leri döndürmek, birçok Google Cloud projesi başlatmak veya kotadan kaçınmak için doğrudan YouTube sayfalarını kazımak, gerçek risk taşır - ilk ikisi YouTube API Hizmet Şartlarını ihlal etme riski taşır ve resmi olmayan kazıma, düzen değişikliklerine karşı kırılgandır. Adanmış bir transkript API'si, bu operasyonel riski kendinizin taşıması yerine sizin adınıza üstlenir.

YouTube API kotası SSS

Q01

"The request cannot be completed because you have exceeded your quota" ne anlama gelir?

Google Cloud projenizin geçerli gün için tahsis edilen YouTube Data API v3 kota birimlerini tükettiği anlamına gelir. Google kotayı gece yarısı Pasifik saatinde sıfırlar ve varsayılan ücretsiz tahsis, proje başına (API anahtarı başına değil) takip edilen günde 10.000 birimdir.

Q02

Bir transkript almak gerçekte ne kadar kota tüketir?

YouTube Data API'sinin kendisinin doğrudan bir "transkript al" uç noktası yok - captions.list çağrısı, yalnızca mevcut altyazı parçalarını listelemek için 50 birime mal olur ve captions.download, (yalnızca bir API anahtarı değil) OAuth gerektirir ve 200 birime mal olur. Genellikle önce videoları bulmak için kullanılan bir search.list çağrısı tek başına 100 birime mal olur - bu yüzden birkaç arama artı altyazı araması, 10.000 birimlik bir günlük bütçeyi hızla tüketebilir.

Q03

quotaExceeded ile rateLimitExceeded arasındaki fark nedir?

quotaExceeded (hata gövdesinde dailyLimitExceeded nedeni olarak görünür), tam günlük birim tahsisinizi kullandığınız ve gece yarısı Pasifik sıfırlamasını beklemeniz gerektiği anlamına gelir. rateLimitExceeded, günlük toplamınızdan bağımsız olarak kısa bir pencerede çok hızlı istek gönderdiğiniz anlamına gelir - ayrıntılı fark için hız sınırı rehberimize bakın.

Q04

Daha fazla kota almak için birden çok API anahtarı kullanabilir miyim?

Hayır - kota, API anahtarı başına değil, Google Cloud projesi başına takip edilir. Aynı projeden üretilen birden çok anahtar, aynı 10.000 birimlik günlük havuzdan çeker. Kotayı çoğaltmak için ayrı projeler oluşturmak teknik olarak mümkündür ancak kota sınırlarını atlatmayı yasaklayan YouTube API Hizmet Şartlarını ihlal etme riski taşır.

Q05

Google'dan sadece bir kota artışı isteyebilir miyim?

Evet, Cloud Console'un kota sayfasından bağlantı verilen YouTube API Services Denetimi ve Kota Uzatma formu üzerinden, ancak onay garanti veya anında değildir - gerçek kullanım ayrıntılarıyla üretim kullanımını gerekçelendirmeyi gerektirir ve Google istekleri manuel olarak inceler. Daha fazla kota için sadece ödeme yapabileceğiniz kendi kendine hizmet bir yol yoktur.

Q06

Ücretsiz 10.000 birimlik kotanın bir maliyeti var mı?

Hayır - bu, YouTube Data API v3'ü etkinleştiren her Google Cloud projesine verilen varsayılan ücretsiz tahsistir. Kullanmak için bağlı bir faturalama hesabına ihtiyacınız yok, ancak Google bir artış isterken faturalamayı etkinleştirmenizi isteyebilir.

Q07

GetYouTubeTranscript'in API'si kendi YouTube API kotamı kullanıyor mu?

Hayır. YouTube'un Data API'sini sizin anahtarınızla proxy'lemiyor - transkript çıkarma kendi altyapımıza karşı çalışır, bu yüzden sizin tarafınızda yönetilecek bir captions.list/download kotası yoktur. Yalnızca kendi yayınlanmış hız sınırlarımızla (ücretsizde dakikada 60 istek, yıllık planda dakikada 300 isteğe kadar) sınırlısınız.

İlgili