No-code scraping guide

How to export Reddit comments for sentiment analysis

Collect comments and nested replies from public Reddit post URLs, preserve thread context, and export a clean CSV or JSON dataset for sentiment analysis.

Opens the matching public Apify Store listing in a new tab.

Checked against the actor

Current inputs and outputs, not generic scraping advice.

Reviewed against the Newbs actor documentation and schema on August 17, 2026. Marketplace behavior and pricing can change, so confirm the live listing before a production run.

Start with a defensible sample

Sentiment analysis is only as useful as the source selection. Define the topic, communities, date window, and reason each thread belongs in the sample before collecting comments.

The actor accepts direct public post URLs, not subreddit listing pages or Reddit search pages. Keep the source list with the exported dataset so later readers can understand what the analysis represents.

Choose comment sorting intentionally

Use top or best when the goal is to study prominent community responses, new for a recent reaction window, controversial for polarized discussion, or old when chronology matters. Sorting changes which rows appear when maxComments caps the result.

Keep includeReplies enabled when conversational context matters. Use maxCommentDepth to limit how far nested discussions are followed and commentDepth, commentPath, parentPath, and parentCommentId to reconstruct the hierarchy.

Export the right fields

For a flat sentiment table, keep postUrl, postTitle, subreddit, commentText, commentScore, commentTimestamp, commentDepth, isTopLevel, isPostAuthor, and scrapedAt. Preserve commentId and commentPermalink in the raw export for traceability and deduplication.

CSV works well for spreadsheets, pandas, and most BI tools. JSON is safer when downstream code needs the complete schema or thread identifiers without flattening.

Clean before classifying

Remove empty or deleted comments, deduplicate stable commentId values, keep language detection separate from sentiment, and decide how to handle quotes, links, sarcasm, and very short replies.

Do not interpret commentScore as sentiment. It is a public voting signal and can be analyzed separately from positive, negative, neutral, or topic labels.

Interpret the result with limits

Reddit communities are not representative samples of the general population. Report which posts and subreddits were included, how comments were sorted, how many rows were collected, and which classifier or review process produced each label.

Use the dataset for research and product decisions, not harassment, spam, identity inference, or unlawful profiling.

Workflow

Move from a small test to a repeatable data workflow.

Validate the input and output on a small run first. Save a Task, schedule it, or connect the dataset only after the collected fields match the decision you need to make.

  1. Choose direct public Reddit post URLs that match one defined research question.
  2. Start with maxComments set to 25, keep replies enabled, and choose the comment sort that matches the analysis.
  3. Run Reddit Comment Scraper Pro and inspect the Comments or Sentiment analysis dataset view.
  4. Export CSV for tabular analysis or JSON when preserving identifiers and thread structure matters.
  5. Clean deleted, empty, duplicate, and very short comments before assigning sentiment labels.

Small Reddit comment export

Start with a low row limit so you can inspect the thread structure and cost before scaling.

json
{
  "postUrls": [
    "https://www.reddit.com/r/AskReddit/comments/ovihp9/example/"
  ],
  "maxComments": 25,
  "includeReplies": true,
  "maxCommentDepth": 20,
  "sortBy": "top",
  "maxConcurrency": 2
}

Sentiment-ready row

Keep the source and hierarchy fields next to the text that will be classified.

json
{
  "postTitle": "Example post",
  "subreddit": "example",
  "commentId": "t1_def456",
  "commentText": "Example comment",
  "commentScore": 42,
  "commentDepth": 0,
  "isTopLevel": true,
  "commentPermalink": "https://www.reddit.com/r/example/comments/abc/example/def456/",
  "scrapedAt": "2026-07-28T10:00:00.000Z"
}

Best-fit use cases

These workflows benefit from repeatable cloud scraping, scheduling, dataset exports, and API access.

sentiment analysisvoice-of-customer researchreply-tree analysisproduct feedbacktopic classification

Recommended actor

Scrape Reddit comments and discussion threads for community research, sentiment analysis, and audience intelligence.

View current listing on Apify
Next step

Turn the guide into a repeatable data pipeline.

After the first run, save the input, schedule recurring runs in Apify, and connect the dataset output to your spreadsheet, CRM, dashboard, or AI workflow.

Questions

Frequently asked questions

Can I enter a subreddit URL?

No. The current actor accepts direct public Reddit post URLs. Build a focused list of threads before running the export.

Which fields are useful for sentiment analysis?

Keep commentText with post title, subreddit, score, timestamp, depth, source URL, stable comment ID, and collection timestamp.

Does the comment score represent sentiment?

No. Score reflects public voting behavior. Calculate or review sentiment separately and keep the method documented.

Ready-to-run actor

Export Reddit comments with thread context intact

Newbs Reddit Comment Scraper Pro collects one dataset row per public comment or reply, including comment text, score, timestamp, permalink, parent identifiers, reply depth, post context, and collection timestamp.

Run this workflow on Apify

Affiliate disclosure: Newbs may earn a commission from an eligible referral, at no additional cost to you.