Reddit Comments Scraper avatar

Reddit Comments Scraper

Pricing

Pay per usage

Go to Apify Store
Reddit Comments Scraper

Reddit Comments Scraper

Extract detailed comments and discussion threads from Reddit instantly. Perfect for sentiment analysis, market research, and community monitoring. Get structured data from any post URL efficiently. Residential proxies are recommended for high-volume scraping stability.

Pricing

Pay per usage

Rating

5.0

(5)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

4

Bookmarked

55

Total users

14

Monthly active users

4 days ago

Last modified

Share

What does Reddit Comments Scraper do?

Reddit Comments Scraper collects available comments from public Reddit threads through the Arctic Shift public Reddit data API and returns the existing structured dataset with author details, scores, timestamps, threading depth, flair, moderation flags, and post context. Provide a Reddit post URL and set a comment limit. The output works with JSON, CSV, Excel, XML, and connected platforms for research, monitoring, or data pipelines.

Why use Reddit Comments Scraper?

  • Fast comment collection - Collect available comments from a public Reddit post through a dedicated Reddit data provider.
  • Rich per-comment metadata - Each record includes author, score, timestamps, depth, parent references, flair, moderation flags, awards, and post context.
  • Automation-ready output - Export results to JSON, CSV, Excel, XML, or send them through webhooks, Google Sheets, Make, or Zapier.
  • No Reddit credentials required - The Actor uses Arctic Shift, a separate public Reddit data service, without Reddit cookies, login state, or Reddit API credentials.
  • Schedule-friendly - Run on demand or set recurring schedules to track discussions over time.

What data can you extract from Reddit?

FieldDescription
idReddit comment ID
authorComment author or [deleted]
bodyComment text or [removed]
scoreComment score
depthReply depth in the thread
permalinkDirect URL to the comment
post_titleParent post title
subredditSubreddit name
created_atISO timestamp
stickiedWhether the comment is stickied

How to use Reddit Comments Scraper

  1. Open the Actor on Apify Store.
  2. Paste a public Reddit post URL into the Reddit Post URL field.
  3. Set the Maximum number of comments (optional, defaults to 20).
  4. Choose proxy settings (Apify Residential Proxy is the default).
  5. Click Start and wait for the extraction to complete.
  6. Download the dataset or connect it to your workflow.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringYes-Full URL of the Reddit thread to collect comments from
results_wantedIntegerNo20Maximum number of unique comments to collect; 0 skips comment requests
skipCommentsBooleanNofalseSkip all comment requests
sortStringNodescComment order: desc for newest first or asc for oldest first
proxyConfigurationObjectNoApify Residential ProxyProxy settings for reliable collection

Output Data

FieldTypeDescription
idStringReddit comment ID
comment_fullnameStringFull Reddit thing name
authorStringComment author or [deleted]
author_fullnameStringReddit fullname for the author
bodyStringComment text or [removed]
body_htmlStringComment body in HTML format
scoreNumberComment score
upsNumberUpvote count
downsNumberDownvote count
created_utcNumberUnix timestamp
created_atStringISO timestamp
editedBoolean or NumberEdit status or timestamp
depthNumberReply depth in the thread
parent_idStringParent thing ID
parent_comment_idStringParent comment ID
parent_typeStringParent type (t1 for comment, t3 for post)
link_idStringParent post fullname
permalinkStringAbsolute URL to the comment
subredditStringSubreddit name
subreddit_idStringSubreddit ID
subreddit_name_prefixedStringPrefixed name like r/AskReddit
subreddit_typeStringSubreddit visibility type
post_idStringParent post ID
post_titleStringParent post title
post_authorStringParent post author
post_permalinkStringParent post URL
is_submitterBooleanAuthor is the post creator
distinguishedStringMod or admin distinction
stickiedBooleanComment is stickied
lockedBooleanComment is locked
archivedBooleanComment is archived
collapsedBooleanComment is collapsed
controversialityNumberControversiality score
score_hiddenBooleanScore visibility
gildedNumberLegacy gild count
total_awards_receivedNumberTotal awards
all_awardings_countNumberAward entry count
author_premiumBooleanPremium status
author_is_blockedBooleanBlocked status
author_flair_textStringFlair text
author_flair_typeStringFlair type
author_flair_text_colorStringFlair text color
author_flair_background_colorStringFlair background color
comment_typeStringComment classification
treatment_tagsArrayReddit treatment tags
retrieval_sourceStringSource (arctic_shift)
source_urlStringInput thread URL

