Reddit API Stack

Integrasi Arsip Historis Reddit dengan Python dan JavaScript

Dapatkan kunci API

Memahami Dasar Antarmuka Arsip

Reddit API Stack adalah arsip historis independen, bukan layanan resmi atau data langsung Reddit. Tidak ada OAuth, publikasi, pemungutan suara, atau pesan pribadi. Rencanakan aplikasi untuk mengolah rekaman yang benar-benar diterima tanpa menganggap cakupan lengkap atau penyimpanan permanen. Simpan respons mentah jika analisis perlu diperiksa kembali; kueri yang sama tidak menjamin hasil identik.

Daftar dengan email dan kata sandi untuk melihat kunci sekali sebelum pembayaran. Kirim kunci dalam X-API-Key pada permintaan pengambilan. /v1/status terbuka tanpa kunci. Pengiriman email dan pengaturan ulang kata sandi tidak tersedia. Pengguna yang masuk dapat meregenerasi kunci dengan konfirmasi kata sandi; kunci lama langsung tidak valid sehingga konfigurasi aplikasi perlu diperbarui.

Saldo kredit yang Anda peroleh melalui top-up atau uji coba bersifat spesifik untuk tenant Anda dan tidak dapat dipindahkan antar domain jaringan. Meskipun uji coba tersedia, pengguna harus memenuhi persyaratan kelayakan anti-penyalahgunaan secara luas agar kredit dapat diakses. Setiap permintaan pengambilan data yang berhasil akan membebani saldo akun Anda dengan tepat satu kredit, sehingga efisiensi kueri sangat menentukan kelancaran operasional aplikasi Anda secara keseluruhan.

Implementasi Kode Python dan JavaScript

Di Python, urllib.request atau http.client tersedia dalam pustaka standar. Jika memilih requests, pasang paket pihak ketiga tersebut sesuai lingkungan Anda. Buat permintaan GET ke api.redditapistack.com dengan parameter kueri dan header X-API-Key. Contoh ini memakai nilai kunci mentah dalam X-API-Key, tanpa awalan Bearer. Authorization: Bearer dengan kunci yang valid juga didukung. Pisahkan pembuatan parameter dari pengiriman agar Anda dapat menguji pengodean teks serta tanggal tanpa menjalankan pengambilan besar.

Di JavaScript, periksa ketersediaan fetch pada lingkungan yang digunakan. URLSearchParams dapat membantu membentuk kueri, sedangkan X-API-Key berisi kunci yang sama seperti implementasi Python. Periksa status HTTP sebelum membaca respons sebagai data berhasil. Hindari menanam rahasia dalam kode browser yang dibagikan ke pengguna; perantara server aplikasi dapat digunakan untuk menjaga konfigurasi kredensial tetap terpisah.

Gunakan /v1/search untuk pencarian, /v1/posts untuk postingan, dan /v1/comments untuk komentar. /v1/item membutuhkan id, sedangkan dua daftar terakhir tidak. q, subreddit, author, kind, from, to, min_score, limit, dan page adalah parameter pencarian. kind menerima post atau comment. Tanggal menggunakan YYYY-MM-DD berdasarkan UTC dan to inklusif; min_score menyaring, bukan mengurutkan.

Penanganan Kesalahan dan Batasan Teknis

limit dan page berada pada rentang 1–100. Setiap panggilan mengambil satu halaman berisi maksimal 100 rekaman, dengan maksimal 100 halaman per kueri. Urutan _doc bukan kronologi, relevansi, atau skor. Total eq tepat, gte batas bawah, dan unknown tidak andal atau null. Iterasi terbatas serta pemisahan kueri tidak menjamin seluruh kecocokan atau rekaman unik.

Tangani 400 sebagai permintaan tidak valid, 401 sebagai kunci hilang atau tidak valid, 402 sebagai kredit tidak cukup, dan 429 sebagai batas laju. Perbaiki penyebab sebelum mengulang, dengan jeda dan batas percobaan untuk 429. Kegagalan upstream mengembalikan kredit cadangan; permintaan tidak valid tidak mendebit. Koneksi klien yang gagal setelah keberhasilan server dapat tetap dikenai biaya.

Respons berupa rekaman datar. Jika parent_id dan link_id tersedia, aplikasi dapat mengelompokkan rekaman secara lokal tanpa menjanjikan seluruh percakapan. /v1/status hanya menunjukkan penjelasan statis dan respons HTTP, bukan kesehatan pencarian. Simpan data, parameter, dan kode transformasi untuk membandingkan pengolahan Python dan JavaScript. Setiap pengambilan berhasil, termasuk kosong atau diulang, menggunakan 1 kredit.