Reddit Search API

過去のRedditデータを検索アプリに取り込む

独立したRedditアーカイブを使う検索アプリ向けAPI。検索条件、取得上限、結果件数の読み方、成功したリクエストごとの料金を確認できます。

APIキーを取得

リクエスト例

cURL

curl --fail-with-body -H "Authorization: Bearer YOUR_API_KEY" "https://api.redditsearchapi.com/v1/search?q=quantization&subreddit=LocalLLaMA&limit=3"

検索したい範囲から設計する

Reddit Search APIは、Redditの過去の記録を検索するための独立したアーカイブAPIです。Redditの公式サービスでも提携サービスでもなく、リアルタイムの投稿一覧は提供しません。検索画面では、結果が現在のRedditそのものではなく、アーカイブから取得した記録であることを利用者に伝えてください。

検索語にはq、対象コミュニティにはsubreddit、投稿者にはauthorを使います。kindをpostまたはcommentにすると、投稿とコメントを分けて検索できます。日付範囲を加えれば調査対象を絞れます。ただし、条件を細かく指定しても、その条件に合う記録がすべてアーカイブにあるとは限りません。

例えば、ある製品について過去にどのような議論があったかを調べるアプリでは、検索語とコミュニティ、日付範囲を組み合わせられます。これは条件の組み方の例であり、特定の製品や期間のデータが存在するという意味ではありません。最初は小さなクエリの実際の応答を確認し、表示や分析の方法を決めましょう。

件数と並び順を正しく伝える

1回のリクエストで取得できるのは最大100件です。1つのクエリでは、別々のリクエストで最大100ページを取得できます。この上限まで調べても、すべての一致記録やRedditの全履歴を取得したとは言えません。画面に表示した件数と、クエリに一致する総件数を区別してください。

総件数には、正確な値、下限、信頼できる値が不明な場合があります。下限を確定件数として表示すると、利用者が検索範囲を誤解するおそれがあります。結果の順番はアーカイブ内部の_doc順であり、時系列順、関連度順、スコア順ではありません。min_scoreは最低スコアの条件で、並べ替え機能ではありません。

応答は、サーバーが組み立てた会話ツリーではなく平坦なレコードです。parent_idやlink_idが含まれていれば、アプリ側で関連付けられます。ただし、会話全体や親子関係が完全にそろう保証はありません。取得済みの記録をローカルで並べ替える場合も、対象が取得した範囲に限られることを明示してください。

同じクエリを後日実行しても、同じ記録や順番になるとは限りません。分析の根拠を残したい場合は、生の応答と検索条件、ローカルで行った変換処理を一緒に保存します。保存したデータで分析を再実行することと、APIから同じ結果を再取得できることは別です。

小さく試して料金を見積もる

成功したデータ取得は、結果が空でも1回につき1クレジットを消費します。1000回で1米ドル、最低の有料チャージは50米ドルで50000有料クレジットです。定期契約はなく、購入したクレジットに有効期限はありません。ネットワーク全体の不正利用防止条件を満たす場合、100クレジットの試用枠を利用できます。

メールアドレスとパスワードで登録すると、支払い前にAPIキーが一度だけ表示されます。キーを保存し、取得リクエストではX-API-Keyヘッダーを使います。追加購入時はログイン後に請求書を作り、表示された宛先へ正確な金額を送り、取引ハッシュを貼り付けて検証を要求してください。キーと残高はこのドメイン専用です。