Usage Examples

Basic Extraction

Collect 20 comments from a single Reddit thread:

{
"startUrl": "https://www.reddit.com/r/AskReddit/comments/1pqgcx9/whats_the_most_unexpected_way_someone_you_know/",
"results_wanted": 20,
"sort": "desc"
}

Larger Collection

Increase the limit for threads with active discussions:

{
"startUrl": "https://www.reddit.com/r/webscraping/comments/1qs66k0/couldnt_find_proxy_directory_with_filters_so/",
"results_wanted": 200
}

With Residential Proxies

Use Apify Residential Proxy for more reliable runs across many threads:

{
"startUrl": "https://www.reddit.com/r/AskReddit/comments/1pqgcx9/whats_the_most_unexpected_way_someone_you_know/",
"results_wanted": 50,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"id": "nuuw9it",
"comment_fullname": "t1_nuuw9it",
"author": "Agua_Frecuentemente",
"body": "The guy who invented Smartfood lives in my town.",
"score": 2851,
"created_utc": 1766150326,
"created_at": "2025-12-19T18:25:26.000Z",
"depth": 0,
"parent_id": "t3_1pqgcx9",
"permalink": "https://www.reddit.com/r/AskReddit/comments/1pqgcx9/whats_the_most_unexpected_way_someone_you_know/nuuw9it/",
"subreddit": "AskReddit",
"subreddit_name_prefixed": "r/AskReddit",
"post_id": "1pqgcx9",
"post_title": "What's the most unexpected way someone you know became wealthy?",
"is_submitter": false,
"stickied": false,
"locked": false,
"archived": false,
"retrieval_source": "arctic_shift",
"source_url": "https://www.reddit.com/r/AskReddit/comments/1pqgcx9/whats_the_most_unexpected_way_someone_you_know/"
}

Tips for Best Results

  • Use public Reddit thread URLs only. Subreddit feeds, search pages, and private posts are not supported.
  • Start with a small results_wanted value to verify the thread loads correctly before scaling up.
  • Larger threads (500+ comments) may need a higher limit to capture more discussion data.
  • Residential proxies help maintain stable runs when collecting from many threads or high-traffic posts.
  • Some fields may be empty when the source does not publish that information. Check multiple results before assuming the Actor failed.

Integrations

  • Google Sheets - Export comment data to spreadsheets for analysis.
  • Webhooks - Send run results to downstream systems after each completion.
  • Make or Zapier - Connect results to no-code automations and workflows.
  • API - Access datasets programmatically from your own applications.
  • Export formats - JSON, CSV, Excel, XML, and other Apify-supported formats.

Frequently Asked Questions

How many comments can I collect from a single thread?

The results_wanted parameter sets the maximum number of comments for the selected post. Use sort: "desc" for newest-first comments or sort: "asc" for oldest-first comments. The Actor paginates through Arctic Shift results until that limit is reached or the provider has no more available comments.

Does this collect nested replies or just top-level comments?

It can include both top-level comments and nested replies when Arctic Shift has them available. The depth field preserves each comment's position in the reply tree, and the parent_id and parent_comment_id fields let you reconstruct the thread structure.

How are duplicate comments handled?

The Actor deduplicates by comment ID and merges additional fields into a single record per ID. This prevents duplicates when Reddit returns the same comment through multiple expansion calls.

What happens when a comment author is deleted or the body is removed?

Deleted authors are replaced with [deleted] and removed bodies with [removed]. All other fields remain intact so your dataset stays usable even when Reddit's moderation removes content.

How long does a typical run take?

Arctic Shift is a separate public data service and may not contain the newest Reddit comments immediately. Run duration depends on the requested limit, provider response, and pagination depth; the source is not guaranteed to be real-time.

Can I scrape private or restricted communities?

No. The Actor is designed for public Reddit threads only. Private communities and quarantined subreddits require authorization that this tool does not support.

Do I need an API key or authentication?

No API key or Reddit account login is required. The Actor works with public Reddit thread URLs directly.

What should I do if some fields are missing in the output?

Some fields may be empty when the source page does not publish that information. Check multiple results before assuming the Actor failed. If you consistently see missing data for fields that should exist, report it through the Issues tab.

Support

For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is designed for legitimate data collection from publicly available Reddit threads. Users are responsible for using the data responsibly and complying with applicable laws, Reddit's terms of service, and privacy rules.