mcpField
R
reddit-api

reddit-api

github.com/fetcher-shData & databases23.8k installsUpdated 8w ago
Repository

About reddit-api

reddit-api provides Reddit data to agents, including cross-subreddit searches, feeds, comment trees, and user profiles. It uses pay-per-call HTTP GET requests and can also be accessed through MCP.

Key features

  1. 01Search posts across subreddits
  2. 02Search subreddits and users
  3. 03Read subreddit details and feeds
  4. 04Fetch posts and full comment trees
  5. 05View sitewide feeds and user content

Use cases

  1. 01Find popular posts on a topic across subreddits
  2. 02Inspect discussion and replies on a post
  3. 03Review a user's profile, posts, and comments

MCP support

It provides an MCP endpoint for calling data endpoints through fetch_data, plus the reddit_search_post shortcut. Payment can use prepaid credits or x402 per call.

Install

Copy the command and run it in a terminal.

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

After installing, type/reddit-apiin Claude Code to confirm it loaded.

Details

From the project README

Reddit API

Reddit data on demand: cross-subreddit post search, subreddit and user search, subreddit info and feeds, single posts with full comment trees, sitewide best/hot/new/top feeds, and user profiles/posts/comments — one plain HTTP GET per call, paid as you go. No OAuth app registration, no client ID/secret pair, no Reddit API rate-limit tier.

Base URL: https://reddit.fetcher.sh

Authentication

Two ways to pay, same data — full mechanics in the fetcher skill:

# 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.

Every response is { "status": number, "message": string, "data": ... }; the HTTP status mirrors status.

Endpoints (15 — all GET, $0.002/call)

EndpointWhat it returns
/api/search/postPosts across every subreddit matching a keyword
/api/search/subredditSubreddits matching a keyword
/api/search/userUsers matching a keyword
/api/subreddit/{name}A subreddit's info
/api/subreddit/{name}/postsA subreddit's post feed
/api/post/{id}A single post
/api/post/{id}/commentsA post's comment tree
/api/post/{id}/comments/{commentId}/repliesReplies to a comment
/api/posts/hotSitewide hot feed
/api/posts/newSitewide new feed
/api/posts/topSitewide top feed
/api/posts/bestSitewide best feed
/api/user/{username}A user's profile
/api/user/{username}/postsA user's posts
/api/user/{username}/commentsA user's comments

{id} / {name} / {username} are path parameters. Optional sort / cursor reorder and paginate; keyword (search) is required where it appears.

Scenarios

Top posts about a topic, across every subreddit:

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

Most discussed (highest comment count):

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

Newest first:

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

Other sort values for /api/search/post: relevance, hot.

Search subreddits or users by keyword:

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"

A subreddit's info, then its hot/new/top feed:

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"

A single post, its comment tree, and replies to one comment:

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"

Sitewide feeds:

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"

A user's profile, posts, and comments:

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_..." }
    }
  }
}

Free: search_endpoints, describe_endpoint, check_balance. Paid: fetch_data (any endpoint above), topup_credits, plus the named shortcut reddit_search_post. Drop the headers block to pay per call with x402 instead — see the fetcher skill for the full flow.

Errors

  • 400 — missing/invalid parameter (message names it)
  • 401 — unknown or rotated key
  • 402 — payment required (x402 challenge) or topup_required (credits exhausted)
  • 404 — not a priced path
  • No rate limits; no refunds on upstream failures (settlement precedes delivery)

Reference

Comments

Markdown supported