YouTube API Anahtarı (YouTube Data API v3) Nasıl Alınır ve İlk İsteğinizi Nasıl Yaparsınız

YouTube Data API v3 için bir YouTube API anahtarı edinin: API'yi etkinleştirin, anahtarı oluşturun ve kısıtlayın, ardından curl, Python ve Apidog ile ilk isteğinizi gönderin.

INEZA Felin-Michel

INEZA Felin-Michel

18 September 2026

YouTube API Anahtarı (YouTube Data API v3) Nasıl Alınır ve İlk İsteğinizi Nasıl Yaparsınız

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Bir YouTube API anahtarı, kodunuzun herkese açık YouTube verilerini (video ayrıntıları, kanal istatistikleri, arama sonuçları, oynatma listesi içerikleri) okumasını sağlayan kimlik bilgisidir. Google'ın belgeleri bunu açıkça ifade eder: "OAuth 2.0 belirteci sağlamayan bir istek, bir API anahtarı göndermelidir. Anahtar, projenizi tanımlar ve API erişimi, kota ve raporlar sağlar." Anahtar yoksa, veri de yok.

Bu rehber, sizi boş bir Google Cloud projesinden yaklaşık on beş dakika içinde çalışan bir isteğe götürecektir. YouTube Data API v3'ü etkinleştirecek, bir anahtar oluşturacak, onu kilitleyecek, API'yi curl ve Python'dan çağıracak, ardından anahtarı Apidog'da depolayacak ve çağrıyı tekrarlanabilir bir test olarak kaydedeceksiniz. Önce genel bir bakış isterseniz, YouTube Data API genel bakışımız API'nin neler sunduğunu kapsar; bu gönderi ise pratik kısımdır.

Düğme

Başlamadan önce ihtiyacınız olanlar

Adım 1: Bir Google Cloud projesi oluşturun

Google Cloud Console'u açın ve oturum açın. Sayfanın üst kısmındaki proje seçiciyi kullanarak yeni bir proje oluşturun, örneğin youtube-integration. Daha sonra göreceğiniz her API anahtarı, kota kovası ve kullanım raporu bu projeye özel olacaktır, bu nedenle ilgisiz araçlar arasında bir anahtarı paylaşmak yerine her uygulama için bir proje bulundurun. Uygulamanın zaten bir projesi varsa, onu kullanın.

Adım 2: YouTube Data API v3'ü etkinleştirin

API'ler yeni bir projede varsayılan olarak kapalıdır. Konsolda, API'ler ve Hizmetler'e gidin, API Kitaplığı'nı açın, "YouTube Data API v3" araması yapın ve etkinleştirin. Google'ın başlangıç rehberi aynı kontrolü diğer yönden açıklar: Etkin API'ler sayfasını ziyaret edin ve listelenmiyorsa API'yi etkinleştirin.

Bu adımı atlarsanız, ilk isteğiniz 403 hatasıyla başarısız olur ve API'nin projede kullanılmadığını veya devre dışı bırakıldığını belirtir. Yepyeni bir anahtarın "çalışmamasının" en yaygın nedenidir.

Adım 3: API anahtarını oluşturun

API'ler ve Hizmetler'e, ardından Kimlik Bilgileri'ne gidin. Kimlik bilgileri oluştur'a tıklayın ve API anahtarını seçin. Konsol anahtarı hemen oluşturur ve bir iletişim kutusunda gösterir; güvenli bir yere kopyalayın.

Anahtarı bir parola gibi değerlendirin. Bir Git deposuna, bir Slack konuşmasına veya istemci tarafı bir JavaScript paketine yapıştırmayın. Eğer bir commit'e zaten sızmışsa, açıkta kalan API anahtarlarını bulma ve düzeltme rehberimiz temizliği kapsar.

Adım 4: Anahtarı kısıtlayın

