Bloga geri dön

2026'da Reddit Verilerini Toplama: API Sınırları, Kapalı .json ve Proxy'nin Rolü

Mayıs 2026'da Reddit, kimlik doğrulaması yapılmamış .json'u kapattı ve robots.txt, herkes için Disallow: / veriyor. Resmi Data API'nin gerçek limitlerini (100 QPM, 1000 çağrı için $0.24), sürdürülebilir bir boru hattının adım adım şemasını, 1000 öğelik bir listeleme tavanını ve bu şemada proxy'nin gerçekten hangi görevleri çözdüğünü, hangilerinin ise çözmediğini inceliyoruz.

📅28 Temmuz 2026
2026'da Reddit Verilerini Toplama: API Sınırları, Kapalı .json ve Proxy'nin Rolü
```html

Mayıs 2026'da Reddit, .json uç noktalarına kimlik doğrulaması yapılmamış erişimi kapattı — yıllardır birçok script, gösterge paneli ve yan proje tarafından kullanılan "herhangi bir URL'ye .json ekle" numarası. 28 Temmuz 2026'da yapılan kontrol: https://www.reddit.com/r/webscraping/top.json?t=week adresine normal bir tarayıcı User-Agent ile yapılan istek 403 Yasaklı yanıtını döndürüyor. Aynı zamanda Reddit'in robots.txt dosyası sadece iki anlamlı satır içeriyor: User-agent: * ve Disallow: / — Kamu İçerik Politikası'na atıfta bulunarak.

Bu, "nasıl aşılır" değil, artık Reddit veri toplama hattının nasıl inşa edileceğini değiştiriyor. Aşağıda 2026 için çalışan bir şema var: gerçekten erişilebilir olan, hangi limitlerin olduğu, nerede proxy gerektiği ve nerede kurtaramayacağı.

Ne tam olarak bozuldu: kısa bir zaman çizelgesi

  • Haziran 2023 — Reddit, yüksek yük altındaki uygulamalar için 1000 API çağrısı başına 0,24 $ ücretli bir tarifeyi devreye soktu. Sonuç: Apollo'nun kapatılması (geliştirici erişim maliyetini yıllık yaklaşık 20 milyon $ olarak değerlendiriyordu), çoğu üçüncü taraf istemcisinin ayrılması ve Pushshift'in durması — gönderi ve yorumların kamuya açık arşivi, akademik araştırmaların yarısını destekliyordu.
  • Mayıs 2026 — kimlik doğrulaması yapılmamış .json'nin kullanımdan kaldırılması. "Sadece URL'leri çekmek" için kullanılan araçlar çalışmaz hale geldi; trafik, oturum kontrolü ile Cloudflare korumasından geçmeye başladı.
  • Ekim 2025 — günümüze kadar — Reddit'in Perplexity AI, Oxylabs UAB, AWMProxy ve SerpApi'ye karşı açtığı dava (Güney New York Bölgesi, yargıç Engelmaier). Reddit, davalıları, DMCA'nın anti-aşma hükümlerine atıfta bulunarak, içeriğini Google sonuçları aracılığıyla endüstriyel ölçekte çıkarmak ve verileri yeniden satmakla suçluyor. 1. değiştirilmiş dava açıldı; Mart 2026 itibarıyla dava, reddetme talebi aşamasında. Davalılar ihlalleri reddediyor: Perplexity, bunun kamu verilerini kapatma girişimi olduğunu, SerpApi ve Oxylabs ise yasal çerçevede kamu webine erişim sağladıklarını belirtiyor.

Üçüncü maddeden pratik bir çıkarım: Reddit'ten veri toplamak, resmi API'yi aşmanın değil, hukuki bir risk alanıdır ve ticari bir proje için hata maliyeti yasaklarla değil, davalarla ölçülür. 2026'da mahkemelerin veri çıkarımını nasıl yorumladığı hakkında daha fazla bilgi için Google ve SerpApi davası kararını inceledik.

Resmi Veri API'si: 2026 için gerçek limitler

Bu, hukuki iddialar yaratmayan tek yoldur. Proje tasarlamadan önce bilmeniz gereken rakamlar:

  • OAuth istemcisi için dakikada 100 istek. Pencere yaklaşık 10 dakika boyunca ortalama alınır, yani kısa patlamalar kabul edilebilir.
  • OAuth olmadan dakikada 10 istek — bu, hata ayıklama dışında hiçbir şey için yeterli değildir.
  • Limit, uygulama anahtarı başına hesaplanır, son kullanıcı başına değil. Tek bir token üzerinde beş akış, beş kat kapasite sağlamaz — sadece bir bütçeyi beş kat daha hızlı tüketir.
  • Ücretsiz tarifeler kişisel projeleri, botları, moderatör araçlarını ve akademik araştırmaları kapsar. Para sayacı yoktur, sadece frekansa göre bir tavan vardır.
  • Ticari kullanım sözleşme ve manuel onay gerektirir; tarifesi — 1000 çağrı başına 0,24 $. Sektör platformlarına göre, ticari bir sözleşme için giriş eşiği yıllık yaklaşık 12.000 $'dan başlar.
  • API verileri üzerinde ML modellerinin eğitimi kesinlikle yasaktır Veri API'sinin şartlarıyla. Eğitim lisansları ayrı özel sözleşmelerdir (Reddit'in Google ile yaptığı anlaşma basında yıllık yaklaşık 60 milyon $ olarak değerlendirilmiştir).

Her zaman ayrıştırılması gereken başlıklar

Reddit, her yanıt için üç başlık döndürür: X-Ratelimit-Used, X-Ratelimit-Remaining ve X-Ratelimit-Reset. Bu, bütçeniz hakkında güvenilir bir bilgi kaynağıdır — kodda bir sabit değil ve "dakikada 60 istek" sayısına sahip eski bir wiki değil (bu, 2023'te güncelliğini yitirmiştir).

User-Agent gereksinimleri

Reddit, platform:app_id:version (by /u/username) formatında benzersiz bir tanımlayıcı dize bekler. Evrensel ve boş User-Agent'lar sıkı bir şekilde frekansa göre kesilir — bu, limitler beklenenden daha önce bitiyorsa kontrol edilmesi gereken ilk şeydir.

Aşama aşama: düşmeyen bir hat nasıl inşa edilir

  1. Reddit ayarlarında script-app kaydedin ve client_id/client_secret alın. Sadece okuma yükü için bu, en basit uygulama türüdür.
  2. Yukarıdaki formata uygun doğru User-Agent'ı belirleyin. Başka birinin öğreticisinden dize kopyalamayın — app_id ve kullanıcı adı sizin olmalıdır.
  3. Her yanıt üzerinde X-Ratelimit-Remaining'ı okuyun, sadece hata durumunda değil. Kalan istek sayısı yaklaşık 20'ye düştüğünde, eşit bir tempo ile geçin: çağrı gecikmesi = sıfırlama penceresine kalan saniye ÷ kalan istekler. Böylece, quota'yı pencereye yayarsınız, duvara çarpmaktansa.
  4. 429'u doğru bir şekilde işleyin. İlk bekleme süresini Retry-After başlığından alın. Sonrasında — jitter ile üstel geri çekilme: wait = 2^attempt + random(). Jitter zorunludur: olmadan, paralel istemciler istekleri senkronize bir şekilde tekrarlar ve ikinci bir başarısızlık dalgası yaratır.
  5. TTL ile okumaları önbelleğe alın. Aynı listeleme için tekrar istek yapmak, izleme projelerinde kota sızıntısının en yaygın nedenidir.
  6. Akışlar yerine token döngüsü ile ölçeklenin. Her OAuth token bağımsız bir sayaç taşır; farklı hesaplarda birkaç uygulama ile round-robin dağıtımı (Python'da itertools.cycle) kapasiteyi doğrusal olarak artırır. Önemli: ticari yük için bu, Reddit ile bir sözleşmeyi değiştirmez — bu, adil limitlere uyum sağlamak için bir yöntemdir, aşmak için değil.
  7. Listeleme sınırını aşmak için bir yol planlayın. Reddit, her listeleme için yaklaşık 1000 öğe döndürür (sayfa başına 100, işaretçi after). Daha eski içerik standart uç noktalar aracılığıyla erişilemez. Standart çözüm, "sınırı aşmak" değil, zaman dilimlerine göre örneklemeyi kesmek ve birkaç dar istek yapmaktır.
  8. Tarihsel veriler için API yerine indeks arayın. Pushshift'in kapanmasından sonra, bu nişi PullPush gibi dış indeksler (ücretsiz, ancak SLA yok) ve kendi indeksine sahip ticari arama API'leri dolduruyor. Akademik çalışmalar için Reddit'in ayrı bir Reddit for Researchers programı vardır.

Geç öğrenilen tuzaklar

PRAW akışı yavaşlatır, ancak her şeyden korumaz. PRAW'ın yerleşik sınırlayıcısı başlıkları okur ve kendisi duraklamalar koyar — bu, tek akışlı bir script için harika çalışır. Mevcut durumu reddit.auth.limits üzerinden görebilirsiniz. Bu, iki durumda bozulur: ortak kimlik bilgileri ile çoklu akışta (örnekler birbirinin tüketimini göremez) ve async kodda, burada bloklayıcı time.sleep event loop'u askıya alır.

AI ajanları kota tüketimini fark edilmeden artırır. Bir ajanın bir adım düşünmesi kolayca 10-15 araç çağrısına dönüşebilir. On paralel oturum, 100-150 eşzamanlı istektir, yani dakikalık bütçenin birkaç saniyede tükenmesi demektir. Eğer Reddit üzerinde bir ajan inşa ediyorsanız, sınırlayıcı havuz seviyesinde olmalıdır, ayrı bir çağrı değil.

Geri çekilme olmadan anket. "Her N saniyede" güncellemeleri kontrol etmek, üstel bir bekleme süresi olmadan — genel token'dan sonra 429'un ikinci en yaygın nedenidir.

Burada gerçekten nerede proxy gerekiyor, nerede yok

Açıkça söyleyelim: proxy'ler resmi API'nizin limitini artırmaz. Kota uygulama anahtarına bağlıdır, çıkış IP'sine değil ve adres değiştirerek "çoğaltma" girişimi işe yaramaz ve şartlara aykırıdır. Proxy'lerin Reddit hattında gerçekten çözdüğü görevler farklıdır:

  • Coğrafi erişim ve bağlantı. Reddit, bazı ülkelerde erişilemez veya kısmen kısıtlıdır ve kurumsal ağlar onu sosyal medya olarak keser. İlgili bölgede kararlı bir çıkış noktası, altyapının erişilebilirliği ile ilgilidir, limitleri aşmakla değil. Sunucu görevleri için sabit bir IP genellikle yeterlidir veri merkezi proxy'leri.
  • Bölgesel dağıtım. Reddit, bazı içerikleri ve önerileri isteğin coğrafyasına göre döndürür; belirli bir ülkenin izleyicisinin ne gördüğünü analiz ediyorsanız, çıkışın tam olarak o ülkeden olması gerekir.
  • Altyapının dağıtılması. Birkaç bağımsız hizmet (toplama, izleme, analiz) aynı sunucuda yaşıyorsa, tek bir IP, tüm entegrasyonlar için ortak bir arıza noktası haline gelir.
  • Kendi hesaplarınızla çalışma. Moderasyon, topluluk yönetimi ve birkaç profilden meşru SMM etkinliği için "hesap ↔ sabit IP" bağlantısı temel hijyenidir. Burada rezidans proxy'leri ile sticky oturumlar uygundur.

Ancak proxy'lerin yapamayacağı şeyler: ticari toplama işlemini sözleşmeyi aşarak yasallaştırmaz, 1000 öğelik listeleme sınırını kaldırmaz ve Disallow: / ifadesini robots.txt'den kaldırmaz. Platform limitleriyle çalışma genel yaklaşımı için API'de hız sınırlaması ve proxy'lerin rolü üzerine incelemeye bakabilirsiniz.

Sonuç

Reddit, 2026'da artık "alınabilecek açık bir veri seti" olmaktan tamamen çıktı. Çalışan şema şöyle görünmektedir: resmi OAuth erişimi + başlıklarda dürüst bir sınırlayıcı + kurallar çerçevesinde token döngüsü + tarih için dış indeks. Bu şemada proxy'ler erişilebilirlik ve coğrafya ile ilgilidir, kota aşmakla değil — ve bu, onların öngörülebilir sonuçlar verdiği tek roldür.

Eğer projeniz ticari ise, Reddit ile sözleşme için bütçenizi önceden planlayın: Perplexity, Oxylabs ve SerpApi ile olan hukuki geçmiş, platformun verilerini korumak için yasal erişim maliyetinden çok daha fazla harcama yapmaya istekli olduğunu göstermektedir.

```