Reddit Scraper β€” Posts, Comments, Users & Communities avatar

Reddit Scraper β€” Posts, Comments, Users & Communities

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Reddit Scraper β€” Posts, Comments, Users & Communities

Reddit Scraper β€” Posts, Comments, Users & Communities

Scrape Reddit at scale without login: posts, comment threads, user profiles, and communities β€” from URLs, keyword search, or whole subreddits. Sentiment, media downloads, and monitoring included.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

DataForge

DataForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

πŸ‘½ Reddit Scraper β€” Posts, Comments, Users & Communities

Turn public Reddit into clean, structured data. Point the Actor at Reddit URLs, keyword searches, or whole subreddits and get back rich records for posts, comment threads, user profiles, and communities β€” no Reddit account, no API keys, no login.

Every source flows into one dataset with ready-made views, exportable to JSON, CSV, Excel, XML, or HTML, or straight into Google Sheets, Make, Zapier, n8n, or your own app via the API.


⚑ Quick start (30 seconds)

Paste a subreddit name, press Start, done:

{
"subreddits": ["dataisbeautiful"],
"sort": "new",
"maxPostsPerSource": 50
}

You get the community details plus its 50 newest posts, each with title, author, score, comments, media, and engagement analytics.


πŸ”₯ What you can collect

SourceExample inputYou get
πŸ“š SubredditsdataisbeautifulCommunity info + posts (Hot / New / Top / Rising / Controversial)
πŸ”Ž Keyword searchmechanical keyboardsMatching posts, comments, communities, and/or users
πŸ”— Direct URLsreddit.com/r/apple/comments/…A post plus its full comment thread
πŸ‘€ User profilesreddit.com/user/spezProfile, karma, and recent posts/comments

Mix any of them in a single run. Each output row carries a dataType: post, comment, user, or community.


πŸš€ Quick start recipes

1️⃣ Newest / top posts from subreddits

{
"subreddits": ["technology", "gadgets"],
"sort": "top",
"time": "week",
"maxPostsPerSource": 100
}

2️⃣ Search Reddit β€” with comments and sentiment

{
"searches": ["home espresso"],
"searchPosts": true,
"scrapeComments": true,
"maxCommentsPerPost": 20,
"sentiment": true,
"maxItems": 300
}

3️⃣ One thread, fully expanded

{
"startUrls": [{ "url": "https://www.reddit.com/r/AskReddit/comments/abc123/example/" }],
"scrapeComments": true,
"maxCommentsPerPost": 500,
"commentSort": "top"
}

4️⃣ A creator's profile and history

{
"startUrls": [{ "url": "https://www.reddit.com/user/spez/" }],
"maxPostsPerSource": 100
}

5️⃣ Find communities and users about a topic

{
"searches": ["python"],
"searchPosts": false,
"searchCommunities": true,
"searchUsers": true,
"maxItems": 100
}

6️⃣ Scheduled monitoring β€” only new posts

{
"subreddits": ["news"],
"sort": "new",
"onlyNewerThan": 1769040000,
"maxItems": 500
}

Set onlyNewerThan to your last run's timestamp (or use Apify Schedules) to collect only items posted since then.


🧭 Input reference

🎯 What to scrape

FieldDescription
startUrlsReddit URLs β€” posts, subreddits, users, or search pages. Auto-detected.
searchesKeywords or phrases. Use quotes for exact phrases.
subredditsSubreddit names, r/name, or full URLs.

πŸ”Ž Search & sorting

FieldDescription
searchWithinSubredditLimit searches to one subreddit.
searchPosts / searchComments / searchCommunities / searchUsersPick which result types a search returns.
sortRelevance Β· Hot Β· Top Β· New Β· Rising Β· Comments.
timehour Β· day Β· week Β· month Β· year Β· all.
includeNSFWInclude 18+ content (off by default).

πŸ’¬ Comments & profiles

FieldDescription
scrapeCommentsFor every post found, collect its full comment thread.
maxCommentsPerPostCap on comments per post.
commentSortTop Β· New Β· Controversial Β· Old Β· Q&A Β· Best.
skipUserPostsKeep a user's profile only (no post/comment history).
skipCommunityInfoSkip the community record when scraping a subreddit.

