Reddit Comments Search Scraper avatar

Reddit Comments Search Scraper

Pricing

from $4.00 / 1,000 comment founds

Go to Apify Store
Reddit Comments Search Scraper

Reddit Comments Search Scraper

Search public Reddit comments by keyword with clean, structured records for social listening and research.

Pricing

from $4.00 / 1,000 comment founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Reddit Comments Search Scraper finds public Reddit comments by keyword and returns one structured record per comment. It is a good fit for social listening, product research, and discussion discovery when you want clean fields such as comment text, author, subreddit, post title, score, timestamps, and source. The output is one record per matched comment, so each item represents a single public comment that matched one of your search phrases.

Best fit and connected workflows

Use this Actor when your starting point is a keyword or phrase and your goal is to discover public Reddit comments around that topic. It works well for:

  • social listening on product names, features, or category language
  • research on how people discuss a topic across Reddit
  • discovery workflows that start broad and then narrow to selected comments
  • AI agent pipelines that need structured public comment data for summarization, clustering, or review

For connected workflows, the returned public comment URLs and post identifiers can move into downstream Reddit enrichment Actors when you need more context around selected records. Verified downstream options:

Practical scenario

Maya, a product researcher, starts with the phrase "AI coding assistant" and a target community such as MachineLearning. She runs the Actor with sort set to new, time set to month, and responseFormat set to concise. The dataset returns records with body, author, subreddit, postTitle, commentUrl, score, createdAt, searchQuery, and source. Maya reviews the comment text and score, selects the comments that mention evaluation workflows, and sends those comment URLs to a downstream enrichment Actor for follow-up analysis.

Inputs

InputPurpose
queriesOne or more public comment search phrases, with up to 20 distinct phrases.
subredditOne public subreddit to focus the search, such as MachineLearning.
maxCommentsMaximum unique comments stored across all queries, from 1 to 1,000.
sortReddit ordering for matching comments: relevance, new, top, or comments.
timeReddit search window: hour, day, week, month, year, or all.
includeNsfwKeeps public results explicitly marked NSFW when that fits the research task.
responseFormatconcise for core fields or detailed for moderation and award metadata.

Example input

{
"queries": ["AI coding assistant", "LLM evaluation"],
"subreddit": "MachineLearning",
"maxComments": 100,
"sort": "new",
"time": "month",
"includeNsfw": false,
"responseFormat": "concise"
}

Output fields

FieldMeaning
recordTypeAlways comment for this focused Actor.
commentIdReddit comment identifier, usually with the t1_ prefix.
commentUrlCanonical public Reddit URL for the comment.
bodyPlain-text public comment body when available.
authorReddit author name without u/, or null for deleted authors.
authorUrlCanonical public Reddit profile URL when available.
subredditCanonical public community label with the r/ prefix.
subredditUrlCanonical public community URL.
postIdReddit post identifier that contains the comment.
postTitleContaining post title when Reddit returns it.
postUrlCanonical public URL for the containing post when available.
parentIdParent comment or post identifier when Reddit returns it.
scoreReddit score at retrieval time.
awardsCountTotal awards Reddit reports for the comment.
createdAtISO-8601 creation time when Reddit returns it.
editedAtISO-8601 edit time when Reddit returns it.
isNsfwWhether Reddit explicitly marks the result as adult content.
isStickiedWhether Reddit marks the comment as stickied.
searchQueryInput phrase that matched the comment.
sourceRetrieval route: reddit-oauth, reddit-public-json, or the sociavault fallback.
scrapedAtISO-8601 normalization time.
distinguishedReddit moderation distinction in detailed mode.
controversialityReddit controversiality flag in detailed mode.

Example output record

{
"recordType": "comment",
"commentId": "t1_abc123",
"commentUrl": "https://www.reddit.com/r/MachineLearning/comments/postid/commentid/",
"body": "I have been using the model as a coding assistant for evaluation tasks.",
"author": "example_user",
"authorUrl": "https://www.reddit.com/user/example_user/",
"subreddit": "r/MachineLearning",
"subredditUrl": "https://www.reddit.com/r/MachineLearning/",
"postId": "postid",
"postTitle": "Thoughts on AI coding assistants",
"postUrl": "https://www.reddit.com/r/MachineLearning/comments/postid/thoughts_on_ai_coding_assistants/",
"parentId": "t1_parent123",
"score": 42,
"awardsCount": 1,
"createdAt": "2024-01-10T12:34:56Z",
"editedAt": null,
"isNsfw": false,
"isStickied": false,
"searchQuery": "AI coding assistant",
"source": "reddit-oauth",
"scrapedAt": "2024-01-10T12:40:00Z",
"distinguished": null,
"controversiality": null
}

