mcpField
R
reddit-api

reddit-api

github.com/fetcher-shデータ・データベース23.8k 回インストール8 週間前に更新
リポジトリ

reddit-api について

reddit-api は、複数の subreddit をまたぐ検索、フィード、コメントツリー、ユーザープロフィールを取得する Agent 向け Reddit データ API です。従量課金の HTTP GET に加え、MCP 経由でも利用できます。

主な機能

  1. 01subreddit 横断の投稿検索
  2. 02subreddit とユーザーの検索
  3. 03subreddit 情報とフィードの取得
  4. 04投稿と全コメントツリーの取得
  5. 05全体フィードとユーザー投稿の閲覧

活用シーン

  1. 01複数 subreddit から話題の人気投稿を探す
  2. 02投稿の議論や返信を確認する
  3. 03ユーザーのプロフィール、投稿、コメントを調べる

MCP 対応

MCP エンドポイントを提供し、fetch_data でデータ API を呼び出せるほか、reddit_search_post のショートカットも使えます。前払いクレジットまたは x402 の従量課金に対応します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fetcher-sh/fetcher-skills --skill reddit-api

インストール後、Claude Code で/reddit-apiを入力して読み込まれたか確認します。

詳細

Reddit API

Reddit のデータを必要なときに取得できます。サブレディットを横断した投稿検索、サブレディットとユーザーの検索、サブレディットの情報とフィード、コメントツリー全体を含む個別の投稿、サイト全体のベスト/人気/新着/トップフィード、ユーザープロフィール/投稿/コメントに対応しています。呼び出しごとに通常の HTTP GET を 1 回実行し、使った分だけ支払います。OAuth アプリの登録も、クライアント ID/シークレットのペアも、Reddit API のレート制限プランも不要です。

ベース URL:https://reddit.fetcher.sh

認証

支払い方法は 2 通りで、データは同じです。詳しい仕組みについては fetcher スキルをご覧ください。

# 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup
#    or via POST /api/credits/topup, see the fetcher skill)
export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://reddit.fetcher.sh/api/search/post?keyword=hello"

# 2. x402 pay-per-call — omit the header; a GET with no payment returns 402
#    with machine-readable payment requirements (USDC on Base, Polygon,
#    Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically.

すべてのレスポンスは { "status": number, "message": string, "data": ... } 形式です。HTTP ステータスは status と同じ値になります。

エンドポイント(15 — すべて GET、1 回あたり $0.002)

エンドポイント返される内容
/api/search/postキーワードに一致する、すべてのサブレディットにわたる投稿
/api/search/subredditキーワードに一致するサブレディット
/api/search/userキーワードに一致するユーザー
/api/subreddit/{name}サブレディットの情報
/api/subreddit/{name}/postsサブレディットの投稿フィード
/api/post/{id}個別の投稿
/api/post/{id}/comments投稿のコメントツリー
/api/post/{id}/comments/{commentId}/repliesコメントへの返信
/api/posts/hotサイト全体の人気フィード
/api/posts/newサイト全体の新着フィード
/api/posts/topサイト全体のトップフィード
/api/posts/bestサイト全体のベストフィード
/api/user/{username}ユーザーのプロフィール
/api/user/{username}/postsユーザーの投稿
/api/user/{username}/commentsユーザーのコメント

{id} / {name} / {username} はパスパラメーターです。省略可能な sort / cursor で並べ替えとページネーションを行えます。keyword(検索)は、指定されている箇所で必須です。

使用例

すべてのサブレディットにわたる、トピックに関するトップ投稿:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "keyword=ai agents" -G \
  --data-urlencode "sort=top" \
  "https://reddit.fetcher.sh/api/search/post"

最も議論されている投稿(コメント数が最多):

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "keyword=stablecoin payments" -G \
  --data-urlencode "sort=comments" \
  "https://reddit.fetcher.sh/api/search/post"

新着順:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "keyword=x402" -G \
  --data-urlencode "sort=new" \
  "https://reddit.fetcher.sh/api/search/post"

/api/search/post のその他の sort 値:relevance、hot。

キーワードでサブレディットまたはユーザーを検索:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "keyword=machine learning" -G \
  "https://reddit.fetcher.sh/api/search/subreddit"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "keyword=spez" -G \
  "https://reddit.fetcher.sh/api/search/user"

サブレディットの情報を取得し、その後、人気/新着/トップフィードを取得:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://reddit.fetcher.sh/api/subreddit/MachineLearning"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "sort=top" -G \
  "https://reddit.fetcher.sh/api/subreddit/MachineLearning/posts"

個別の投稿、そのコメントツリー、および特定のコメントへの返信:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://reddit.fetcher.sh/api/post/1abcde2"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "sort=top" -G \
  "https://reddit.fetcher.sh/api/post/1abcde2/comments"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://reddit.fetcher.sh/api/post/1abcde2/comments/fghij3k/replies"

サイト全体のフィード:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://reddit.fetcher.sh/api/posts/hot"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://reddit.fetcher.sh/api/posts/best"

ユーザーのプロフィール、投稿、コメント:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://reddit.fetcher.sh/api/user/spez"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "sort=new" -G \
  "https://reddit.fetcher.sh/api/user/spez/posts"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "sort=top" -G \
  "https://reddit.fetcher.sh/api/user/spez/comments"

MCP

{
  "mcpServers": {
    "reddit": {
      "url": "https://reddit.fetcher.sh/mcp",
      "headers": { "Authorization": "Bearer bby_live_..." }
    }
  }
}

無料:search_endpoints、describe_endpoint、check_balance。有料: fetch_data(上記の任意のエンドポイント)、topup_credits、および名前付きショートカット reddit_search_post。代わりに x402 で呼び出しごとに支払う場合は、headers ブロックを削除してください。詳しい手順については fetcher スキルをご覧ください。

エラー

  • 400 — パラメーターがない、または無効(メッセージに該当するパラメーター名が示されます)
  • 401 — キーが不明、またはローテーション済み
  • 402 — 支払いが必要(x402 チャレンジ)、または topup_required(クレジット不足)
  • 404 — 料金設定されていないパス
  • レート制限はありません。上流での失敗に対する返金もありません(精算はデータの配信より先に行われます)

リファレンス

コメント