İstek örneği
Python
import json
import urllib.request
request = urllib.request.Request('https://api.redditapistack.com/v1/search?q=asyncio&subreddit=learnpython&limit=3',
headers={"Authorization": "Bearer YOUR_API_KEY"})
with urllib.request.urlopen(request, timeout=30) as response:
payload = json.load(response)
print(payload)JavaScript
const response = await fetch("https://api.redditapistack.com/v1/search?q=asyncio&subreddit=learnpython&limit=3", {
headers: { Authorization: "Bearer YOUR_API_KEY" }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const payload = await response.json();
console.log(payload);Bağımsız Arşiv Yapısı ve Veri Erişimi
Reddit API Stack, resmî Reddit hizmeti olmayan ve Reddit ile bağlantısı bulunmayan bağımsız bir tarihsel arşiv API’sidir. Canlı veri akışı sağlamaz. Python ve JavaScript uygulamaları, arşivde bulunan kayıtları HTTP üzerinden alabilir. Kapsam, kalıcı erişim veya kayıtların değişmezliği garanti edilmediği için uygulamanızın beklentilerini gerçekten alınan veriye göre belirleyin.
OAuth akışı yerine API anahtarıyla veri isteklerini doğrularsınız. Python ve JavaScript uygulamalarınız aynı GET yollarını ve X-API-Key başlığını kullanabilir. Kimlik doğrulamayı, parametre oluşturmayı ve yanıt işlemeyi ayrı işlevlerde tutmak, iki dildeki davranışları karşılaştırmayı kolaylaştırabilir. Bu bir uygulama tasarımı önerisidir; kurulum süresi veya performans ölçümü değildir.
Arama metnini q ile, topluluğu subreddit ile, yazarı author ile daraltabilirsiniz. kind için post veya comment seçilir; tarih aralığı da kullanılabilir. Yanıtlar düz arşiv kayıtlarıdır ve özgün Reddit yanıt şemasının birebir kopyası olarak değerlendirilmemelidir. Görünümü kurmadan önce dönen alanları inceleyin; eksik alanları istemcinizde açıkça ele alın.
Fiyatlandırma Modeli ve Ödeme İşlemleri
Hizmet, abonelik modeli yerine tamamen kullanım başına ödemeye dayanır. Başarılı bir veri çekme işlemi için her istek bir kredi olarak değerlendirilir. Bu, özellikle yüksek hacimli veri analizi yapan uygulamalar için bütçeleme süreçlerini çok daha şeffaf ve kontrol edilebilir kılar. Maliyet, kullanılan veri miktarına değil, yapılan başarılı istek sayısına göre belirlenir.
Önce giriş yapıp fatura oluşturun. USDT için TRON TRC20, USDC için Ethereum ana ağı ERC20 desteklenir. Faturadaki alıcı adresini ve tam tutarı kullanın. Transferden sonra gerçek işlem hashini yapıştırıp doğrulama isteyin. Yalnızca gerçek ve onaylanmış transfer doğrulanınca kredi eklenir; onay veya bakiyeye işleme süresi garanti edilmez.
En düşük ücretli yükleme 50 ABD dolarıdır ve 50000 ücretli kredi sağlar. 1000 başarılı veri isteği 1 ABD dolarıdır; başarılı boş sonuç da 1 kredi tüketir. Satın alınan kredilerin süresi dolmaz ve abonelik yoktur. Ağ genelindeki kötüye kullanım kontrollerine uygun hesaplar, ödeme yapmadan kullanılabilecek 100 deneme kredisi alabilir.
API Endpoints ve Teknik Sınırlamalar
GET /v1/search genel arama, /v1/posts gönderi ve /v1/comments yorum listeleri için kullanılır. Tek kaydı kimliğiyle almak için /v1/item yoluna id eklenir. Topluluk adı başlangıçlarını /v1/subreddits ile prefix kullanarak araştırabilirsiniz. Her yolun amacına uygun parametreler seçin; bütün yolların aynı seçenekleri kabul ettiğini varsaymayın.
Bir istekte en fazla 100 kayıt, ayrı çağrılarla bir sorguda en fazla 100 sayfa alınabilir. Tüm sayfaları dolaşmak eksiksiz veri elde edildiğini kanıtlamaz. 401 eksik veya geçersiz anahtarı, 402 yetersiz krediyi, 429 hız sınırını gösterir. Hatanın türüne göre başlığı, bakiyeyi veya beklemeli yeniden deneme stratejisini değerlendirin.
Kayıtlar iç _doc sırasıyla gelir; bu, tarih, alaka veya puan sırası değildir. min_score yalnızca asgari puanı filtreler. Yerel sıralama yaparsanız bunun alınmış örneklemle sınırlı olduğunu belirtin. Ham yanıtları ve parametreleri birlikte saklayarak Python ile JavaScript tarafındaki dönüşümlerin aynı girdiye nasıl davrandığını karşılaştırabilirsiniz; yeniden sorgulama aynı sonucu garanti etmez.