B2B Reddit Conversation Monitor
Last updated October 20, 2026
Find the Reddit threads that name a company, its competitors, or a product category. Enter a domain, category keywords, or a topic and get tagged threads and comments (complaint, switching, buying intent, alternative request) with an intent score, plus summary rows. CSV or Clay ready.
Features
- Find the Reddit threads that name a company, its competitors, or a product category.
- Enter a domain, category keywords, or a topic and get tagged threads and comments (complaint, switching, buying intent, alternative request) with an intent score, plus summary rows.
- CSV or Clay ready.
- Pay per event: Thread row at $0.0018.
- Pay per event: Comment row at $0.001.
- Pay per event: Summary row at $0.003.
Input
modestringoptionalMode. What to look for. Company needs company_domain or domains. Category needs category_keywords. Gap needs a topic, subreddits, or both.
sourcesarrayoptionalSources. Where to read conversations. Reddit (the default) reads public Reddit feeds. Hacker News reads stories and comments through the public Hacker News search API, no key. Product Hunt reads public product, review, launch, and discussion pages, no login and no key. Every row carries the same columns and a source column (reddit, hacker_news, or product_hunt). Company mode reads the brand's Product Hunt product forum and reviews; category mode reads Product Hunt launches for the keywords; gap mode reads the Product Hunt forums below, newest first, and keeps threads that carry every word of the topic.
company_domainstringoptionalCompany domain. Company mode. One company website, for example smartlead.ai. Brand names are resolved from it unless you give brand_names.
domainsarrayoptionalDomains (batch). Company mode. Several domains, one per line. Each gets its own rows and summary. Up to 50.
brand_namesarrayoptionalBrand names. Company mode. Names to search for, as the company writes them, for example Smartlead. When empty, the brand name comes from Mamba Labs Company Identity Resolver (see the setting below) or the homepage title. Give it for a brand whose name is also a common word.
product_namesarrayoptionalProduct names. Company mode. Product names to search for beside the brand.
competitorsarrayoptionalCompetitors. Company mode. Competitor names for share of voice and displacement signals. When empty and discover_competitors is on, competitors are found in the brand threads from comparison, alternative, and switching phrasing.
discover_competitorsbooleanoptionalDiscover competitors. Company mode. Find competitors in the brand threads when none are given. A name must appear in two or more threads.
max_competitorsintegeroptionalMax competitors. Company mode. Up to 5 competitors get share of voice columns and their own searches.
use_identity_resolverbooleanoptionalResolve brand names with Company Identity Resolver. Company mode, used only when brand_names is empty. Runs Mamba Labs Company Identity Resolver from your account to read the brand name; Apify charges you that actor's own result event (0.007 USD per domain). Off: the homepage title is used, at no extra charge.
category_keywordsarrayoptionalCategory keywords. Category mode. Product lane phrases, one per line, for example cold email tools or sales engagement platform.
known_companiesarrayoptionalKnown companies. Category and gap modes. Company or product names to always count when they appear, beside the names found by pattern.
topicstringoptionalTopic. Gap mode. What the questions are about, for example cold email deliverability. Used to search each subreddit and to find subreddits when none are given.
topic_termsarrayoptionalMore topic queries. Gap mode. Extra search phrases for the same need, for example data enrichment and enrich leads beside the topic lead enrichment. Reddit search returns only posts that carry every word of a query, so a two word topic can be narrow. Up to 10.
subredditsarrayoptionalSubreddits. Limit every search to these subreddits, without the r/. When empty, company and category modes search all of Reddit and gap mode finds subreddits from the topic.
exclude_subredditsarrayoptionalExclude subreddits. Rows from these subreddits are dropped, without the r/.
vendor_subredditsstringoptionalVendor subreddits. A vendor's own subreddit (named after the brand, a competitor, or a company found in the run, such as r/smartlead) is read as marketing. Exclude drops those threads. Flag returns them with vendor_subreddit true and leaves them out of share of voice and every summary count. A subreddit you name in Subreddits is never treated as a vendor subreddit.
discover_subredditsbooleanoptionalDiscover subreddits. Gap mode. Find up to 8 subreddits from the topic when none are given. The list used is in the run summary and on every theme row.
since_daysintegeroptionalDate window (days). Only threads posted in the last this many days.
max_threadsintegeroptionalMax threads per input. Thread rows per input in company and gap modes, and threads read in category mode. Each thread row is one thread-row charge. With more than one source, the cap applies to each source.
include_commentsbooleanoptionalComment rows. Return comments that name the brand, a competitor, or a category company as their own rows (comment-row charge). Default: on in company and gap modes, off in category mode. Comments are read for tool names either way.
max_comment_threadsintegeroptionalThreads to open for comments. How many threads per input are opened to read comments, highest intent first. Default 20 in company mode, 30 in category mode, 50 in gap mode. 0 reads no comments.
max_comments_per_threadintegeroptionalMax comments per thread. Comments read from each opened thread, top comments first.
comment_depthintegeroptionalComment depth. Reply levels read in each opened thread. 1 reads only top level replies.
include_hacker_newsbooleanoptionalAdd Hacker News (older switch). Older switch, kept so saved tasks keep working: true adds hackernews to Sources. Use Sources instead.
producthunt_forumsarrayoptionalProduct Hunt forums. Gap mode with Product Hunt in Sources: the Product Hunt forums to read, by the name in the forum link (producthunt.com/p/<name>). Empty reads general. Up to 10.
max_charge_usdstringoptionalMax charge per run (USD). Stop before a row would push this run past this amount. Empty: no limit beyond the one you set in Apify.
only_newbooleanoptionalOnly new results. For scheduled runs. Skip threads and comments an earlier run with the same state key already returned. Skipped rows are free. The seen list is kept in a key-value store in your account.
state_keystringoptionalState key. Names the seen list for only_new. Use one key per schedule. Empty: a key made from the input.
webhook_urlstringoptionalWebhook URL. Optional https URL. At the end of the run the actor POSTs JSON with a Slack compatible text field, the run summary, and the top rows by intent score. A Slack incoming webhook URL works as is.
webhook_top_nintegeroptionalWebhook top rows. How many rows the webhook carries.
proxy_modestringoptionalProxy. Reddit refuses requests that do not come through a proxy. Auto uses the Apify datacenter proxy and moves to residential addresses only when Reddit refuses. Residential only is slower and is for runs where auto keeps being refused. This is a reliability choice; under pay per event the proxy is not billed to you.
Output schema
{
"row_type": "string",
"mode": "string",
"input_key": "string",
"source": "string",
"item_id": "string",
"thread_id": "string",
"url": "string",
"thread_url": "string",
"subreddit": "string",
"vendor_subreddit": "boolean",
"author": "string",
"title": "string",
"body_excerpt": "string",
"created_at": "string",
"age_days": "number",
"comment_count": "null",
"matched_entity": "string",
"matched_terms": "array",
"competitor_named": "null",
"tags": "array",
"primary_tag": "string",
"sentiment": "string",
"intent_score": "integer",
"displacement_signal": "boolean",
"displacement_competitor": "null",
"tools_mentioned": "array",
"is_question": "boolean",
"answer_status": "string",
"is_new": "null",
"company_domain": "null",
"brand_names": "null",
"competitors": "null",
"competitors_source": "null",
"subreddits_used": "null",
"entity_name": "null",
"entity_domain": "null",
"theme_label": "null",
"theme_keywords": "null",
"mention_count": "null",
"thread_count": "null",
"comment_mention_count": "null",
"positive_count": "null",
"negative_count": "null",
"mixed_count": "null",
"neutral_count": "null",
"negative_pct": "null",
"share_of_voice_pct": "null",
"competitor_1_name": "null",
"competitor_1_mentions": "null",
"competitor_1_sov_pct": "null",
"competitor_1_negative_pct": "null",
"competitor_2_name": "null",
"competitor_2_mentions": "null",
"competitor_2_sov_pct": "null",
"competitor_2_negative_pct": "null",
"competitor_3_name": "null",
"competitor_3_mentions": "null",
"competitor_3_sov_pct": "null",
"competitor_3_negative_pct": "null",
"competitor_4_name": "null",
"competitor_4_mentions": "null",
"competitor_4_sov_pct": "null",
"competitor_4_negative_pct": "null",
"competitor_5_name": "null",
"competitor_5_mentions": "null",
"competitor_5_sov_pct": "null",
"competitor_5_negative_pct": "null",
"displacement_count": "null",
"top_complaint_themes": "null",
"tag_counts_json": "null",
"question_count": "null",
"unanswered_count": "null",
"answered_with_tool_count": "null",
"tools_recommended": "null",
"example_urls": "null",
"first_seen": "null",
"last_seen": "null",
"row_status": "string",
"error_reason": "null",
"billable_events_json": "string",
"checked_at": "string"
}Pricing
Pay-per-event billing on the Apify platform. You are charged only when the actor returns a result. No subscription, no seat license.
Free-tier Apify accounts include monthly free compute. Upgrade for higher concurrency and volume.