πŸ—“οΈ Filters

FieldDescription
postedAfter / postedBeforeKeep posts in a date window (YYYY-MM-DD).
commentedAfter / commentedBeforeSame for comments.
onlyWithFlairKeep only posts that have a flair.
strictKeywordMatchFor searches, keep only results containing every keyword.

πŸ“Š Limits & enrichment

FieldDescription
maxItemsGlobal cap across everything. 0 = unlimited.
maxPostsPerSourcePosts per subreddit / search / user.
sentimentAdd a sentiment score + label to posts and comments.
downloadMediaSave post images/videos to storage with permanent links.
downloadAvatarsSave user avatars to storage with a permanent link.
dedupeSave each item once per run (on by default).
onlyNewerThanSkip items at/before this Unix timestamp (monitoring).

Mistake-proof: unknown sorts, out-of-range numbers, or unparseable dates never break a run β€” they are safely adjusted and noted in the log. An empty input just returns a friendly "add a subreddit, search, or URL" message.


πŸ“€ Output

One dataset, four record types, ready-made views (Overview Β· Posts Β· Comments Β· Users Β· Communities). Stable IDs (t3_… for posts, t1_… for comments) make dedupe and upserts safe across overlapping runs.

🧾 Example post row

{
"dataType": "post",
"id": "t3_1abc234",
"title": "Modern web frameworks compared [OC]",
"body": "I benchmarked the top 5 frameworks…",
"url": "https://www.reddit.com/r/programming/comments/1abc234/…",
"contentUrl": "https://i.redd.it/xyz.png",
"postType": "image",
"flair": "OC",
"author": "dataforge",
"subreddit": "programming",
"subredditSubscribers": 6900000,
"score": 3421,
"upVotes": 3421,
"upvoteRatio": 0.97,
"numComments": 214,
"totalAwards": 3,
"over18": false,
"imageUrls": ["https://i.redd.it/xyz.png"],
"hasMedia": true,
"createdAt": "2026-07-25T14:03:00Z",
"ageHours": 12.4,
"scorePerHour": 275.9,
"commentsPerHour": 17.3,
"engagementTotal": 3635,
"isHighEngagement": true,
"wordCount": 132,
"sentimentScore": 0.42,
"sentimentLabel": "positive"
}

Post fields include identity (id, title, body, url, contentUrl, domain, postType, flair), author & community (author, authorId, subreddit, subredditSubscribers), engagement (score, upVotes, upvoteRatio, numComments, numCrossposts, totalAwards), flags (over18, spoiler, locked, pinned, stickied, edited, removedByCategory), media (imageUrls, videoUrls, hasMedia), and analytics (ageHours, scorePerHour, commentsPerHour, engagementTotal, isHighEngagement, wordCount).

πŸ’¬ Example comment row

{
"dataType": "comment",
"id": "t1_kdef567",
"body": "This matches my experience β€” great write-up.",
"url": "https://www.reddit.com/r/programming/comments/1abc234/…/kdef567/",
"parentId": "t3_1abc234",
"postId": "t3_1abc234",
"depth": 0,
"isSubmitter": false,
"author": "curious_dev",
"subreddit": "programming",
"score": 128,
"controversiality": 0,
"postTitle": "Modern web frameworks compared [OC]",
"createdAt": "2026-07-25T15:10:00Z",
"scorePerHour": 11.5,
"wordCount": 8,
"sentimentLabel": "positive"
}

Comment fields capture thread structure (parentId, postId, depth, isSubmitter), author, engagement (score, controversiality, totalAwards), post context (postTitle, postUrl), and per-comment analytics.

πŸ‘€ Example user row

{
"dataType": "user",
"username": "spez",
"url": "https://www.reddit.com/user/spez",
"description": "How's my driving?",
"totalKarma": 940207,
"linkKarma": 152340,
"commentKarma": 690112,
"isGold": true,
"isMod": true,
"isEmployee": true,
"verified": true,
"followersCount": 0,
"userIcon": "https://styles.redditmedia.com/…/avatar.png",
"createdAt": "2005-06-06T00:00:00Z"
}

