Contoh permintaan
cURL
curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.redditstreamapi.com/v1/posts?subreddit=datasets&limit=3&page=2"Arti stream pada layanan ini
Reddit Stream API memberikan akses ke arsip historis Reddit yang independen, bukan layanan resmi atau mitra Reddit. Tidak tersedia data langsung, SSE, WebSocket, notifikasi langsung, OAuth, pembuatan postingan, pemungutan suara, atau pesan pribadi. Klien mengirim GET tersendiri untuk halaman yang dibutuhkan. Menjadwalkan permintaan berulang tidak mengubahnya menjadi aliran kejadian langsung atau membuktikan jadwal pembaruan arsip. Rancang pekerjaan sebagai pengambilan terbatas terhadap rekaman historis yang tersedia, bukan langganan perubahan terbaru.
Contoh permintaannya adalah GET https://api.redditstreamapi.com/v1/posts?subreddit=datasets&limit=3&page=2. subreddit menentukan komunitas, limit membatasi jumlah rekaman, dan page memilih halaman. Bentuk ini tidak menjamin bahwa halaman kedua atau tiga postingan tersedia. Halaman kedua juga bukan periode waktu sesudah halaman pertama. Hasil mengikuti urutan dokumen arsip, bukan waktu, relevansi, atau skor. Alamat ini hanya menunjukkan bentuk permintaan; evaluasi hasil dari panggilan yang Anda jalankan sendiri.
Gunakan Authorization: Bearer YOUR_API_KEY atau X-API-Key: YOUR_API_KEY untuk pengambilan. Keduanya valid dan memakai kunci arsip domain ini, bukan token OAuth Reddit. YOUR_API_KEY adalah penanda pengganti. Simpan nilai asli di lingkungan server dan keluarkan dari log serta kode publik. Cookie sesi Secure HttpOnly pada panel akun memiliki fungsi berbeda. Untuk pekerjaan batch, pisahkan kredensial, definisi kueri, dan pengenal pekerjaan lokal agar catatan kemajuan tidak ikut menyimpan rahasia yang dipakai saat menjalankan permintaan.
Kemajuan lokal dan batas hasil
Anda dapat menyimpan jalur, filter, halaman, waktu percobaan, status HTTP, dan hasil penulisan lokal untuk setiap langkah pekerjaan. Respons berhasil tidak selalu berarti berkas sudah tersimpan. Periksa hasil lokal sebelum menaikkan penanda kemajuan atau mengulang panggilan. Penanda tersebut hanya menggambarkan pekerjaan klien sendiri, bukan kursor server yang tetap atau janji melanjutkan tanpa kehilangan data. Pengambilan ulang pun tidak dijamin mengembalikan isi yang identik. Nyatakan kemajuan berdasarkan apa yang benar-benar diterima dan disimpan.
Batasnya 100 rekaman per permintaan dan 100 halaman per kueri. Pilih limit sesuai kebutuhan; nilai maksimum bukan kewajiban setiap pekerjaan. Jendela tanggal dapat dipakai untuk membagi pekerjaan dengan from dan to dalam YYYY-MM-DD berbasis UTC. to mencakup seluruh hari yang ditentukan. Perhatikan aturan itu ketika menyusun hari yang bersebelahan. Pembagian tanggal, iterasi halaman, dan penghapusan duplikasi lokal tidak membuktikan pengambilan lengkap atau hasil tanpa rekaman berulang dari seluruh arsip.
Respons berupa rekaman datar. Pengelompokan parent_id dan link_id bersifat pilihan jika tersedia dan analisis hubungan memang dibutuhkan; membaca atau menghitung tidak memerlukan pohon. Induk yang hilang tidak dapat dipulihkan dengan pengelompokan. min_score hanya menyaring ambang skor minimum. eq berarti total tepat, gte berarti batas bawah, sedangkan unknown atau null berarti total tepercaya tidak diketahui. Total tepat pun tidak membuktikan bahwa klien menyimpan semuanya. Hitungan komunitas bukan inventaris global yang pasti atau daftar yang menyeluruh.
Biaya dan keputusan mengulang
Setiap pengambilan berhasil menggunakan satu kredit, termasuk hasil kosong. Tarifnya $1 per 1.000 keberhasilan dan pengisian minimum $50 menghasilkan 50.000 kredit berbayar. Halaman lain dan percobaan ulang yang berhasil dikenai biaya tersendiri. Tidak ada langganan dan kredit berbayar tidak kedaluwarsa. Uji coba 100 kredit bergantung pada kelayakan pencegahan penyalahgunaan seluruh jaringan. Akun, kunci, dan saldo khusus domain ini; saldo merek lain tidak dapat dianggap sebagai anggaran pekerjaan yang sedang berjalan.
Periksa 400 untuk parameter, 401 untuk kunci yang hilang atau tidak valid, 402 untuk saldo, dan 429 untuk laju permintaan. Permintaan tidak valid tidak didebit; kegagalan sistem hulu mengembalikan kredit cadangan. Namun, respons dapat hilang setelah server berhasil sehingga pengulangan yang berhasil memerlukan kredit lagi. Sifat baca saja tidak menjamin isi tetap atau pengulangan gratis. Tentukan batas percobaan dan kondisi berhenti pada klien, lalu kurangi frekuensi saat dibatasi. Jangan menghindari batas melalui akun lain.
/v1/status terbuka tanpa kunci dan tidak dikenai biaya. Jalur ini menunjukkan cakupan layanan statis serta respons aplikasi HTTP, bukan kesehatan pencarian, keberadaan rekaman, validitas kunci, atau saldo. Jangan menganggap pekerjaan pengambilan berhasil hanya karena status merespons. Tinjau dokumentasi rute, panduan jendela tanggal, dan halaman kunci sebelum menjalankan pekerjaan. Tidak ada jaminan penyimpanan rekaman selamanya, ketetapan hasil, kelengkapan, kinerja tertentu, atau ketersediaan tanpa jeda. Jelaskan halaman yang benar-benar diambil sebagai hasil arsip, bukan saluran langsung.