Google'ın kendi belgeleri "Kısıtlanmamış API anahtarları güvensizdir" der. Oluşturduktan hemen sonra, Anahtarı kısıtla'ya tıklayın. Cloud API anahtarları rehberinde belgelenen iki bağımsız kontrol elde edersiniz:

Kaydedin ve test etmeden önce değişikliğin yürürlüğe girmesi için birkaç dakika bekleyin. Aynı rehberden iki alışkanlık daha: güvenliği ihlal edilmiş bir anahtarın vereceği zararı sınırlamak için anahtarları periyodik olarak döndürün ve her arayanın yeni anahtara geçmesinden sonra eski anahtarları silin. Bir sonraki adım için bir uyarı: IP'ye göre sunucunuza kısıtlama getirirseniz, dizüstü bilgisayarınızdan curl engellenir, bu yüzden izin verilen ana bilgisayardan test edin veya ayrı bir geliştirme anahtarı oluşturun.

Adım 5: curl ve Python ile ilk isteğinizi yapın

Her uç nokta https://www.googleapis.com/youtube/v3/ adresinden başlar. Anahtarı, Google'ın kendi örneklerinde yaptığı gibi key sorgu parametresi olarak veya URL'lerden ve erişim günlüklerinden uzak tutan x-goog-api-key başlığında geçirin. Her ikisi de canlı API'de çalışır.

En ucuz kullanışlı çağrı olan videos.list ile başlayın: bir veya daha fazla video kimliği için ayrıntıları döndürür ve 1 kota birimi maliyeti vardır. Aşağıdaki kimlik, Google'ın belgelerinde kullandığı kimliktir.

export YOUTUBE_API_KEY="AIza...your-key..."

curl -s "https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&id=7lCDEYXw3mM" \
  -H "x-goog-api-key: $YOUTUBE_API_KEY"

Kısaltılmış bir yanıt şöyle görünür:

{
  "kind": "youtube#videoListResponse",
  "items": [
    {
      "id": "7lCDEYXw3mM",
      "snippet": { "title": "...", "channelTitle": "...", "publishedAt": "..." },
      "statistics": { "viewCount": "...", "likeCount": "..." }
    }
  ]
}

part parametresi zorunludur ve hangi bölümlerin geri döneceğini kontrol eder; snippet, statistics, contentDetails ve status en çok kullanacaklarınızdır.

Şimdi çoğu kişinin aradığı bir arama. requests ile Python'da:

import os
import requests

API_KEY = os.environ["YOUTUBE_API_KEY"]
BASE = "https://www.googleapis.com/youtube/v3"

resp = requests.get(
    f"{BASE}/search",
    params={"part": "snippet", "q": "api testing", "type": "video", "maxResults": 10},
    headers={"x-goog-api-key": API_KEY},
    timeout=10,
)

if resp.status_code != 200:
    err = resp.json()["error"]
    raise SystemExit(f"{err['code']} {err['errors'][0]['reason']}: {err['message']}")

for item in resp.json()["items"]:
    print(item["id"]["videoId"], item["snippet"]["title"])

search.list için part mutlaka snippet olmalıdır, maxResults varsayılan olarak 5'tir ve 0 ila 50 arasında değer kabul eder, type ise varsayılan olarak video,channel,playlist'tir, bu nedenle yalnızca video istiyorsanız onu video olarak ayarlayın. Arama sonuçları, üst düzeyde değil, id içinde videoId taşır, bu yüzden yukarıdaki döngü item["id"]["videoId"]'ı okur.

Adım 6: Anahtarı depolayın ve isteği Apidog'da çalıştırın