How it works

This Actor searches public Reddit comments by the phrases in queries and stores clean one-row-per-comment records in the default dataset. It supports one optional subreddit filter, Reddit ordering and time-window controls, a maximum unique comment ceiling, and a choice between concise and detailed response formats. It tries Reddit OAuth and public JSON first. If those routes return no comments, an owner-funded SociaVault fallback discovers relevant public posts, retrieves their public comments, and keeps only comments whose body contains the requested phrase. The live manifest provides the owner-managed credentials for these routes.

Pricing

Reddit Comments Search Scraper uses Pay per event pricing plus Apify platform usage. The live pricing tab is the source of truth for current billing details.

Event-based charging uses two recorded events:

  • Actor start: charged once when a run starts.
  • Comment found: charged once for each validated public Reddit comment stored in the dataset.

For a simple example, a run that stores one hundred comments would create one actor-start event and one hundred comment-found events. maxComments also acts as the ceiling for comment-event charges. Apify platform usage is billed separately from event charges.

Use with AI agents (MCP)

This Actor is usable through Apify MCP as a tool for searching public Reddit comments by keyword and returning structured records for agent workflows.

Exact Actor identity: khadinakbar/reddit-comments-search-scraper

Tool description: search public Reddit comments by keyword, optionally narrow to one subreddit and a time window, and return comment-level records with text, authorship, scores, links, and metadata for downstream reasoning.

Search public Reddit comments for "AI coding assistant" in r/MachineLearning, keep the newest matches from the past month, return concise records, and give me the dataset items plus a short summary of the most relevant comment URLs.

Output interpretation:

  • comments points to the dataset items for row-level comment records.
  • output points to the run outcome record in the key-value store.
  • runSummary points to the run summary record in the key-value store.

Provenance:

  • Each dataset row includes the matched query in searchQuery.
  • commentUrl, subredditUrl, and optional postUrl preserve public Reddit references.
  • source shows whether the record came from reddit-oauth, reddit-public-json, or the sociavault fallback.

Scope:

  • The Actor searches public comments returned by Reddit search.
  • It returns one record per comment and focuses on comment-level discovery rather than full-thread extraction.

Pagination and cost guidance:

  • maxComments sets the maximum number of unique stored comments across all queries.
  • Each stored comment corresponds to a Comment found event.
  • The live Pricing tab remains the suitable place to review current billing details.

Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const input = {
queries: ['AI coding assistant'],
subreddit: 'MachineLearning',
maxComments: 20,
sort: 'new',
time: 'month',
includeNsfw: false,
responseFormat: 'concise',
};
const run = await client.actor('khadinakbar/reddit-comments-search-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log('First items:', items.slice(0, 3));

Best results and outcome guidance

Start with a short list of focused phrases, then narrow with subreddit when you already know the community. Use new for recent discussion, top for highly scored matches, and relevance for a broader search view. If the agent context needs to stay compact, choose concise; if you want moderation and award metadata, choose detailed. Keep maxComments aligned with the number of records you actually need, since it defines the storage ceiling and the comment-event ceiling.

Design note

I found that the dataset contract always includes recordType, commentId, commentUrl, subreddit, subredditUrl, isNsfw, isStickied, searchQuery, source, and scrapedAt in every record. That made it straightforward to describe the one-record meaning and the minimum reliable output shape.

FAQ

When should I use this Actor instead of a Reddit post scraper?

Use this Actor when your starting point is a keyword or phrase and you want public comment matches. If your workflow starts from a specific post or later needs broader post-level analytics, a downstream Reddit posts or comments scraper can fit the next step.

Can I limit results to one community?

Yes. Set subreddit to a single public community name such as MachineLearning or r/MachineLearning.

What if I want recent discussion only?

Set time to hour, day, week, month, or year, and pair it with sort: "new" for a recent-match view.

How do I get richer metadata?

Use responseFormat: "detailed" to include the moderation and controversiality fields that Reddit exposes in the dataset contract.

How do I connect this with another Reddit Actor?

A natural next step is to pass selected commentUrl or comment IDs into a verified downstream Actor such as Reddit Comments Scraper or Reddit Posts, Comments & Subreddit Analytics Scraper.

Responsible use

Use public Reddit comment data for lawful research, analysis, and automation that aligns with Reddit's rules and applicable data-protection requirements. Keep collection focused on the comments you need, respect public context, and review any downstream use of the records before sharing or publishing them.