Reddit Arşiv API Belgeleme ve Gelişmiş Filtre Kullanımı

Bağımsız subreddit arşivi için gelişmiş arama, filtreleme ve veri yapısı analizi. API uç noktaları, hata kodları ve veri sınırlamaları hakkında detaylı dokümantasyon.

API anahtarı al

Kimlik Doğrulama ve İstek Hataları

Veri çekme istekleri Authorization: Bearer YOUR_API_KEY veya X-API-Key: YOUR_API_KEY başlıklarından biriyle doğrulanır. İkisi de desteklenir. Eksik veya geçersiz anahtar HTTP 401 verir. Bu anahtarın geçerliliği, hesap panelinin giriş oturumunun süresiyle aynı şey değildir. Anahtar ve bakiye subredditapi.com alan adına aittir; diğer markalarda kullanılamaz. /v1/status herkese açıktır, anahtar gerektirmez ve ücretlendirilmez.

HTTP 400 geçersiz parametre veya hatalı istek anlamına gelir, sunucu kesintisini belirtmez. HTTP 402 yetersiz bakiyedir; bu reddedilen istek kredi düşürmez veya bekleyen ücret bırakmaz. HTTP 429 hız sınırıdır, bekleyip tekrar deneyin. Geçerli bir anahtar tek başına başarı garantisi değildir. Parametreleri, bakiyeyi ve yanıtı birlikte inceleyin; arşivde belirli kayıtların bulunduğunu varsaymayın.

Başarılı veri çekme istekleri boş sonuçta da bir kredi tüketir. Geçersiz istekler ücretlendirilmez ve kaynak sistemde başarısız işlem için ayrılan kredi iade edilir. İstemcinin bağlantısı kesildiğinde sunucu başarılı olmuş olabilir. Bu nedenle başarılı bir tekrar yeni kredi tüketir. Denemelerin koşullarını ve gerçekten alınan yanıtları yerel olarak kaydetmek, araştırma verisi ile faturalandırma kararlarını ayrı incelemenize yardımcı olur.

Arama Yolları ve Topluluk Keşfi

GET /v1/search metin araması yapar; GET /v1/posts ve GET /v1/comments ilgili kayıt türlerini getirir. Desteklenen filtreler q, subreddit, author, kind, from, to, min_score, limit ve page olarak yazılır. kind için post veya comment kullanın. from ve to tarihleri UTC takviminde YYYY-MM-DD biçimindedir, to günü dahildir. Topluluk karşılaştırması için her topluluğu ayrı bir istekte belirtin.

GET /v1/subreddits, topluluk adlarını prefix ile arar ve limit destekler. Bu, topluluk içeriğinde önek araması değildir; topluluk sayımları küresel olarak kesin olmayabilir. GET /v1/item tek bir bilinen kayıt için id gerektirir. /v1/posts ve /v1/comments için id kullanılmaz. Yanıtta parent_id veya link_id bulunabilse de bunlar sorgu filtreleri değildir; eksiksiz konuşma ağacı sunulmaz.

İstek başına en fazla 100 kayıt ve sorgu başına en fazla 100 sayfa sınırı vardır. Sayfalama ilişkisinde eq kesin toplam, gte alt sınır, unknown bilinmeyen toplam anlamına gelir; toplam null olabilir. Kesin toplam dahi istemcinin bütün eşleşmeleri aldığına kanıt değildir. İki örneğin büyüklüğü farklıysa bunu yerel karşılaştırma notlarına yazın; sayfa sınırını eksiksiz dışa aktarma vaadi olarak yorumlamayın.

Veri Yapısı, Filtreler ve Performans Sınırlamaları

API, karmaşık hiyerarşik ağaçlar yerine düz (flat) kayıt yapıları döndürür. İstemciler, parent_id ve link_id alanlarını yerel olarak gruplayabilir ancak bu bir tamamlama garantisi değildir. Arşiv belgeleri kronolojik sırada değil, içsel belge sırasına göre sıralanır. Bu durum, veri analizi yaparken dikkate alınması gereken önemli bir ayrıntıdır. Veri bütünlüğü, sunucunun iç işleyişine bağlıdır.

min_score yalnızca filtreler, puana göre sıralamaz. Arşiv belge sırası zaman, ilgililik veya puan sırası değildir. Filtrelenmiş örnekler üzerinden yerel karşılaştırma yapılabilir, fakat aynı tarih aralığı veya eşik iki topluluğun kapsamını eşitlemez. Örnekleri ve parametreleri saklayın; gelecekteki sorguların aynı yanıtı vereceğini varsaymayın. /v1/status arama altyapısını, kayıt bulunabilirliğini veya topluluk kapsamını kontrol etmez.

Hız sınırı aşımı durumunda sunucu 429 hatası döndürür. Bu, istemcinin çok fazla istek yaptığını ve beklemesi gerektiğini gösterir. Arşiv, resmi Reddit veritabanı değildir ve canlı verileri içermez. Sadece geçmiş kayıtlar mevcuttur. API, araştırma ve analiz amaçlı gelişmiş veri yapıları sunar. Bu sayede kullanıcılar subreddit tartışmalarını derinlemesine inceleyebilir ve kalıpları analiz edebilir.

API yolları

YöntemYolParametreler
GET/v1/searchq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/postsq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/commentsq, subreddit, author, kind, from, to, min_score, limit, page
GET/v1/itemid
GET/v1/subredditsprefix
GET/v1/status—

Sorgu parametreleri

ParametreDeğer / tür / aralık
qtext
subredditkeyword
authorkeyword
kindpost | comment
fromISO date
toISO date
min_scoreinteger
limit1–100
page1–100
iditem ID
prefixsubreddit prefix