Reddit Intelligence API
Pricing
from $59.00 / 1,000 thread analyzeds
Reddit Intelligence API
Research any topic on Reddit. Returns sentiment analysis, theme clusters, key concerns, and ranked threads as structured JSON. Ready for AI agents and LLM pipelines. No API keys required.
Pricing
from $59.00 / 1,000 thread analyzeds
Rating
0.0
(0)
Developer
Jim Giganti
Actor stats
0
Bookmarked
2
Total users
2
Monthly active users
13 hours ago
Last modified
Categories
Share
Research any topic on Reddit and get structured analysis your AI agent can reason over directly. Input a topic, product name, or company — get back sentiment, theme clusters, key concerns, notable quotes, and ranked threads as clean JSON.
No API keys required. No login. Uses Reddit's public data only.
Who this is for
AI agent developers — Give your agent the ability to research public opinion on any topic in one tool call. The intelligence output mode returns a single structured record with a plain-English summary, sentiment score, and clustered themes. Your agent reads it and reasons. No parsing, no post-processing.
Developers building research tools — Product feedback pipelines, brand monitoring, market research dashboards, competitive intelligence tools. Pull structured Reddit signal on any topic and pipe it into your stack.
LLM pipeline builders — Feed clean, ranked, relevance-scored Reddit content into RAG systems, evaluation datasets, or fine-tuning pipelines. The raw mode returns explicit nulls on every field — no undefined surprises.
What makes this different from a Reddit scraper
Most Reddit scrapers return a raw dump — post text, upvotes, comment text. You still have to figure out what it means. This actor does that work for you:
- Relevance scoring — posts are ranked by a composite signal (engagement quality, discussion depth, recency, content richness, community signals). Low-quality and controversial posts are filtered before they reach your output.
- Sentiment analysis — weighted across posts and comments, with negation handling. Knows that "not great" is different from "great."
- Theme clustering — groups discussion into eight topic-agnostic categories (pricing, performance, usability, support, features, alternatives, experience, security). Each cluster has its own sentiment score.
- Notable quotes — extracts high-signal short excerpts (40–280 chars) from highly-voted comments. The kind of thing you'd actually want to cite.
- Narrative summary — one plain-English sentence synthesizing the overall finding. Designed to be the first thing an AI agent reads.
Output modes
intelligence (default — recommended for AI agents)
Returns one record containing the full analysis. This is the MCP-ready mode. An agent calls the tool, reads the intelligence.summary field first, then drills into clusters, keyConcerns, and notableQuotes as needed.
{"query": "Rust programming language","mode": "intelligence","fetchedAt": "2026-04-04T14:23:11.000Z","intelligence": {"overallSentiment": "positive","sentimentScore": 0.52,"sentimentBreakdown": { "positive": 38, "negative": 9, "neutral": 21 },"summary": "Reddit discussion about \"Rust programming language\" is generally positive across 14 threads from 2024-02-01 to 2026-03-28. The most discussed theme is personal experience (positive sentiment). Key concerns include: slow, difficult, compile.","clusters": [{ "id": "experience", "label": "Personal experience", "mentionCount": 47, "sentiment": "positive", "sentimentScore": 0.41 },{ "id": "performance", "label": "Performance & reliability", "mentionCount": 31, "sentiment": "positive", "sentimentScore": 0.58 },{ "id": "usability", "label": "Ease of use", "mentionCount": 28, "sentiment": "mixed", "sentimentScore": -0.12 }],"keyConcerns": [{ "term": "slow", "count": 12 },{ "term": "difficult", "count": 9 },{ "term": "compile", "count": 7 }],"keyPraises": [{ "term": "fast", "count": 24 },{ "term": "reliable", "count": 18 },{ "term": "great", "count": 15 }],"notableQuotes": [{"text": "Once it clicks, you never want to go back. The compiler is your pair programmer.","commentScore": 847,"sentimentScore": 0.8,"postTitle": "Six months with Rust — honest review"}]},"coverage": {"threadCount": 14,"topSubreddits": [{ "subreddit": "rust", "threadCount": 6 },{ "subreddit": "programming", "threadCount": 4 },{ "subreddit": "learnprogramming", "threadCount": 3 }],"dateRange": { "oldest": "2024-02-01", "newest": "2026-03-28" }},"topThreads": [{"id": "1abc23","subreddit": "rust","title": "Six months with Rust — honest review","url": "https://reddit.com/r/rust/comments/1abc23/six_months_with_rust_honest_review/","score": 2341,"numComments": 187,"relevanceScore": 84.2,"createdAt": "2026-01-15T09:42:00.000Z"}]}
threads — one record per post
Returns ranked posts with metadata, signal quality rating, and top comments. Use this when you want to display or browse results rather than feed them into an agent.
{"rank": 1,"id": "1abc23","subreddit": "rust","title": "Six months with Rust — honest review","url": "https://reddit.com/r/rust/comments/1abc23/","score": 2341,"upvoteRatio": 0.97,"numComments": 187,"createdAt": "2026-01-15T09:42:00.000Z","relevanceScore": 84.2,"signalQuality": "high","topComments": [{"author": "some_rustacean","body": "Once it clicks, you never want to go back. The compiler is your pair programmer.","score": 847}]}
raw — explicit nulls, no analysis
Pure data. Every field present on every record, null when absent. No internal scoring fields. Use this for custom pipelines that do their own processing.
Input
| Field | Type | Default | Description |
|---|---|---|---|
query | string | — | Topic, product, company, or question to research. Required unless subreddit is set. |
subreddit | string | — | Restrict to a specific subreddit (without r/). Can be combined with query. |
subreddits | string[] | — | Search across multiple subreddits. Used with query. |
outputMode | string | intelligence | intelligence | threads | raw |
timeRange | string | year | hour | day | week | month | year | all |
maxPosts | integer | 30 | Posts to fetch before scoring (5–50). More = broader coverage, higher cost. |
maxResults | integer | 15 | Records in output after scoring (1–50). |
budgetUsd | number | — | Optional spend cap. Actor exits cleanly when reached. |
At least one of query, subreddit, or subreddits is required.
Pricing
| Event | Price | When |
|---|---|---|
reddit-thread-analyzed | $0.05 / thread | Intelligence mode — per thread analyzed |
reddit-record-returned | $0.01 / record | Threads and raw modes — per post returned |
A typical intelligence run analyzing 15 threads costs $0.75. A threads run returning 15 posts costs $0.15.
Use the budgetUsd input to cap spend on scheduled runs.
Using with AI agents
Claude Desktop / Claude Code (MCP)
Add Apify to your MCP config, then ask Claude directly:
What do developers think about Bun vs Node.js? Use the Reddit Intelligence API to find out.
Claude will call the actor automatically, read the intelligence.summary, and reason over the clusters and concerns in context.
LangGraph
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("YOUR_USERNAME/reddit-intelligence").call(run_input={"query": "Next.js vs Remix 2025","outputMode": "intelligence","timeRange": "year","maxPosts": 30,})result = client.dataset(run["defaultDatasetId"]).list_items().items[0]# Feed directly into your LLM contextsummary = result["intelligence"]["summary"]clusters = result["intelligence"]["clusters"]concerns = result["intelligence"]["keyConcerns"]
CrewAI
from crewai_tools import ApifyActorsToolreddit_research = ApifyActorsTool(actor_name="YOUR_USERNAME/reddit-intelligence")result = reddit_research.run(run_input={"query": "Supabase vs Firebase","outputMode": "intelligence","timeRange": "year",})
n8n / Make
Set the actor ID to YOUR_USERNAME/reddit-intelligence, pass JSON input, and connect the dataset output to any downstream node. Works out of the box with Apify's native n8n and Make integrations.
Common use cases
Product research before building — Before starting a new project, ask what developers are saying about the tools you're considering. Get a structured view of real-world pain points and praise in under a minute.
Competitive intelligence — Run queries on your competitors and your own product. Compare sentiment scores and cluster themes to understand where you're winning and where users are frustrated.
Market research for AI applications — Feed Reddit signal into your RAG pipeline as grounded, community-sourced context. Useful for applications that need to answer questions about public opinion.
Brand monitoring — Schedule runs on your product name weekly. Track sentiment score over time. The dateRange field on coverage lets you see if you're looking at recent or historical discussion.
Due diligence — Researching a vendor, tool, or technology before committing? Pull the last year of Reddit discussion and get a structured view of what practitioners actually think.
Technical notes
No authentication required. Uses Reddit's public JSON API endpoints — the same data available at reddit.com/search.json. No Reddit account, no OAuth, no API keys.
Rate limiting. The actor enforces a 1.1-second minimum between requests to stay within Reddit's unauthenticated rate limits. Retries use exponential backoff with jitter. Rate-limit responses (429) back off longer.
Relevance scoring. Posts are scored on five weighted factors before reaching your output: engagement quality (upvote ratio × log score), discussion depth, recency, content richness, and community signals (awards, virality). Posts below the minimum relevance threshold are filtered. Controversial posts with low upvote ratios are penalized.
Sentiment analysis. Weighted across all text units (titles, post bodies, comments). Higher-voted content carries more weight. Negation handling ("not great" scores differently from "great"). No LLM dependency — pure signal processing.
Budget cap. If budgetUsd is set, the actor estimates spend before pushing records and truncates output cleanly if the cap would be exceeded. The run exits with a log message rather than an error.
Issues and feedback
Found a bug or have a feature request? Open an issue on the Issues tab. Response time is typically within 24 hours.
Common requests welcome: additional output fields, new theme cluster categories, language filtering, support for specific subreddit types.