Bir kabuk değişkeni tek bir komut dosyası için çalışır. Bir ekip için çalışmaz ve kaydedilmiş, yeniden çalıştırılabilir bir kontrol sağlamaz. Anahtarın bulutta tutulmadığı Apidog'daki aynı istek şöyle:

  1. Bir ortam oluşturun. İki değişkenli YouTube adında bir ortam ekleyin: base_url değerini https://www.googleapis.com/youtube/v3 olarak, ve youtube_api_key. Anahtar için, paylaşılan değeri bir yer tutucu olarak bırakın ve gerçek anahtarı yerel değer alanına yapıştırın. Yerel değerler istemcinizin önbelleğinde kalır ve takım arkadaşlarıyla asla senkronize olmaz; tam kurulum Apidog'daki ortamlar ve gizli değişkenler rehberimizde bulunmaktadır.
  2. İsteği oluşturun. Yeni istek, GET {{base_url}}/videos, sorgu parametreleri part=snippet,statistics ve id=7lCDEYXw3mM, ve {{youtube_api_key}} olarak ayarlanmış bir x-goog-api-key başlığı. YouTube ortamını seçin ve gönderin. Curl çağrısı ile aynı JSON'u görmelisiniz.
  3. Bunu bir teste dönüştürün. İsteğin işlem sonrası işleyicilerinde, iddialar ekleyin: durum 200'e eşit ve $.items[0].id 7lCDEYXw3mM'ye eşit. İsteği kaydedin ve bir test senaryosuna ekleyin. Kontrol artık isteğe bağlı olarak, programlanmış bir şekilde veya Apidog CLI aracılığıyla CI'da çalışır; burada --env-var "youtube_api_key=$YOUTUBE_API_KEY" anahtarı depolamak yerine çalışma zamanında enjekte eder.

Anahtarın döndürüldüğü veya bir kısıtlamanın değiştiği ilk anda karşılığını alırsınız: tek bir senaryoyu yeniden çalıştırın ve her YouTube çağrısının hala çalışıp çalışmadığını saniyeler içinde öğrenirsiniz. Takip etmek için Apidog'u indirin; dört kişiye kadar olan ekipler için ücretsizdir.

Kota ve sınırlar

YouTube Data API sizi dolar olarak faturalandırmaz; kota birimleri cinsinden faturalandırır ve sayılar Google'ın kota hesaplayıcı sayfasından gelir. API'yi etkinleştiren her proje şu varsayılan tahsisi alır:

Kova Günlük Varsayılan Çağrı Başına Maliyet
search.list 100 çağrı 1 birim (kendi kovası)
videos.insert 100 çağrı 1 birim (kendi kovası)
Diğer tüm uç noktalar birleşik 10.000 birim değişir, aşağıya bakın

Paylaşılan 10.000 birimlik havuzda, videos.list, channels.list, playlistItems.list ve commentThreads.list gibi liste yöntemleri her biri 1 birim maliyetindedir. Yazma işlemleri daha pahalıdır: videos.update ve videos.delete 50 birim, captions.insert ise 400 birimdir. Aynı sayfadaki dört kural, bunu nasıl tasarlamanız gerektiğini şekillendirir:

Eski rehberler, 10.000'lik havuzdan bir arama için 100 birim fiyat biçiyordu. Mevcut sayfa, search.list'i kendi kovasına koyuyor, bu nedenle tavan hala günde 100 arama, ancak aramalar artık diğer çağrılarınızın kotasını tüketmiyor.

Bu yeterli değilse, kota ve uyumluluk denetimleri sayfası sizi YouTube API Hizmetleri Denetim ve Kota Uzatma Formu'na yönlendirir. Bunu göndermeden önce yanıtları önbelleğe alın, yalnızca ihtiyacınız olan part değerlerini isteyin ve kimlikleri tek bir videos.list çağrısında gruplandırın (id parametresi virgülle ayrılmış bir liste alır). Kullanım, Cloud Console'daki Kotalar sayfasında görünür.

Yaygın hatalar ve nasıl düzeltileceği

Google'ın hata referansı, API'nin kendi neden kodlarını listeler. Aşağıdaki ilk iki satır, kötü bir anahtarla ve anahtarsız olarak canlı API'ye gerçek istekler göndermekten kaynaklanmaktadır.

