Reddit Opportunity Finder
Under maintenancePricing
from $0.30 / report generated
Reddit Opportunity Finder
Under maintenanceFind Reddit-backed opportunities from up to 30 posts and 150 comments by default, with evidence URLs, transparent research plans, and optional BYOK AI.
Pricing
from $0.30 / report generated
Rating
0.0
(0)
Developer
SignalFlow Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Reddit Opportunity Finder turns public Reddit discussions into product opportunity, competitor complaint, and buying-intent reports. It is not a generic Reddit scraper: it is an evidence-backed research Actor for founders, product teams, agencies, growth marketers, and AI agents.
The Actor fetches bounded public Reddit posts and comments, extracts pain signals, scores buying intent, identifies mentioned tools and competitors, and returns actionable opportunities with Reddit evidence URLs.
Run Size and Cost Controls
The default public run is intentionally bounded so users can understand the amount of Reddit data being processed before they click Run:
- Fetches up to 30 public Reddit posts.
- Analyzes up to 8 public comments per post.
- Analyzes up to 150 comments total.
- Produces up to 10 ranked opportunities.
- Includes Markdown, JSON, CSV, citations, evidence URLs, alerts, and monitoring fields in the same report.
The report is a structured research output, not a raw Reddit scrape. Users can lower Apify platform usage by reducing posts/comments or turning comments off, and can increase coverage within the hard caps when they need deeper research.
Optional AI enhancement is separate from the baseline rules-based report. BYOK model usage is billed by the selected AI provider to the API key owner.
What You Get
- Direct answer for your analysis goal.
- Scored product opportunities with suggested product angles.
- Buying-intent score for each opportunity and evidence signal.
- Competitor and tool mentions from Reddit discussions.
- Evidence URLs back to public Reddit posts/comments.
- Recommended validation actions.
- Alerts for high-scoring opportunities and competitor mention spikes.
- Monitoring comparison against a previous report.
- Markdown, JSON, and CSV outputs.
- Optional BYOK AI clustering and report polish.
Typical Use Cases
- Find Shopify app ideas from Reddit pain points.
- Monitor competitor complaints in an AI SaaS category.
- Validate whether a niche has enough buying-intent signals.
- Find content angles from repeated Reddit questions.
- Run a scheduled Reddit market monitor and alert only on new/high-score signals.
- Use the Actor from an AI agent through Apify MCP with predictable structured outputs.
Quick Start
npm installnpm run smokenpm run validate:smoke
Real-data smoke input:
{"mode": "reddit_discovery","analysisGoal": "Find Reddit-backed micro SaaS opportunities from pricing pain, manual workflows, and alternative requests.","market": "micro SaaS and ecommerce operations","subreddits": ["SaaS", "indiehackers", "shopify"],"keywords": ["expensive", "alternative", "looking for", "manual"],"timeRange": "month","maxPosts": 30,"maxCommentsPerPost": 8,"maxTotalComments": 150,"maxOpportunities": 10,"outputFormat": "markdown"}
Local outputs:
outputs/smoke/output.jsonoutputs/smoke/report.mdoutputs/smoke/report.csv
Presets
Use preset to start faster. You can still override subreddits, keywords, competitors, and scoring options.
customshopify_app_opportunitiesai_saas_competitor_complaintscreator_toolslocal_business_softwareb2b_sales_tools
Example:
{"mode": "reddit_discovery","preset": "shopify_app_opportunities","analysisGoal": "What Shopify app opportunities show strong Reddit pain and buying intent?","maxPosts": 25,"maxOpportunities": 8}
Main Inputs
The Apify input form is grouped into:
-
Start here: analysis goal, preset, market, Reddit sources, and main limits.
-
Reddit source: known competitors, time range, and sorting.
-
AI / BYOK: model provider, user API key, and AI limits.
-
Monitoring: previous report, alert threshold, and scheduled-run controls.
-
Advanced controls: quality filters, comments, output options, proxy, and debug mode.
-
analysisGoal: agent-friendly research goal. It guides keyword hints and report framing; explicit subreddits and keywords remain the source-of-truth for Reddit collection. -
market: market or niche context. -
decisionGoal:find_product_opportunities,monitor_competitors,validate_market,find_content_angles, ordetect_alerts. -
subreddits: public subreddits withoutr/. -
keywords: search and analysis terms. -
knownCompetitors: tools or competitors to track. -
timeRange:day,week,month,year, orall. -
sort:relevance,new,top, orcomments. -
maxPosts,maxCommentsPerPost,maxTotalComments: bounded fetch controls. -
minScore,minBuyingIntent,dedupeStrength: quality controls. -
trendMode,previousReport,monitoringOnly,alertThreshold: monitoring controls.
BYOK AI
AI is optional. The rules-based analyzer always runs first and does not require a key.
Supported providers:
deepseekopenaiopenrouteranthropicgeminicustom_openai_compatible
Inputs:
aiProvider: provider name.aiMode:off,polish,cluster, orfull.aiApiKey: user-provided secret key. When this is set, model API costs are billed by the selected AI provider to the key owner.- Public BYOK runs use only the user-provided
aiApiKey. Users must provide their own key for AI features. aiModel: model name for the selected provider.aiBaseUrl: optional override. Leave empty for provider default.maxAiInputChars,maxAiOutputTokens: call-size limits. They reduce risk but are not exact billing caps.
AI safety behavior:
- The Actor sends compact extracted signals, not unbounded raw Reddit dumps.
- AI must return
signalIdreferences for evidence. - The program validates evidence IDs and backfills Reddit URLs from extracted signals.
- If AI fails or no key is available, the rules-based report still returns and records the reason in
summary.ai.
Cost Model
There are three separate cost layers:
- Actor pay-per-event fees: paid by the run owner only after the Actor owner configures PPE events in Apify Console.
- Apify platform usage: for the normal PPE mode, this is included in the event price and is deducted from the Actor owner's revenue/profit calculation. If the Actor owner enables "Pay per event + usage", the run owner pays platform usage separately.
- AI provider usage: paid by the owner of the API key used for
aiApiKey. Public users cannot trigger owner-paid AI fallback from the visible input schema.
Current public setup: platform usage is not passed through separately, so users see simple PPE event pricing. Higher post/comment limits can increase platform usage and reduce the Actor owner's margin, but hard caps and the internal fetch budget keep runs bounded. If monthly PPE revenue does not cover platform costs for this Actor, Apify reports that Actor's profit as zero rather than subtracting the loss from other Actors.
Pricing risk controls:
- Current primary event:
report_generatedat$0.30; owner gross revenue after Apify margin is$0.24before platform costs. - Observed cloud platform cost after the fetch-budget fix was
$0.0253for a real Reddit run with 8 discussions and 5 opportunities. A previous manually started long run cost about$0.078, which is still below the current primary-event owner gross revenue but showed why fixed pricing needs hard caps. - Public default run size is bounded at 30 posts and 150 comments; hard caps are 50 posts and 500 comments.
- Internal Reddit fetch budget is 120 seconds so source fetching should not consume the full Apify run timeout.
- Public users cannot trigger owner-paid AI fallback. BYOK model costs are paid by the user's own model provider account.
Recommended public setup:
- Standard report PPE: one successful
report_generatedevent per completed report. - Optional AI enhancement PPE: one
ai_cluster_generatedadd-on event when BYOK AI enhancement succeeds. - Default data volume included in the report: up to 30 public Reddit posts, up to 8 comments per post, and up to 150 comments total.
- Hard caps: 50 posts, 20 comments per post, and 500 comments total.
- Keep
aiProvider: "none"andaiMode: "off"by default. - Recommend BYOK for AI features.
- Configure PPE events before relying on Actor revenue.
Agent-Ready Output
The first Dataset item includes:
answer: direct answer toanalysisGoal.confidence:low,medium, orhigh.topOpportunities[]: compact ranked opportunities for agents.recommendedActions[]: next actions tied to evidence.citations[]: evidence URLs and quotes.alerts[]: high-score opportunities or competitor mention spikes.monetization: PPE charge attempts and charged counts.opportunities[]: full opportunity objects.summary: counts, AI status, top themes, top entities.themeMap: signal counts by theme.evidenceTable: compact evidence rows.monitoringSummary: new/recurring/rising comparison when enabled.markdownReport: full human-readable report.csvReport: opportunity export.
Each opportunity includes title, score, buyingIntentScore, targetUser, painSummary, suggestedProduct, entities, evidence[], risks, and nextValidationStep.
The Actor also defines .actor/output_schema.json, so Apify Console and AI agents can discover where to read Dataset, JSON, Markdown, and CSV outputs.
Monitoring Mode
For scheduled runs:
- Run the Actor once and save
outputs/smoke/output.jsonor the Dataset item. - Pass that JSON into
previousReport. - Enable
trendMode. - Optionally enable
monitoringOnlyand setalertThreshold.
The output will include new opportunities, recurring opportunities, rising themes, new competitor mentions, and alerts.
Local Commands
npm run samplenpm run validate:samplenpm run sample:ainpm run validate:sample-ainpm run presetnpm run validate:presetnpm run smokenpm run validate:smokenpm test
Run a custom input:
$node src/main.js --input path/to/input.json --output-dir outputs/custom
Apify Deployment
Actor files:
.actor/actor.json.actor/input_schema.json.actor/output_schema.jsonDockerfilesrc/main.js
Deploy:
$npx apify-cli@1.6.1 push
Cloud Actor:
- Actor ID:
BXI7bc4uZD7wvgoA4 - Console page:
https://console.apify.com/actors/BXI7bc4uZD7wvgoA4 - Store URL after publishing:
https://apify.com/signalflow_studio/reddit-opportunity-finder - Default cloud run options: latest build, 1024 MB memory, 600 second timeout.
- Internal Reddit fetch budget: 120 seconds, then the Actor continues with partial real data so slow Reddit/proxy requests do not consume the full run timeout.
Recent verification runs:
- Cloud latest pricing/runtime smoke:
K3fHgnaK5pjf8fgAZ, build0.1.26, statusSUCCEEDED, 20 real Reddit discussions, 5 opportunities,REPORT.mdgenerated,report_generatedcharged once inOUTPUT.json, platform usage cost$0.0353, default timeout 600 seconds. - Cloud pricing/runtime run:
4ldfGBBJggc7YhRv9, build0.1.22, statusSUCCEEDED, 8 real Reddit discussions, 5 opportunities,REPORT.mdgenerated,report_generatedcharged once inOUTPUT.json, platform usage cost$0.0253. - Cloud timeout regression run:
Ziy1xxJP91u9iOqHR, build0.1.21, statusTIMED-OUT; fixed by reducing the internal Reddit fetch budget to 120 seconds in build0.1.22. - Cloud sample AI run:
28wtwpTcDoJzyRT1q, statusSUCCEEDED, 9 opportunities, output schema links present, DeepSeek cluster and polish enabled. - Cloud real-data smoke run:
peTXxbSqLk78gM7Ds, statusSUCCEEDED, 8 posts, 7 comments, 9 signals, 5 opportunities, answer/citations/alerts present. - Cloud latest-build sample run:
In6i9rqckFyHj6PJ6, build0.1.15, statusSUCCEEDED, 6 opportunities, output schema links present. - Cloud missing-user-key AI run:
cSiyZD7I06SipymTa, build0.1.15, statusSUCCEEDED, AI disabled because no useraiApiKeywas provided.
Cloud Reddit note: direct Reddit JSON requests from Apify datacenter IPs can return HTTP 403. proxyType: "auto" uses direct requests locally and Apify RESIDENTIAL proxy in cloud. Keep runs bounded and expect occasional source-level fetch errors.
Compliance
- Only bounded public Reddit posts/comments are fetched.
- The Actor does not log in, post, comment, vote, profile users, bypass access controls, train models on Reddit data, or resell raw Reddit data.
- Users are responsible for ensuring their use complies with Reddit terms, Apify terms, and applicable laws.
- Use it for product research, opportunity discovery, and market intelligence, not harassment, spam, surveillance, or platform manipulation.
Monetization Notes
The Actor is designed for Pay-per-event monetization. The code attempts these Apify PPE charges and records the result in summary.monetization:
report_generatedai_cluster_generated
Recommended first-stage event setup:
report_generated: primary event, one time per successful report.ai_cluster_generated: optional event when BYOK AI enhancement succeeds.
Alerts are included in the report and are not charged as a separate default event.
Recommended public defaults:
aiProvider: "none"andaiMode: "off"by default.- Users who enable AI should set
aiApiKey; those model costs are billed to their own AI provider account. - Public AI usage is BYOK only. The Actor does not read owner environment AI keys for public runs.
If PPE is not configured in Apify Console or through the Actor API, runs still complete and the events are recorded with chargedCount: 0.
