B2B Reddit Conversation Monitor

live$0.0018/thread rowSignal Detection

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

modestringoptional

Mode. What to look for. Company needs company_domain or domains. Category needs category_keywords. Gap needs a topic, subreddits, or both.

sourcesarrayoptional

Sources. 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_domainstringoptional

Company domain. Company mode. One company website, for example smartlead.ai. Brand names are resolved from it unless you give brand_names.

domainsarrayoptional

Domains (batch). Company mode. Several domains, one per line. Each gets its own rows and summary. Up to 50.

brand_namesarrayoptional

Brand 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_namesarrayoptional

Product names. Company mode. Product names to search for beside the brand.

competitorsarrayoptional

Competitors. 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_competitorsbooleanoptional

Discover competitors. Company mode. Find competitors in the brand threads when none are given. A name must appear in two or more threads.

max_competitorsintegeroptional

Max competitors. Company mode. Up to 5 competitors get share of voice columns and their own searches.

use_identity_resolverbooleanoptional

Resolve 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_keywordsarrayoptional

Category keywords. Category mode. Product lane phrases, one per line, for example cold email tools or sales engagement platform.

known_companiesarrayoptional

Known companies. Category and gap modes. Company or product names to always count when they appear, beside the names found by pattern.

topicstringoptional

Topic. 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_termsarrayoptional

More 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.

subredditsarrayoptional

Subreddits. 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_subredditsarrayoptional

Exclude subreddits. Rows from these subreddits are dropped, without the r/.

vendor_subredditsstringoptional

Vendor 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_subredditsbooleanoptional

Discover 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_daysintegeroptional

Date window (days). Only threads posted in the last this many days.

max_threadsintegeroptional

Max 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_commentsbooleanoptional

Comment 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_threadsintegeroptional

Threads 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_threadintegeroptional

Max comments per thread. Comments read from each opened thread, top comments first.

comment_depthintegeroptional

Comment depth. Reply levels read in each opened thread. 1 reads only top level replies.

include_hacker_newsbooleanoptional

Add Hacker News (older switch). Older switch, kept so saved tasks keep working: true adds hackernews to Sources. Use Sources instead.

producthunt_forumsarrayoptional

Product 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_usdstringoptional

Max 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_newbooleanoptional

Only 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_keystringoptional

State key. Names the seen list for only_new. Use one key per schedule. Empty: a key made from the input.

webhook_urlstringoptional

Webhook 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_nintegeroptional

Webhook top rows. How many rows the webhook carries.

proxy_modestringoptional

Proxy. 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

json
{
  "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

$0.0018per thread row

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.

Available on