← API Catalog
Apify·Async

Reddit Scraper: Lead Finder, Brand Monitor, Mentions & Alerts

Social$0.0014 / Result Saved

What it does

Find leads and track brand mentions on Reddit. Monitor buying-intent phrases like "is there a tool", competitor names and keywords, flag real buyers with an AI label, and get new posts in Slack or Notion on a daily schedule. Social listening with no Reddit API key, from $1.50 per 1,000 results.

Returns: Find leads and track brand mentions on Reddit. Monitor buying-intent phrases like "is there a tool", competitor names and keywords, flag real buyers with an AI label, and get new posts in Slack or Notion on a daily schedule. Social listening with no Reddit API key, from $1.50 per 1,000 results.

Parameters

ParameterTypeRequiredDescription
hasPainbooleanNoAdds aiFlags.hasPain (true/false) to every analyzed post and comment: true when the author describes a problem, a failed tool, or something not working. Billed as one custom_label event per result ($0.10 per 1,000).
isOwnerbooleanNoAdds aiFlags.isOwner (true/false) to every analyzed post and comment: true when the author founded, owns, or operates a business (not a customer or employee). Billed as one custom_label event per result ($0.10 per 1,000).
mcpModeselectNoperPost: send one message/record per scraped post. summary: send a single digest of the whole run.
mcpTooltextNoForce a specific tool name on the connector (e.g. send_message, create_page, append_row). Leave empty to auto-detect the connector's write/notify tool.
isVendorbooleanNoAdds aiFlags.isVendor (true/false) to every analyzed post and comment: true when the author is selling, promoting, or recruiting testers for their own product or service. Billed as one custom_label event per result ($0.10 per 1,000).
mcpTargettextNoWhere to write — the destination ID the tool needs: a Notion database/page ID, a Google Sheet ID, a Slack channel, or owner/repo. Leave blank for connectors that post to a default location. Advanced shapes go in Arguments JSON below.
painPointbooleanNoAdds aiFlags.painPoint (text) to every analyzed post and comment: the problem or unmet need in under 15 words, or none. Billed as one custom_label event per result ($0.10 per 1,000).
startUrlsarrayNoAdd one or more Reddit URLs to scrape directly. Supports post URLs, subreddit URLs, user profile URLs, and search page URLs. The Search Keywords options above (sort, time, community filter) do NOT apply to these URLs.
wantsHelpbooleanNoAdds aiFlags.wantsHelp (true/false) to every analyzed post and comment: true when the author is looking for a product, service, or person to solve their problem — the classic lead signal. Billed as one custom_label event per result ($0.10 per 1,000).
aiAnalysisbooleanNoAdds AI-judged fields to posts and comments: sentimentLabel (positive / negative / neutral / mixed / uncertain), sentimentScore (-1 to 1), intent (question, seeking_recommendation, complaint, praise, purchase_intent, comparison, announcement, self_promotion, discussion), emotion (joy, excitement, anger, frustration, sadness, disappointment, fear, surprise, neutral), entities (brands, products and companies mentioned), and — for keyword-search results — relevanceScore (0 to 1). Posts also receive a contentCategory. The model understands Reddit slang and sarcasm; bot and moderator boilerplate is labelled uncertain free of charge. Each analyzed result is billed once as an analyzed_item event — see the Pricing tab. Requires a paid Apify plan and is ignored on free plans.
competitorbooleanNoAdds aiFlags.competitor (text) to every analyzed post and comment: the competing product, brand, or tool mentioned, or none. Billed as one custom_label event per result ($0.10 per 1,000).
mcpMessagetextareaNoTemplate for each message. Use {{field}} placeholders from ANY post field — common ones: {{title}}, {{body}}, {{postUrl}}, {{authorName}}, {{score}}, {{upVotes}}, {{commentsCount}}, {{communityName}}, {{flair}}, {{createdAt}}. Nested/array fields work via dot or [index] paths: {{mediaAssets.0.url}}, {{galleryImages[0]}}, {{media.reddit_video.fallback_url}}. (Full field list in the README.) Missing fields render empty.
searchSortselectNoControls how keyword search results are ranked. Only applies to Search Keywords, not Direct URLs.
searchTimeselectNoLimit keyword search results to posts from a specific time window. Only applies to Search Keywords.
includeNSFWbooleanNoInclude posts marked as Not Safe For Work in results. Applies to both Search Keywords and Direct URLs.
mcpCommentsselectNoWhen 'Scrape comments for each post' is on, choose how comments reach your app. Ignore: send posts only (comments still saved to the dataset). Bundle: attach each post's top comments inside its message. Separate: send each top comment as its own message/record.
mcpMaxItemsnumberNoSafety cap on how many posts are piped to the connector per run (perPost mode). Protects against flooding the destination.
postedAftertextNoOnly keep posts created on or after this date (00:00 UTC), or within a relative period counted back from the run start, e.g. '1 day' for a daily schedule or '7 days' for a weekly one. When set, results are fetched newest-first (sort=new) and the search Time range is ignored. Reddit caps each listing at ~1,000 posts, so a window behind a very high-volume query may be only partly reachable. Applies to Search Keywords, subreddit URLs, the Full Subreddit Scrape, and user profiles.
searchPostsbooleanNoInclude posts in keyword search results.
searchTermsarrayNoEnter one or more keywords to search Reddit (e.g. "recommend a CRM", "alternative to HubSpot", or your brand name). Keep each phrase short: Reddit search is literal, so a long sentence usually finds nothing. Each keyword runs as a separate search. Free Apify plans search the first 40 keywords per run (paid plans are unlimited) — extra keywords are skipped and noted in the run log. Quoted phrases return fewer posts, especially inside one community. Leave empty if you only want to scrape Direct URLs below.
customLabelsjsonNoDefine your own labels as {"label_name": "plain-language instruction"} and the AI evaluates each one on every analyzed post and comment, returning them under customLabels on each result. Example: {"mentions_pricing": "true if the text complains about pricing or cost", "competitor": "name the competing product mentioned, or none"}. Up to 5 labels; names must be short identifiers (letters, digits, underscore). The AI flag checkboxes above do not count against this cap. Each label evaluated on each result is billed as one custom_label event — 3 labels on 1,000 results = 3,000 events. An evaluation that finds nothing (an empty/null answer, when your instruction allows it) is still an evaluation and is charged; nothing is charged for results the AI could not process. Setting custom labels enables the full AI Analysis on the same items — each labeled result is also billed once as an analyzed_item. Paid add-on: requires a paid Apify plan; ignored on free plans.
mcpArgumentsjsonNoExtra/override arguments merged into each tool call as JSON — e.g. {"channel": "#reddit"} for Slack. {{field}} placeholders work inside string values too, so you can nest live data into any shape the tool needs — e.g. Notion: {"properties": {"Title": {"title": [{"text": {"content": "{{title}}"}}]}, "Link": {"url": "{{postUrl}}"}}}. Use it to satisfy required fields or fully control the payload.
mcpConnectortextNoPick an authorized MCP connector (Slack, Notion, GitHub, Airtable, Supabase, …) to receive the scraped posts. This is the recommended, secure path — your credentials stay in Apify and are never exposed to this actor (Apify's proxy injects them). Leave empty to scrape only. Create connectors under Settings → API & Integrations → MCP connectors, or inline here.
mcpServerUrltextNoAdvanced/testing only. Connect directly to a raw MCP server URL, bypassing the MCP Connector above. For real use prefer a connector — with a connector your credentials stay in Apify and are never seen by this actor. When set, this overrides the connector.
postedBeforetextNoOnly keep posts created on or before this date (the end of that day, 23:59:59 UTC). A relative value such as '1 day' keeps only posts at least one day old.
willingToPaybooleanNoAdds aiFlags.willingToPay (true/false) to every analyzed post and comment: true when the author names a budget, asks for a quote, or says they would pay. Billed as one custom_label event per result ($0.10 per 1,000).
maxPostsCountnumberNoMaximum posts saved for EACH search keyword and EACH Reddit URL: 5 keywords × 50 = up to 250 posts. Full Subreddit Scrape uses this as one total. Each saved post is a billed result. Reddit search returns up to about 2,000 posts for a busy keyword; use Full Subreddit Scrape for more. Max: 50000.
mentionsPricebooleanNoAdds aiFlags.mentionsPrice (true/false) to every analyzed post and comment: true when the text mentions a price, fee, retainer, subscription cost, or money spent. Billed as one custom_label event per result ($0.10 per 1,000).
onlyWithFlairbooleanNoWhen enabled, drop posts with no flair and keep only those that have a flair assigned. Applies to Search Keywords, subreddit URLs, the Full Subreddit Scrape, and user profiles.
subredditUrlsarrayNoSubreddits to scrape in full. Enter subreddit names or links — e.g. AskReddit, r/AskReddit, or https://www.reddit.com/r/AskReddit/. This collects far more posts per subreddit than a standard scrape. It uses more requests, so runs take longer and cost more. Comments are also collected when 'Scrape comments for each post' is enabled — increase Max posts to allow more results per subreddit.
commentedAftertextNoOnly keep comments created on or after this date (UTC), or within a relative period such as '1 day' for a daily schedule. Applies when comments are collected (comment search, or 'Scrape comments for each post').
featureRequestbooleanNoAdds aiFlags.featureRequest (true/false) to every analyzed post and comment: true when the author asks for or describes a feature or product that does not exist yet. Billed as one custom_label event per result ($0.10 per 1,000).
mcpServerTokentextNoBearer token for the dev MCP server URL above. Note: a token entered here IS visible to the actor at runtime — for production use an MCP Connector instead, so credentials never leave Apify. Ignored unless the URL is set.
searchCommentsbooleanNoInclude comments in keyword search results. Each comment is a billed result (up to 'Max search comments' per keyword).
commentedBeforetextNoOnly keep comments created on or before this date (UTC).
withinCommunitytextNoRestrict keyword search to a single subreddit. This is a name, not a post limit. Accepts a bare name (developers), r/developers, or a full subreddit URL. Leave empty to search all of Reddit. Only applies to Search Keywords.
maxCommentsCountnumberNoMaximum comments returned per search keyword (when 'Search for comments' is enabled). Does not affect per-post comment scraping.
searchCommunitiesbooleanNoInclude communities (subreddits) in keyword search results.
maxCommentsPerPostnumberNoMaximum comments to scrape per individual post (when 'Scrape comments for each post' is enabled). Each comment is a billed result: 50 posts × 200 comments can be 10,000 results.
mcpCommentsPerPostnumberNoHow many top comments (by score) to include per post when bundling or sending comments. Requires 'Scrape comments for each post'.
maxCommunitiesCountnumberNoMaximum communities returned from keyword search (when 'Search for communities' is enabled).
crawlCommentsPerPostbooleanNoWhen enabled, comments will be collected for every post found from both Search Keywords and Direct URLs. This significantly increases run time and data output. Each comment is a billed result: 50 posts × 200 comments can be 10,000 results.

Endpoints

GET/v1/agents/resources/inspect/apify.harshmaur.reddit-scraper-proPublic
POST/v1/agents/resources/estimate/apify.harshmaur.reddit-scraper-proPublic
POST/v1/agents/resources/run/apify.harshmaur.reddit-scraper-proAgent key
GET/v1/agents/resources/runs/{run_id}Agent key

Quick start

Run it with one Agent One Key over the OpenAI-compatible resource rail.

curl -X POST https://api.deva.me/v1/agents/resources/run/apify.harshmaur.reddit-scraper-pro \
  -H "Authorization: Bearer deva_your_key_here" \
  -H "Content-Type: application/json" \
  --data '{
    "params": {}
  }'

