Reddit Topic Watcher - Intent, Sentiment, B2B Triggers, MCP
Pricing
from $3.00 / 1,000 post records
Reddit Topic Watcher - Intent, Sentiment, B2B Triggers, MCP
Reddit monitoring with intent classification (recommendation/comparison/alternative-seek/complaint), sentiment, B2B trigger scoring, author profile signals (karma, age, bot filter), competitor mention tracking, MCP-ready output. For SDR teams, brand monitoring, AI agents.
Pricing
from $3.00 / 1,000 post records
Rating
0.0
(0)
Developer
Seibs.co
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Reddit Topic Watcher
Reddit monitoring for B2B intent capture, brand tracking, and AI-agent ingestion - sentiment, 8-label intent, B2B trigger score, MCP markdown.
What does Reddit Topic Watcher do?
It runs multi-keyword x multi-subreddit topic watch in a single run, classifies every post (and optionally each top comment) for sentiment, intent, and B2B-readiness, optionally enriches the author with karma / age / bot signals, and emits MCP-friendly Markdown summary blocks ready to feed an LLM agent or RAG store.
AI / RAG / Agent
Reddit signal stream pre-shaped for AI sales agents and brand-monitoring bots. Set output_mode=mcp to get clean Markdown summary blocks an LLM can consume directly - no extra prompt-engineering. Intent labels (recommendation, comparison, alternative_seek, complaint, ...) and b2b_trigger_score let an agent filter for buying-intent posts before it even calls the model. Compatible with MCP runtimes (Claude Desktop, Cursor), LangChain, LlamaIndex, Pinecone, Weaviate, Chroma.
from apify_client import ApifyClientfrom langchain.schema import Documentfrom langchain_community.vectorstores import Pineconefrom langchain_openai import OpenAIEmbeddingsclient = ApifyClient("APIFY_TOKEN")run = client.actor("you/reddit-topic-watcher").call(run_input={"keywords": ["alternative to zendesk", "looking for crm"],"subreddits": ["SaaS", "smallbusiness", "Entrepreneur"],"output_mode": "mcp","min_b2b_score": 0.6,})docs = [Document(page_content=item["mcp_block"],metadata={"subreddit": item["subreddit"],"intent": item["intent"],"sentiment": item["sentiment"],"b2b_score": item["b2b_trigger_score"],"permalink": item["permalink"],},)for item in client.dataset(run["defaultDatasetId"]).iterate_items()]Pinecone.from_documents(docs, OpenAIEmbeddings(), index_name="reddit-intent")
Features
- Multi-keyword x multi-subreddit topic watch with cross-job dedupe and a hard cap on emitted records.
- Sentiment classification (positive / neutral / negative) with -1..+1 magnitude, lexicon + 2-token negation lookback.
- 8-label intent classifier (recommendation_request, alternative_seek, comparison_request, complaint, frustration, question, praise, neutral_discussion) with
intent_keywords_matchedfor explainability. - Composite B2B trigger score (0-1) blending intent, recency, subreddit relevance, author quality.
- Author profile enrichment - karma, account age, mod / verified flags,
probable_botindicator. - Brand mention mode - counts competitor names across post + comments and emits per-topic aggregated
topic_summaryrecords with competitor leaderboards. - MCP-friendly markdown output - drop into an agent's tool response, MCP resource, or vector store.
- Top-comments unwind view for one-row-per-comment analysis.
Use cases
- SDR teams - surface recommendation_request and alternative_seek leads in real time across Reddit's vertical communities.
- RevOps / GTM analysts - track competitor mentions, sentiment trends, category demand signals.
- Brand managers - monitor brand mentions with sentiment split + reach (subscriber-weighted), alert on complaints.
- AI agent builders - feed MCP markdown summaries straight into an agent's context window or a RAG vector store.
- Market researchers - quantify category sentiment over a lookback window across any vertical community.
FAQ
Q: Is this legal?
A: Yes - we use Reddit's public JSON endpoints (e.g. reddit.com/r/<sub>/search.json), which are publicly accessible without authentication. Use the data per Reddit's Terms of Service and applicable law. We do not scrape NSFW or quarantined subreddits (those require login).
Q: Why might a run fail?
A: (1) Reddit 429/503 - we self-throttle to ~30 req/min and respect Retry-After, but very high concurrency on a single keyword can still trip it. (2) Quarantined or login-walled subreddits return empty - skip them. (3) Misspelled subreddit names silently return zero results - double-check casing on edge cases like r/Accounting.
Q: How fresh is the data? A: Live at crawl time. Posts and comments are pulled directly from Reddit's public JSON at run time - typically minutes-fresh on active subreddits.
Q: Can I schedule this daily or weekly? A: Yes - daily for high-volume B2B intent watchlists (CRM, ERP, sales tools), hourly for crisis brand monitoring, weekly for category-trend research. Use Apify Schedules; combine with cross-job dedupe so re-runs do not re-emit the same posts.
Q: How do I push results into a CRM or alerting tool?
A: SDR-priority leads (records where intent_classification in {recommendation_request, alternative_seek} and b2b_trigger_score >= 0.7) forward to HubSpot, Salesforce, or Apollo via Zapier/Make/n8n. Brand-manager complaint alerts can webhook straight into a Slack channel. The MCP markdown output can also feed an LLM-based qualification step before CRM write.
Q: What's MCP output?
A: Model Context Protocol - the open spec for feeding structured tool results into LLM agents (Claude, GPT, LangChain, custom agents). Set output_format: mcp and each topic_summary record includes a mcp_summary_md markdown block ready to drop directly into an agent's tool response, an MCP resource, or a RAG vector store - no reformatting required. Lets you build "watch Reddit for X and tell my agent about it" in one step.
Q: How is b2b_trigger_score computed?
A: 0.50 x intent_weight + 0.20 x recency_score + 0.20 x subreddit_relevance + 0.10 x author_quality. A score >= 0.7 triggers a high_intent_alert PPE event - treat that threshold as the SDR-action floor.
Q: How does PPE pricing actually work here? A: $0.003 per post, $0.001 per comment, $0.002 per unique author profile enrichment (cached per run), $0.008 per topic_summary record, $0.005 surcharge per high-intent alert. A typical "3 keywords x 5 subreddits x 30 days" run with comments on is roughly $1-3.
Related Actors
- ../b2b-sales-triggers/ - score company-level intent (hiring, funding, exec changes) alongside the post-level Reddit intent signals from this actor.
- ../google-maps-reviews-pro/ - extend reputation monitoring from Reddit threads into Google Maps reviews on the same brand for full off-site coverage.
- ../youtube-intelligence/ - layer YouTube comment / video sentiment on top of Reddit signals for cross-platform category research.
Integrations
- Zapier - push to HubSpot/Salesforce/Pipedrive/Apollo/Klaviyo
- Make.com - workflow automation
- n8n - self-hosted automation
- Apify webhooks - POST to your endpoint
- API + dataset export (JSON/CSV/Excel/XML)
- MCP / AI agents - call from Claude/GPT/LangChain
Modes
| Mode | Use case |
|---|---|
topic_watch | Track N keywords across M subreddits (or all of Reddit). |
brand_mention | Like topic_watch plus counts competitor names and emits per-topic summaries. |
subreddit_dump | Pull latest posts from each listed subreddit, no keyword filter. |
user_profile | Bulk-enrich Reddit usernames with karma, account age, mod / verified, bot indicator. |
Intent taxonomy
| Label | What it catches | Why SDRs / brand managers care |
|---|---|---|
recommendation_request | "looking for", "anyone recommend", "what's the best" | Highest-signal SDR lead - active vendor evaluation. |
alternative_seek | "alternatives to", "switching from", "tired of" | Conquest opportunity. |
comparison_request | "X vs Y", "which is better", "pros and cons" | Mid-funnel evaluation. |
complaint | "doesn't work", "broken", "ripoff" | Brand managers want these instantly. |
frustration | "frustrating", "fed up" | Soft churn signal. |
question | Generic interrogative | Lower priority, flagged for support. |
praise | "highly recommend", "game-changer" | UGC for social proof. |
neutral_discussion | Everything else | Default fallback. |
Input
See .actor/INPUT_SCHEMA.json. Sample - track CRM intent across sales subreddits:
{"mode": "topic_watch","keywords": ["best CRM", "CRM alternative", "tired of HubSpot"],"subreddits": ["sales", "saas", "smallbusiness"],"lookback_days": 30,"min_b2b_trigger_score": 0.5,"include_comments": true,"max_comments_per_post": 10,"include_author_profiles": true,"output_format": "json","concurrency": 4}
Output
Sample output: ./.actor/sample-output.json — copy-paste-ready preview of real-looking records.
First record inline:
{"record_type": "post","mode": "topic_watch","scraped_at": "2026-05-13T17:11:48Z","available": true,"reason": null,"query": "best CRM for small accounting firm","post_id": "1d4kb78","comment_id": null,"user_id": null,"permalink": "https://www.reddit.com/r/Accounting/comments/1d4kb78/best_crm_for_small_accounting_firm","subreddit": "Accounting","subreddit_subscribers": 514212,"title": "Best CRM for a 4-person CPA firm? Karbon vs TaxDome vs Canopy?","body": "We're growing past spreadsheets and email. Currently 4 CPAs + 2 admin. Need: client task tracking, document portal, e-sign, and ideally something that talks to QBO. Karbon looks polished but pricey. TaxDome is half the price. Anyone moved from Karbon to TaxDome or vice versa?","author": "ledgerlife_cpa","author_karma": 8421,"author_account_age_days": 2188,"author_is_mod": false,"author_verified": false,"score": 142,"upvote_ratio": 0.94,"comment_count": 73,"created_utc": 1747165908,"is_self": true,"link_url": null,"is_video": false,"num_crossposts": 1,"sentiment": "neutral","sentiment_score": 0.04,"intent_classification": "comparison_request","intent_keywords_matched": ["best","vs","anyone moved from"],"b2b_trigger_score": 0.88,"competitors_mentioned": [{"name": "karbon","mention_count": 4},{"name": "taxdome","mention_count": 3},{"name": "canopy","mention_count": 1}],"top_comments": [{"comment_id": "l9k2m4a","author": "small_firm_partner","body": "We moved from Karbon to TaxDome 6 months ago. TaxDome is messier UX but the e-sign and portal are way better for tax-heavy practices. Karbon is built for advisory, TaxDome is built for tax compliance.","score": 84,"created_utc": 1747171200,"sentiment": "neutral","sentiment_score": 0.12,"intent_classification": "recommendation_request","intent_keywords_matched": ["moved from","way better"]},{"comment_id": "l9k4nq2","author": "boutiquetax","body": "Canopy got expensive after the rebuild and the 2024 outage scared us off. Stuck with Karbon for now.","score": 41,"created_utc": 1747173600,"sentiment": "negative","sentiment_score": -0.32,"intent_classification": "frustration","intent_keywords_matched": ["expensive","scared us off"]}],"author_profile": null,"mcp_summary_md": null}
Sample post record:
{"record_type": "post","mode": "topic_watch","subreddit": "sales","title": "Tired of HubSpot pricing - what are people moving to?","author": "salesguy42","score": 187,"comment_count": 53,"sentiment": "negative","sentiment_score": -0.42,"intent_classification": "alternative_seek","intent_keywords_matched": ["tired of"],"b2b_trigger_score": 0.86,"permalink": "https://www.reddit.com/r/sales/comments/...","available": true,"scraped_at": "2026-05-14T12:00:00Z"}
Pricing
Pay-per-event:
| Event | Price | When charged |
|---|---|---|
post_record | $0.003 | Per emitted post |
comment_record | $0.001 | Per top comment fetched |
author_profile_enrichment | $0.002 | Per unique author (cached per run) |
topic_summary | $0.008 | Per topic_summary record |
high_intent_alert | $0.005 | Surcharge when b2b_trigger_score >= 0.7 |
FAQ
Q: Do I need a Reddit API key?
A: No - we use Reddit's public JSON endpoints, which work without authentication. We self-throttle to ~30 req/min and respect Retry-After on 429/503.
Q: Does this scrape NSFW or quarantined subreddits? A: No - quarantined subreddits require login. NSFW community results may be filtered by Reddit's anonymous endpoint based on the request session.
Q: How is b2b_trigger_score computed?
A: 0.50 * intent_weight + 0.20 * recency_score + 0.20 * subreddit_relevance + 0.10 * author_quality. A score >= 0.7 triggers a high_intent_alert PPE event.
Q: Can the MCP output be used directly with Claude / GPT-4?
A: Yes - set output_format=mcp and the topic_summary records carry a mcp_summary_md markdown block ready for an LLM context window or RAG ingestion.
Save your input as an Apify Task
Apify Tasks let you save a configured input once and re-run it with a single click - no need to re-type search terms, locations, filters, or tier settings every time. Tasks are the foundation for everything that comes next: schedules, monitor mode, and webhook routing all attach to a saved Task, not to the raw actor.
Steps to save your current input as a Task:
- On this actor's Apify Store page, click
Runwith your input fully configured. - Click the
Save as taskbutton at the top of the run page. - Name the task something memorable (e.g.
Watch r/sysadmin for ConnectWise mentions - daily). - Reload the task page and click
Startanytime to re-run with the same inputs.
Tasks unlock the next two features below: scheduling and monitor mode.
Run this weekly with Apify Schedules
Apify Schedules cron-run any saved Task automatically. Pair this with the saved Task above and you get hands-off recurring runs with no manual clicks, no missed weeks, and a steady stream of fresh data into your CRM or warehouse.
Steps to schedule a Task:
- Save your input as a Task (see above).
- Go to https://console.apify.com/schedules and click
Create new schedule. - Pick your Task and set the cron expression. Common patterns:
- Daily at 9am UTC:
0 9 * * * - Weekly on Mondays at 9am:
0 9 * * 1 - Monthly on the 1st:
0 9 1 * *
- Daily at 9am UTC:
- Save. Apify will run your Task on that schedule automatically, push the dataset to whatever integrations you have wired up, and fire run-completion webhooks for downstream automation.
Run daily to monitor for new mentions, complaints, and shifting sentiment across the subreddits you track.
Monitor mode (v2, beta)
Monitor mode is the v2 evolution of this actor and is currently in BETA. It turns a recurring schedule into a true change-feed instead of a firehose of duplicate records.
How it works:
- When this actor runs under an Apify Schedule, monitor mode is enabled automatically.
- Instead of emitting ALL records every run, it emits ONLY records that are NEW or CHANGED since the last scheduled run.
- A digest record summarizes the delta (X new, Y changed, Z removed) at the top of every run.
- Optional: provide a Slack or email webhook URL in the
monitor_webhook_urlinput field and the digest fires there too, so your team gets the delta in their inbox or channel without polling the dataset. - Cost: a single
scheduled_delta_runevent ($0.05) per scheduled run, plus standard PPE on emitted delta records only. Predictable monthly cost, no surprise bills from re-charging for unchanged records.
Monitor mode is rolling out to the top 3 actors first (this one included if it's hotel-motel-lead-finder, google-maps-reviews-pro, or mcp-accounting-firm-leads). Full portfolio coverage by end of June.
Support
Open an issue on the actor's GitHub or contact via Apify Store. Include the run ID and input config.
Changelog
See ./CHANGELOG.md.
Found this useful?
If this actor saved you time or money, please consider leaving a quick review on the Apify Store. Reviews help other buyers find work that solves their problem and let me prioritize the features paying customers actually use. Leave a review: https://apify.com/seibs.co/reddit-topic-watcher#reviews