Reddit API: Search posts
Finds public Reddit posts by topic, optionally in one community, for a time window and sort order. Returns up to 100 posts in Reddit search order with score, comment count, text and link.
Unofficial. Not affiliated with or endorsed by Reddit.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Sort optional
sort Order posts, for example newest. Default: relevance.
relevance (default)
One of
relevance,top,newest,most_comments.- Query, required
query Words to search for on Reddit, for example best CRM for a small business.
best CRM for a small business
- Community optional
community Search only one subreddit, for example smallbusiness or r/smallbusiness.
Not set
- Max Results optional
max_results Maximum posts to return, for example 25. Default: 25; maximum: 100.
25 (default)
Whole number from 1 to 100.
- Time Window optional
time_window How far back to search, for example past_week. Default: all_time.
all_time (default)
One of
past_hour,past_day,past_week,past_month,past_year,all_time.
Input as JSON
{ "query": "best CRM for a small business"}Output
{ "posts": [ { "score": 486, "title": "I'm a vibecoder turned AI consultant for small businesses. I make more than most of you.", "author": "meldrumh", "post_id": "1scwelx", "community": "AskVibecoders", "post_link": "https://www.reddit.com/r/AskVibecoders/comments/1scwelx/im_a_vibecoder_turned_ai_consultant_for_small/" , "post_text": "Every day on here, people vibecoding another SaaS. Landing page, waitlist, no users. 47 other guys shipped the same thing this week. SaaS is cooked. Anyone can build one. Distribution is all that matters and you don't have it. Go talk to small businesses instead. I'm not saying build them a website.", "posted_at": "2026-04-05T06:31:02+00:00", "comment_count": 178, "linked_website": null }, { "score": 53, "title": "What CRM should a small business use?", "author": "NotedWhisky", "post_id": "1wdihhj", "community": "CRM", "post_link": "https://www.reddit.com/r/CRM/comments/1wdihhj/what_crm_should_a_small_business_use/" , "post_text": "We’re a small B2B business with 6 people and sales is still pretty founder led, but revenue has grown enough that keeping leads, follow ups and customer conversations spread across spreadsheets and inboxes is starting to fall apart. I’m trying to figure out what the best CRM for a small business loo", "posted_at": "2026-09-11T14:52:16+00:00", "comment_count": 166, "linked_website": null }, { "score": 55, "title": "What’s the best CRM for a small business? Looking for simplicity and automation", "author": "Lucille_dessert", "post_id": "1pyb7vx", "community": "smallbusinessowner", "post_link": "https://www.reddit.com/r/smallbusinessowner/comments/1pyb7vx/whats_the_best_crm_for_a_small_business_looking/" , "post_text": "I’m looking for a CRM that’s easy to use but also has the features we need to grow. We’ve been using spreadsheets to manage leads and customers, but it’s becoming too chaotic as we expand. We need something that helps track leads, manage sales, and automate follow-ups, without being too complex. Ide", "posted_at": "2025-12-29T03:23:51+00:00", "comment_count": 157, "linked_website": null } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"reddit.com/search_posts","input":{"query":"best CRM for a small business"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "reddit.com/search_posts" , "input": { "query": "best CRM for a small business" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "reddit.com/search_posts" , "input": { "query": "best CRM for a small business" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run reddit.com/search_posts# with {"query":"best CRM for a small business"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "query" ], "properties": { "sort": { "enum": [ "relevance", "top", "newest", "most_comments" ], "type": "string", "default": "relevance", "description": "Order posts, for example newest. Default: relevance." }, "query": { "type": "string", "minLength": 1, "description": "Words to search for on Reddit, for example best CRM for a small business." }, "community": { "type": "string", "description": "Search only one subreddit, for example smallbusiness or r/smallbusiness." }, "max_results": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Maximum posts to return, for example 25. Default: 25; maximum: 100." }, "time_window": { "enum": [ "past_hour", "past_day", "past_week", "past_month", "past_year", "all_time" ], "type": "string", "default": "all_time", "description": "How far back to search, for example past_week. Default: all_time." } }}Output schema
{ "type": "object", "required": [ "posts" ], "properties": { "posts": { "type": "array", "items": { "type": "object", "required": [ "title", "community", "author", "score", "comment_count", "posted_at", "post_text", "linked_website", "post_link", "post_id" ], "properties": { "score": { "type": "integer" }, "title": { "type": "string" }, "author": { "type": [ "string", "null" ] }, "post_id": { "type": "string" }, "community": { "type": "string" }, "post_link": { "type": "string" }, "post_text": { "type": [ "string", "null" ] }, "posted_at": { "type": "string", "description": "ISO 8601 date and time in UTC." }, "comment_count": { "type": "integer" }, "linked_website": { "type": [ "string", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
reddit.com/search_posts- Returns
- title, community, author, score, comment count, posted time, post text, linked website, post link, post id
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method reddit.com/search_posts with the inputs above.
Ask your agent
- Find the top 50 Reddit posts from the past year in r/personalfinance about paying off student loans vs investing
- What are people saying this week about the Steam Deck OLED battery life? Show me the newest posts.
- Pull the most-commented threads in r/homelab from the past month mentioning Proxmox vs TrueNAS
- Search Reddit for posts in the last 24 hours about the AWS outage, sorted by newest, up to 100 results
- Show me the highest-scoring posts of all time on best mechanical keyboard for programming, limited to 10
See more
All Reddit methodsGets a public Reddit user's profile (post and comment karma, account creation date) and their recent posts and comments, newest first. Suspended or nonexistent users are reported as not found.
reddit.com/get_userSearches Hacker News stories or comments by words, date range and sort order. Comments include their parent story's website link when one exists; text-only stories have no website link.
news.ycombinator.com/search_storiesSearches public Bluesky posts for words, optionally ordered by latest or top and filtered by date, author or language. Search indexing may lag behind new posts.
bsky.app/search_postsSearches community-posted Slickdeals deals by product or keyword, optionally limited to a store and hiding expired deals, ordered by relevance, newest or most popular.
slickdeals.net/search_dealsSearches Reuters articles by keyword through Google News, with optional publication date range, order and page. Summaries and bylines are filled in when Reuters serves the article page.
reuters.com/search_newsFinds Stack Overflow programming questions matching plain-language search words, optionally filtered by tag and answer status, with a chosen sort order.
stackoverflow.com/search_questionsSearches The Verge articles by keyword, with optional date filters, sorting and pagination. Only the first 100 matches from The Verge search are used.
theverge.com/search_newsFinds public GitHub repositories by keywords, with an optional language filter and sort order. Returns up to 100 matches.
github.com/search_repositories