Related in Social

Instagram Scraper
Extract Instagram posts, reels, profiles, places, hashtags, carousels, and comments. Get data from Instagram using one or more Instagram URLs or search queries: content, context, metrics, metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.
Tweet Scraper V2 - X Scraper / Twitter Scraper / X.com Scraper
Lightning-fast search, URL, list, and profile scraping, with customizable filters. At $0.40 per 1000 tweets, and 30-80 tweets per second, it is ideal for researchers, entrepreneurs, and businesses! Get comprehensive insights from Twitter (X) now!
TikTok Scraper
Extract data from TikTok videos, hashtags, and users. Use URLs or search queries to scrape TikTok profiles, hashtags, posts, URLs, shares, followers, hearts, names, video, and music-related data. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.
Instagram Profile Scraper
Scrape all Instagram profile info. Just add Instagram usernames, IDs or URLs and extract name, join date, number of followers, location, bio, website, related profiles, video&post count, latest posts. Export scraped data, schedule scraper via API, and integrate with other tools or AI workflows.
Instagram Post Scraper
Scrape Instagram posts. Just add one or more Instagram usernames and get your data in seconds including caption, metrics, images, mentions, coauthors, recent comments, sponsored status, video duration, views. Export scraped data, schedule scraper via API, integrate with other tools or AI workflows.
Facebook Posts Scraper
Extract posts, videos, and engagement metrics from Facebook pages. Get text captions, reactions, video transcripts, images, external links, collaborators, and more from Facebook pages and profiles. Export ad data, schedule runs via API, and integrate with other tools or AI workflows.