Reddit Search API

Arama sorguları için teknik başvuru

Reddit Search API için yollar, X-API-Key doğrulaması, tarih filtreleri, sayfalama ve 400, 401, 402, 429 hata kodlarına ilişkin teknik başvuru.

API anahtarı al

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

Yolları kullanım amacına göre seçin

API’nin temel adresi api.redditsearchapi.com üzerindedir. GET /v1/search genel arama, /v1/posts gönderiler ve /v1/comments yorumlar için kullanılır. Tek bir öğeyi kimliğiyle almak için /v1/item yoluna id eklenir. Gönderi ve yorum listeleri için id gerekmez. Bir topluluk adı başlangıcından keşif yapmak istediğinizde /v1/subreddits yolunun prefix parametresini kullanabilirsiniz.

Veri alma istekleri X-API-Key başlığında bu alan adında oluşturulmuş geçerli bir anahtar gerektirir. Hesap panelinin oturum çerezi, API anahtarının yerine geçmez. Uygulamanızın anahtarı kullanıcıya gösterilen arama metnine, paylaşılabilir bağlantılara veya herkese açık hata çıktısına eklememesi iyi bir uygulamadır. Yapılandırma sorunlarını araştırırken anahtarın kendisini kaydetmek yerine başlığın gönderilip gönderilmediğini kontrol edin.

GET /v1/status herkese açıktır ve kredi tüketmez. Bağımsız tarihsel arşiv hakkında statik bir açıklama döndürür; HTTP sunucusunun yanıt verdiğini gösterir. Arama altyapısını, kayıtların bulunabilirliğini veya veri kapsamını kontrol etmez. Uygulamanız bu yanıtı bağlantı kontrolü olarak kullanabilir, ancak arama sonuçlarının hazır olduğunu veya belirli bir sorgunun başarılı olacağını bundan çıkaramaz.

Filtreler, tarihler ve sayfalar

Desteklenen arama parametreleri q, subreddit, author, kind, from, to, min_score, limit ve page alanlarıdır. kind yalnızca post veya comment değerini kabul eder. from ve to tarihlerini UTC temelinde YYYY-MM-DD biçiminde gönderin; to belirtilen günü kapsar. Kullanıcının yerel tarih gösterimini API’nin beklediği biçimden ayırmak, arama ekranında sınırların anlaşılır kalmasını sağlar.

limit ve page değerleri 1 ile 100 arasındadır. Bir çağrı en fazla 100 kayıt içeren tek bir sayfa getirir; 100 sayfanın tamamı tek yanıtta dönmez. Sonraki sayfa için ayrı istek gerekir. Tarih veya topluluk bazında bölümlere ayırmak işinizi düzenleyebilir, ancak bu yöntem benzersiz kayıtlar, boşluksuz kapsam veya bütün eşleşmelerin alınması için bir kanıt değildir.

Sonuç toplamında eq kesin eşleşme sayısını, gte alt sınırı, unknown ise güvenilir toplamın bilinmediğini ifade eder; toplam null olabilir. Kesin sorgu toplamı bile arşivin Reddit’i eksiksiz kapsadığını göstermez. min_score sıralama yapmaz. İç _doc sırası zaman, alaka veya puan sırası değildir. Görsel arayüzde kullandığınız toplam etiketini bu ayrımlara uygun seçin.

Hatalar ve kayıt işleme

400 geçersiz isteği, 401 eksik veya geçersiz API anahtarını, 402 yetersiz krediyi, 429 ise istek hızı sınırını belirtir. 401 için gönderilen başlığı kontrol edin; 402 için bakiyeyi değerlendirin. 429 sonrasında beklemeli yeniden deneme kullanabilirsiniz. Aynı hatalı parametreleri değiştirmeden tekrar göndermek yerine sorunun nedenini ayırın ve yeniden denemelere bir üst sınır koyun.

Geçersiz istekler kredi düşürmez; üst hizmet hatalarında ayrılan kredi geri verilir. Başarılı boş yanıtlar ücretlidir. İstemci bağlantısı, sunucu isteği başarıyla tamamladıktan sonra koparsa istek yine ücretlenmiş olabilir. Başarılı her yeniden deneme ayrıca 1 kredi tüketir. Düz kayıtlarda parent_id veya link_id varsa yerel gruplama yapılabilir, fakat bu alanlarla sunucu tarafında sorgu filtresi desteklenmez.