HTTP Neden Göreceğiniz mesaj Düzeltme
400 badRequest (API_KEY_INVALID) "API anahtarı geçerli değil. Lütfen geçerli bir API anahtarı geçirin." Yazım hatası, silinmiş anahtar veya YouTube Data API v3'ü dışlayan bir API kısıtlaması. Anahtarı yeniden oluşturun veya düzenleyin.
403 forbidden "Yöntem kayıtlı olmayan arayanlara izin vermiyor..." Anahtar gönderilmedi. key parametresini veya x-goog-api-key başlığını ekleyin.
403 quotaExceeded "Kotanızı aştığınız için istek tamamlanamıyor." PT gece yarısı sıfırlanmasını bekleyin, gereksiz çağrıları azaltın veya bir uzatma isteyin.
400 missingRequiredParameter "İstek gerekli bir parametreyi eksik." Neredeyse her zaman eksik bir part.
401 authorizationRequired "İstek 'mine' parametresini kullanıyor ancak düzgün yetkilendirilmedi." Bu çağrı bir anahtar değil, bir OAuth 2.0 belirteci gerektiriyor. SSS'ye bakın.

Uygulamadan bir tane daha: eğer bir uygulama kısıtlaması arayanla eşleşmiyorsa, engellenen yönlendireni veya IP'yi belirten bir 403 hatası alırsınız. Kısıtlamayı düzeltin veya izin verilen ana bilgisayardan çağrı yapın. Ve eski forum konularının geçersiz anahtar hatasını keyInvalid olarak adlandırdığını unutmayın; canlı API, API_KEY_INVALID detayıyla badRequest döndürür, bu nedenle eski neden dizesine değil, mesaja veya detaya göre eşleştirme yapın.

SSS

YouTube API anahtarı ücretsiz mi?

Evet. Anahtar oluşturmak hiçbir şeye mal olmaz ve belgeler API'yi para değil, kota birimleri cinsinden fiyatlandırır. Yukarıdaki varsayılan tahsis, hiçbir şey istemeden elde ettiğiniz şeydir.

API anahtarı yerine OAuth'a ne zaman ihtiyacım olur?

Bir API anahtarı projenizi tanımlar ve herkese açık verilerin kilidini açar. Özel kullanıcı verilerine dokunduğunuz veya herhangi bir şeyi eklediğiniz, güncellediğiniz veya sildiğiniz anda, Google bu verilerin sahibi olan kullanıcıdan bir OAuth 2.0 belirteci ister. Bir videoyu derecelendirmek, kendi aboneliklerinizi listelemek veya mine=true filtresini kullanmak gibi tüm durumlar OAuth tarafına düşer. API anahtarları ve taşıyıcı belirteçlerinin karşılaştırmamız, iki kimlik bilgisinin neden farklı soruları yanıtladığını açıklar.

Bir yapay zeka ajanı YouTube API anahtarımı kullanabilir mi?

Evet, ajanın anahtarın kısıtlamalarının izin verdiği yerde çalıştığı sürece. Bir YouTube MCP sunucusu, video verilerini bir kodlama asistanına vermenin bir yoludur; ona Data API'ye ve üzerinde çalıştığı makineye kısıtlanmış bir anahtar verin ve bunu komut isteminin kendisinden uzak tutun.

Anahtar sızarsa ne yapmalıyım?

Kimlik Bilgileri sayfasında silin ve yerine yenisini oluşturun. Ardından kaynağı düzeltin: anahtarı Apidog'da yerel bir değere veya bir sır deposuna taşıyın ve eski anahtarın hala geçmişte durmadığından emin olmak için depoyu tarayın.

Sonraki adım

Artık bir projeniz, etkinleştirilmiş bir API'niz, kısıtlanmış bir anahtarınız ve curl, Python ve Apidog'dan çalışan bir isteğiniz var. Kaydedilmiş senaryoyu CI'ya bağlayın ve ne zaman optimize etmeniz gerektiğini Kotalar sayfasının size söylemesine izin verin.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin