リクエスト例
cURL
curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.redditstreamapi.com/v1/posts?subreddit=datasets&limit=3&page=2"Streamという名前と実際の取得方式
Reddit Stream APIは、過去のReddit記録にアクセスする独立したアーカイブです。Redditの公式サービスでも提携サービスでもありません。リアルタイム配信、SSE、WebSocket、ライブ通知、OAuth、投稿、投票、メッセージ機能はありません。必要なページごとにGETを送ります。定期的に検索を繰り返してもライブストリームにはならず、アーカイブの更新頻度を示すものでもありません。既存の過去記録を限定的に検索する仕事として設計してください。
要求例はhttps://api.redditstreamapi.com/v1/posts?subreddit=datasets&limit=3&page=2へのGETです。subredditはコミュニティ、limitは取得上限、pageはページを指定します。二ページ目や三件の投稿が存在するという約束ではありません。ページ番号が増えても次の時間帯へ移ったことにはならず、文書順は日時、関連度、スコアによる並びではありません。要求形式と実際に受け取った結果を分け、受け取った記録の範囲を確認してください。
取得にはAuthorization: Bearer YOUR_API_KEYまたはX-API-Key: YOUR_API_KEYを使えます。両方とも有効で、値はこのドメインのアーカイブキーです。Reddit OAuthトークンではありません。YOUR_API_KEYは置き換え値なので、実値はサーバーの実行環境で読み込みます。公開コードや処理ログに含めないでください。アカウントパネルのSecure HttpOnlyセッションCookieは取得ヘッダーと別です。仕事の条件、識別子、秘密の設定を区別して管理します。
ページとローカル進捗を分けて記録
バッチでは要求経路、フィルター、ページ、試行時刻、HTTP結果、ローカル保存結果を別々に記録できます。応答成功後にファイル書き込みが失敗する場合もあるため、ページ番号だけを進めると保存できていない結果を飛ばすおそれがあります。再開前に手元の結果を確認してください。ローカル進捗は自分の仕事の状態であり、サーバーの固定スナップショットや永続カーソルではありません。再実行で同じ内容が必ず返るとも限りません。
一要求最大100レコード、一クエリ最大100ページです。limitは仕事に合わせて選べ、常に100を指定する義務はありません。fromとtoで日付窓に分ける場合はUTCのYYYY-MM-DD形式を使い、toが指定日全体を含む点に注意します。隣接する仕事で同じ終了日を開始日にすれば、自分で重なりを作る場合があります。日付分割、ページ反復、ローカル重複除去は、全アーカイブの網羅性や重複のない取得を証明しません。
APIレスポンスはスレッド木構造ではなく、フラットなレコードとして返されます。親IDやリンクIDが存在する場合は、クライアント側でローカルにグループ化できますが、会話の完全性や祖先の正確な追跡は保証されません。また、最小スコアはソート基準ではなく、あくまでフィルターとして機能します。これにより、特定の閾値以上のデータのみを抽出できますが、スコア順に並べられることはありません。 関係分析が必要なときだけ任意でまとめればよく、閲覧や件数集計にツリーは不要です。欠けた親は復元されません。総件数のeqは正確な値、gteは下限、unknownまたはnullは信頼できる総数が不明な状態です。正確な総数でも全件保存の証拠ではなく、コミュニティ集計も正確な全体在庫とは限りません。
要求費用と停止の判断
成功した取得は空の結果も一回一クレジットです。成功1,000回で$1、最低$50の追加は有料50,000クレジットに相当します。次ページと成功した再試行は別途数えます。月額契約はなく、有料クレジットは期限切れになりません。試用100クレジットはネットワーク全体の不正利用防止条件によるため全員への保証ではありません。アカウント、キー、残高はこのドメイン専用で、他ブランドの残高はここでは使えません。
400では引数、401ではキーの欠落や無効化、402では残高、429では要求頻度を調べます。無効な要求は差し引かれず、上流システムの失敗では予約分が戻ります。ただしクライアントが応答を失う前にサーバーが成功している場合もあり、成功した再試行には追加費用がかかります。読み取り専用は同一応答や無料再試行の保証ではありません。試行回数と停止条件を決め、別アカウントで制限を回避しないでください。
/v1/statusは公開かつ非課金で、静的なサービス範囲とHTTPアプリケーションの応答を示すだけです。検索保存先、記録、キー、残高は検査しません。これだけでバッチの取得成功を判定しないでください。仕様はドキュメント、日付窓はガイド、登録はキーのページで確認できます。記録の永久保存、結果の不変性、完全な範囲、一定の性能、継続的な利用可能性は保証されません。取得したページをライブデータの配信として紹介しないことが必要です。