Reddit Lead And Intent Finder
Pricing
from $0.50 / 1,000 results
Reddit Lead And Intent Finder
Find warm B2B leads on Reddit the moment they show buying or help intent. Scans posts & comments for phrases like "best CRM for…" or "alternative to…", matches your keywords, and scores each lead 0–100. No API key, no browser. Push to CRM, Slack, or Sheets.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Chidubem Aneke
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Reddit Lead & Intent Finder — Turn Reddit Into a Warm Lead Pipeline
Find people on Reddit who are actively asking to buy, switch, or get help — right now. This Actor scans posts and comments for real buying and help intent ("looking for a tool that…", "recommend an alternative to X", "anyone know how to…", "frustrated with Y", "best CRM for startups") and hands you a clean, scored list of warm leads — the person, what they said, the matched intent, and a 0–100 relevance score.
Stop scrolling Reddit manually. Give it your product keywords and a few subreddits (or search queries), click Start, and pipe fresh, qualified leads straight to your CRM, Slack, Google Sheets, Zapier, or Make — no setup, no browser, with optional built-in proxy support.
⚡ Built for speed & cost. A lightweight lead engine — runs fast, uses as little as 256–512 MB RAM, and costs a fraction of heavy browser-based tools.
Why this Actor
- 🔥 Real intent, not noise — five tunable intent categories (recommendation, alternative-seeking, problem/help, pain points, buying signals) plus your own custom phrases and regex.
- 🎯 On-topic by default — a lead must mention your product/topic and show intent, so you get prospects, not chatter.
- 📊 Scored & ranked — every lead gets a 0–100 relevance score with a transparent breakdown (intent, topic, recency, engagement). Filter with
minRelevance. - 🧹 Bot & throwaway filtering — optional author enrichment (karma, account age, verified) with
minKarma/minAccountAgeDaysgates. - 🔁 Incremental by design — scheduled runs remember what they've seen and emit only new leads.
- 🔔 Instant delivery — push each new lead to a webhook in JSON or Slack format.
- ✅ Works out of the box — no Reddit developer account or API setup required.
- 🤖 MCP-friendly — documented input/output schemas and copy-paste JSON for Apify MCP & LLM agents.
Who is this for?
| You are… | You get… |
|---|---|
| B2B / SaaS founder | People openly shopping for (or complaining about) tools like yours |
| Growth / demand-gen team | A steady feed of warm, intent-scored prospects to reach out to |
| Agency / lead-gen shop | Repeatable lead pipelines per client, delivered to their CRM |
| Social seller | Real conversations to join — with the exact quote and a direct link |
| Competitor conquesting | Catch "alternative to <competitor>" and "switching from <competitor>" the moment they post |
| Community / support team | Spot frustrated users and unanswered questions to help first |
How it works (3 steps)
- Tell it what you sell — add
topicKeywords(your category + competitor names). - Pick where to look —
searchQueriesfor Reddit search, and/orsubredditsto scan recent posts & comments. Choosemode: "both"to do both. - Get scored leads — each matching post/comment becomes a lead row with the matched intent phrase, intent category, topic keywords, a snippet, and a relevance score. Optionally stream them to a webhook.
Intent categories
Toggle any of these built-in presets (or use all), and add your own phrases on top:
| Category | Signals it catches (examples) |
|---|---|
seeking_recommendation | "recommend", "any suggestions", "what should I use", "looking for a", "best … for" |
alternative_seeking | "alternative to", "switching from", "instead of", "replacement for", "vs" |
problem_help | "how do I", "anyone know", "need help", "struggling with", "can't figure out" |
pain_point | "frustrated with", "hate that", "too expensive", "wish there was" |
buying_intent | "ready to buy", "budget for", "pricing", "worth it", "free trial" |
Add customIntentPhrases, choose matchMode (substring, word, or regex), and toggle caseSensitive for full control.
Input
| Field | Type | Default | Description |
|---|---|---|---|
topicKeywords | string[] | – | Product/category/competitor terms a lead must mention. Recommended. |
searchQueries | string[] | – | Queries for search mode. |
subreddits | string[] | – | Subreddits to scan / scope search. Use ["all"] to search across all of Reddit instead of specific communities. |
mode | string | both | search, scan, or both. |
stream | string | posts | posts, comments, or both (scan mode). |
intentPresets | string[] | all | Which built-in intent categories to use. |
customIntentPhrases | string[] | [] | Extra intent phrases / regex. |
matchMode | string | substring | substring, word, or regex. |
caseSensitive | boolean | false | Case-sensitive phrase matching. |
requireTopicMatch | boolean | true | Require a topic keyword and an intent phrase. |
ignoreKeywords | string[] | [] | Skip content containing these words. |
searchSort | string | relevance | relevance, hot, top, new, comments. |
searchTime | string | all | hour, day, week, month, year, all. |
resultsPerQuery | integer | 50 | Search results to examine per query (1–1000). |
lookback | integer | 50 | Recent posts/comments to scan per subreddit (1–1000). |
enrichAuthor | boolean | false | Fetch author karma/age/verified. |
minAccountAgeDays | integer | 0 | Drop authors newer than this (auto-enriches). |
minKarma | integer | 0 | Drop authors below this total karma (auto-enriches). |
minRelevance | integer | 0 | Only keep leads scoring at/above this (0–100). Guide: 0 = all matches, 40–55 = balanced, 60–75 = strong leads, 80+ = strictest. |
minScore | integer | 0 | Minimum net upvotes (upvotes − downvotes). 0 keeps fresh leads; raise to 5–20 for more-validated threads. |
includeNsfw | boolean | false | Include NSFW posts. |
excludeLockedOrRemoved | boolean | true | Skip locked/removed content. |
authorAllowlist | string[] | [] | Only these usernames. |
authorDenylist | string[] | [] | Never these usernames. |
sinceId | string | "" | Only leads newer than this Reddit fullname. |
maxLeads | integer | 0 | Stop after N leads (0 = unlimited). |
webhookUrl | string | "" | POST each new lead here in addition to saving it to the dataset. |
webhookFormat | string | json | json or slack. |
includeRaw | boolean | false | Attach the full raw object. |
proxyConfiguration | object | Apify Proxy (US Residential) | Connection settings. |
Output
One row per lead, tagged featureType: "lead":
| Field | Description |
|---|---|
leadType | post or comment |
discoveryMode | search or scan |
subreddit, author, authorFullname | Where and who |
title, body, url, permalink, postUrl | The content + direct outreach link |
score, numComments, createdAtISO | Engagement & recency |
matchedIntentCategory | Primary intent category |
matchedIntentCategories, matchedIntentPhrases | All matched categories & phrases |
matchedTopicKeywords | Topic keywords that matched |
matchedSnippet, matchedIn | Snippet around the match + where it matched |
relevanceScore | 0–100 overall score |
scoreBreakdown | { intent, topic, recency, engagement } |
authorProfile | Karma, account age, verified (when enrichment is on) |
Dataset views
- Overview — score, intent, author, title, snippet, link.
- Leads — full detail with intent phrases, topics, and score breakdown.
- Post leads — leads sourced from posts.
- Comment leads — leads sourced from comments.
Example lead
{"featureType": "lead","leadType": "post","discoveryMode": "scan","subreddit": "smallbusiness","author": "growthhacker22","title": "HubSpot is too expensive for a 5-person team — alternatives?","matchedIntentCategory": "alternative_seeking","matchedIntentPhrases": ["alternative to", "too expensive"],"matchedTopicKeywords": ["hubspot", "CRM"],"matchedSnippet": "…HubSpot is too expensive, looking for an alternative to it for our small team CRM…","matchedIn": "title+body","relevanceScore": 84,"scoreBreakdown": { "intent": 34, "topic": 20, "recency": 20, "engagement": 10 },"postUrl": "https://www.reddit.com/r/smallbusiness/comments/abc123/..."}
Run it via API / MCP
Example input payload for the Apify API, SDK, or an MCP/LLM agent:
{"topicKeywords": ["CRM", "hubspot", "salesforce"],"searchQueries": ["best CRM for startups", "hubspot alternative"],"subreddits": ["smallbusiness", "sales", "Entrepreneur"],"mode": "both","stream": "both","intentPresets": ["seeking_recommendation", "alternative_seeking", "pain_point", "buying_intent"],"requireTopicMatch": true,"minRelevance": 55,"enrichAuthor": true,"minAccountAgeDays": 30,"maxLeads": 200,"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ","webhookFormat": "slack"}
Start a run with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~reddit-lead-and-intent-finder/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{ "topicKeywords": ["CRM","hubspot"], "subreddits": ["smallbusiness"], "mode": "scan" }'
Scheduling, webhooks & CRM/Slack
- Leads always land in the dataset. The webhook is an additional real-time push — every lead is saved to the run's dataset regardless, so nothing is lost and your run always produces output.
- Schedule the Actor (e.g. every 15–60 minutes) from the Apify console. Thanks to the built-in incremental cursor, each run returns only new leads — no duplicates.
- Slack: set
webhookFormat: "slack"and paste a Slack Incoming Webhook URL intowebhookUrlto get a formatted alert per lead. - CRM / Sheets / Zapier / Make: set
webhookFormat: "json"and pointwebhookUrlat your endpoint or automation to create a contact/row per lead. - Bulk export: download the dataset as JSON, CSV, or Excel, or pull it from the dataset API.
FAQ
Do I need any setup or API keys? No. It works out of the box — just add your keywords and subreddits, then click Start.
How does the relevance score work?
It blends four signals — intent strength, topic keyword hits, recency, and engagement — into a single 0–100 score, with a per-lead scoreBreakdown so you can see why.
How do I only get leads about my product?
Keep requireTopicMatch: true (the default) and set topicKeywords to your category and competitor names. A lead must then match a topic and an intent phrase.
Will scheduled runs give me duplicates?
No. The Actor persists a per-source cursor and only emits leads newer than the last run. You can also pass sinceId for a manual floor.
Can I search comments?
Comment leads come from scan mode (stream: "comments" or "both"). Search mode returns post leads.
How do I filter out bots and throwaway accounts?
Enable enrichAuthor and set minKarma and/or minAccountAgeDays.
Why use a proxy? Optional but recommended for the most reliable results on scheduled runs. The default Apify Proxy (US Residential) works well for most users.
Need something custom? Let's build it
Beyond this Actor, I take on custom projects — and I'd love to help with yours:
- 🕷️ Custom scrapers & data pipelines — any website or platform, any scale, delivered as a ready-to-run Apify Actor, API, or scheduled data feed.
- 🌐 Web apps of any kind — dashboards, internal tools, SaaS products, landing pages, automations, and full-stack builds.
- 🔗 Integrations & automation — connect your data to CRMs, Slack, Google Sheets, Zapier/Make, or your own backend.
If you need a bespoke scraping solution, a web app, or an integration built end to end, get in touch and let's make it happen.
- 📧 Email: dubem115@gmail.com
- 💻 GitHub: github.com/DrunkCodes