User fields include the full karma breakdown (totalKarma, linkKarma, commentKarma, awardeeKarma, awarderKarma), status flags (isGold, isMod, isEmployee, verified, hasVerifiedEmail), followersCount, visuals (userIcon, bannerImg), and account age.

🏘️ Example community row

{
"dataType": "community",
"name": "programming",
"title": "programming",
"url": "https://www.reddit.com/r/programming/",
"description": "Computer programming",
"membersCount": 6904370,
"onlineUsersCount": 3120,
"subredditType": "public",
"over18": false,
"rules": [
{ "shortName": "Keep submissions on topic", "kind": "link", "priority": 0 }
],
"allowImages": true,
"allowVideos": true,
"communityIcon": "https://styles.redditmedia.com/…/icon.png",
"createdAt": "2008-01-25T00:00:00Z"
}

Community fields cover activity (membersCount, onlineUsersCount), full rules[], posting & content policies (subredditType, submissionType, allowImages/Videos/Galleries/Polls), visuals, and NSFW flag.


✨ Enrichment & media add-ons

  • 🧠 Sentiment (sentiment: true) β€” adds sentimentScore (βˆ’1…1) and sentimentLabel (positive / neutral / negative) to posts and comments. Great for filtering and trend tracking at scale.
  • πŸ“Š Engagement analytics β€” every post carries scorePerHour, commentsPerHour, engagementTotal, and isHighEngagement, so you can spot what's taking off right now, not just all-time winners.
  • πŸ–ΌοΈ Permanent media (downloadMedia / downloadAvatars) β€” Reddit's own image/video/avatar URLs expire. Enable these to save copies to storage and get links that keep working (mediaStorageUrls, userIconStorageUrl).

πŸ§ͺ Recipes β€” what people use it for

  • πŸ“ˆ Trend & virality tracking β€” pull new posts hourly and sort by scorePerHour to catch rising content early.
  • πŸ’¬ Brand & product sentiment β€” search your brand across Reddit with sentiment: true and analyze positive vs. negative mentions.
  • 🧡 Full-thread research β€” scrape a mega-thread with scrapeComments and maxCommentsPerPost: 1000 for complete discussion data.
  • 🎯 Lead & creator discovery β€” search users/communities in a niche, then enrich profiles for outreach.
  • 🏘️ Community benchmarking β€” compare subreddit size, activity, and rules across competitors.
  • πŸŽ“ Datasets β€” build labeled corpora for NLP, recommendation, or academic research.

πŸ’³ Pricing & budget

Pay per result β€” set maxItems to cap a run. Reddit's ~1,000-per-listing limit is handled for you, and any failed, private, or filtered source is written to the Issues dataset β€” never billed as a result. All-in cost, no surprise add-ons.


❓ FAQ

Do I need a Reddit account or API key? No. You never sign in, register an app, or supply a key or token β€” the Actor handles authenticated access to public Reddit for you and returns clean data.

My run returned nothing β€” why? The log always tells you. If items were filtered, they were excluded by NSFW/date/flair/keyword rules β€” enable includeNSFW or relax the filters. If there were issues, a source was private/removed or Reddit briefly throttled the run; just run it again. Otherwise, double-check the subreddit/user names and search terms. (An empty input never errors β€” it returns a friendly reminder.)

How far back can I go? Reddit caps each listing at ~1,000 items. For older content, narrow with keywords, a specific subreddit, or date filters.

Why is a comment body empty? Deleted or removed comments have no public text; the row is still returned with all of its metadata.

Are moderator-only fields available? No β€” fields only mods can see (exact removal reasons, ban details) stay empty for public scraping.

Can I export to Excel / Google Sheets? Yes. Every dataset downloads as JSON, CSV, Excel, XML, or HTML, and integrates with Google Sheets, Make, Zapier, n8n, webhooks, and the Apify API.

Can I schedule it? Yes β€” pair onlyNewerThan with Apify Schedules to collect only fresh items on each run.


🏷️ Keywords

reddit scraper Β· reddit api Β· subreddit scraper Β· reddit posts Β· reddit comments Β· reddit user data Β· reddit search Β· social media scraping Β· sentiment analysis Β· community data Β· reddit monitoring Β· no login