Disclosure: I built the Reddit Keyword Monitor and Reddit Scraper used in this guide and earn from their usage on Apify.
People talk about products on Reddit in a way they do not on review sites: honest complaints, "what should I use instead of X?" threads, and long comparisons. If your brand or your competitor comes up, you want to know the same day, not when the thread is a week old.
This guide sets up a Reddit monitor that runs on a schedule, returns only posts it has not shown you before, and sends them to Slack or email. It uses two Apify Actors:
- Reddit Keyword Monitor for the alerts: each new post that mentions your keyword, with the matched keyword, where it matched (title or text) and a snippet around the mention.
- Reddit Scraper for the follow-up: full comment threads of the posts that matter.
You need a free Apify account. You do not need a Reddit account, a Reddit app or a Reddit API key.
Step 1: Decide what to watch
Write down:
- Your brand and product names, plus common misspellings as separate keywords.
- Competitor names, if you want to see when people discuss them.
- Buyer phrases, such as "alternative to [competitor]" or "best tool for [task]".
- Words to exclude, for example
hiring,jobs, or a namesake that shares your brand name.
Keep each keyword short. Reddit search is literal, so a long sentence finds almost nothing.
Step 2: Set up Reddit Keyword Monitor
- Open the Reddit Keyword Monitor Store page and click Try for free.
- In Keywords to watch, add one keyword per line.
- Leave Only in these subreddits empty to watch all of Reddit, or list a few subreddits to stay focused.
- Add Exclude posts with these words.
- Keep Match multi-word keywords as an exact phrase and Only exact mentions on (both are the default). The second drops loosely related search results, and those are not charged.
- Keep Only posts not returned before on (the default). This is what makes it a monitor.
- Set Look back for the first run, for example
week. - Give it a Monitor name, such as
acme-brand. Each monitor name keeps its own memory, so you can run separate monitors for your brand and for competitors. - Click Save & Start.
The first run returns recent posts up to your limit as a starting point. Every later run returns only posts it has not returned before, and because it reads newest first, it stops as soon as it reaches a post it already knows. Runs with no new mentions cost almost nothing.
Each row has the keyword, matchedIn, the snippet, title, subreddit, author, score, comments count, time, flair and link.
Step 3: Schedule it
- In Apify Console, save your input as a task (the Save as task option on the Actor page).
- Open Schedules, create a schedule, and pick a time, for example every day at 8:00, or every 3 hours for a busy brand.
- Add the task to the schedule.
Step 4: Send alerts to Slack or email
The simplest option is in Apify Console: open the task, go to Integrations, and add the Slack or Gmail integration so you get a message when a run finishes.
For a message per mention with the snippet and link, use n8n, Make or Zapier:
- Trigger on "Actor run finished" (or "Watch Actor Runs") for your task.
- Get the dataset items of that run.
- If there are no items, stop.
- For each item, send a Slack message such as:
New mention of {keyword} in r/{subreddit}: {title} ({score} points) {url}followed by the snippet. - Or collect all items into one daily email digest.
Teams often add one more step that appends every mention to Google Sheets, so there is a history to search later.
Step 5: Dig into the threads that matter
A mention with 200 comments deserves a full read. Paste its link into the Reddit Scraper's Post links, turn on Include comments, and set Max comments per post. You get every comment with author, text, score, depth and parent, replies included, ready for a quick read or for sentiment analysis.
The Reddit Scraper also has its own Only new posts mode. Use it when you want to monitor whole subreddits (for example every new post in your product's subreddit) rather than keyword mentions.
What it costs
- Reddit Keyword Monitor: $2.40 per 1,000 mentions on paid Apify plans, less on Scale and Business. Skipped loosely related posts are not charged.
- Reddit Scraper: $1.20 per 1,000 results (a result is one post or one comment) on paid Apify plans, less on Scale and Business.
A small brand with a handful of mentions a day pays very little, because most runs return only a few rows.
Run it from the API with curl
Get your Apify token from Console settings and keep it in an environment variable:
curl -X POST \ "https://api.apify.com/v2/acts/apisamurai~reddit-keyword-monitor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"keywords": ["acme analytics", "acmeanalytics"], "excludeWords": ["hiring"], "monitorName": "acme-brand", "maxPostsPerSource": 50}' Run it from Python
Install the client with pip install apify-client. This script runs the monitor, then pulls comments for any mention with more than 20 comments:
import os from apify_client import ApifyClient client = ApifyClient(os.environ["APIFY_TOKEN"]) run = client.actor("apisamurai/reddit-keyword-monitor").call(run_input={ "keywords": ["acme analytics", "acme vs"], "excludeWords": ["hiring", "jobs"], "monitorName": "acme-brand", }) mentions = list(client.dataset(run.default_dataset_id).iterate_items()) print(f"{len(mentions)} new mentions") busy = [m["url"] for m in mentions if (m.get("commentsCount") or 0) > 20] if busy: thread_run = client.actor("apisamurai/reddit-posts-comments-scraper").call(run_input={ "postUrls": busy, "includeComments": True, "maxCommentsPerPost": 100, }) for row in client.dataset(thread_run.default_dataset_id).iterate_items(): if row["type"] == "comment": print(row["score"], row["text"][:100]) Tips
- Add misspellings and the product name without spaces as extra keywords.
- Use one monitor name per purpose (brand, competitors, buyer phrases), so their memories stay separate.
- If you get too many off-topic posts, add exclude words or limit the subreddits.
- Reply while threads are new. A helpful answer in the first hours gets read far more than one a week later.
A note on rules
Both Actors collect only public posts and comments. Follow Reddit's terms and the laws where you live, take care with personal data such as usernames, and follow each subreddit's rules when you reply. This is not legal advice.
Weighing the official Reddit API instead? Here is a current breakdown of Reddit API pricing in 2026.
I publish this and other pay-per-result data tools as API Samurai. The full catalog, with prices and code examples for each tool, is at apisamurai.com.


