Reddit Scraper
Pricing
from $1.05 / 1,000 scraped results
Pricing
from $1.05 / 1,000 scraped results
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
4
Monthly active users
5 hours ago
Last modified
Categories
Share
🔎 Reddit scraper for posts, comments, subreddits, and users
Reddit Scraper collects public data from Reddit search, Reddit URLs, subreddits, and user profiles. Use it to export Reddit posts, comments, community details, user profile facts, engagement counts, timestamps, source URLs, and media links into a dataset you can download, query through the Apify API, schedule, or send into your own workflow.
Start with the prefilled search queries such as openai, add a subreddit like r/OpenAI, or paste the Reddit URL you already have. The actor works with public Reddit data only. It does not ask for a Reddit login, cookies, OAuth, or a Reddit API key.
- ✅ Multiple Reddit target types - search by keyword, scrape Reddit URLs, collect subreddit feeds, or collect public user activity.
- ✅ Posts and comments - search posts and comments, collect authored user posts/comments, and optionally collect comments under found posts.
- ✅ Analysis-ready rows - keep Reddit IDs, URLs, timestamps, authors, subreddits, scores, comment counts, media links, and matched inputs.
- ✅ Community and user context - collect subreddit/community profile facts and public user profile facts when those targets are selected.
- ✅ Clean non-result handling - invalid, private, unavailable, duplicate, or skipped items stay out of the dataset and are summarized in the run summary.
🚀 Quick start
- Open the Input tab.
- Add at least one target:
Search queries, such asopenai,chatgpt, oropenai apiReddit URLs, such as a post, comment, subreddit, user, popular, or search URLSubreddits, such asr/artificialorOpenAIUsers, such asu/spez
- Keep
Search result typeorUser activityset toPosts and commentswhen you want both row types. - Set
Post row limit,Comment row limit, andComments per expanded postto control run size. - Run the actor and open the dataset or
RUN-SUMMARY.json.
For a small first run, use one search query and one subreddit, then set both row limits to 25.
⚙️ What this Actor does
- 🔎 Searches public Reddit posts and comments by keyword.
- 🎯 Can limit keyword search to one subreddit.
- 🔗 Accepts direct Reddit URLs for posts, comments, subreddits, users, popular pages, and search pages.
- 👥 Collects subreddit/community metadata and subreddit post feeds.
- 👤 Collects public user profile facts plus authored posts and comments.
- 💬 Can collect comment threads under posts found from search or subreddit feeds.
- 🧾 Emits successful scraped results only:
post,comment,community, anduserrows. - 📊 Writes a separate run summary with totals, duplicates, skipped reasons, row types, subreddits, inputs, and top engagement.
- 🧩 Works with Apify dataset exports, API access, schedules, webhooks, and integrations.
📦 Data you can export
Each row has a rowType so you can filter the dataset by Reddit object type.
| Row type | Useful fields |
|---|---|
post | redditId, url, createdAt, authorName, subredditName, title, text, score, upvoteRatio, commentCount, flairText, isNsfw, isSpoiler, isLocked, media |
comment | redditId, url, createdAt, authorName, subredditName, commentText, parentPostId, parentCommentId, parentPostTitle, depth, isSubmitter, score |
community | redditId, url, subredditName, communityName, communityTitle, communityDescription, memberCount, onlineCount, isNsfw |
user | redditId, url, createdAt, username, displayName, profileDescription, postKarma, commentKarma, isVerified |
All successful rows include matchedInputs, which links the row back to the search query, URL, subreddit, or username that found it. Fields can be null when Reddit does not expose that source fact for the item.
🧾 Output example
{"rowType": "post","redditId": "1ucmyo1","redditFullname": "t3_1ucmyo1","url": "https://www.reddit.com/r/OpenAI/comments/1ucmyo1/unconscious_ai_obviously_can_not_harm_you/","matchedInputs": ["OpenAI"],"createdAt": "2026-06-22T15:00:39+00:00","authorName": "example_user","subredditName": "OpenAI","title": "Unconscious AI obviously can not harm you","text": null,"score": 6,"upvoteRatio": null,"commentCount": 1,"flairText": null,"isNsfw": false,"isSpoiler": false,"isLocked": false,"media": [{"type": "image","url": "https://i.redd.it/7yfzh0zemu8h1.png","width": null,"height": null,"thumbnailUrl": null}]}
🛠️ Input example
{"searchQueries": ["openai"],"searchResultType": "postsAndComments","subredditNames": ["OpenAI"],"subredditSort": "new","userNames": ["u/spez"],"userActivity": "postsAndComments","postRowLimit": 25,"commentRowLimit": 25,"commentsPerExpandedPost": 10,"collectCommentsUnderSubredditPosts": true,"includeNSFW": false}
🎯 Target options
Search queriessearch Reddit by keyword. You can choose posts, comments, or both, set Reddit search sorting and time windows, limit search to a subreddit, add date filters, include NSFW results, and enable stricter keyword matching.Reddit URLsscrape the Reddit page you submit. The URL decides whether the actor collects a post, comment thread, subreddit page, user page, popular page, or search page.Subredditscollect subreddit metadata and feed posts. You can chooseHot,New,Top, orRising, and set a top-time range when usingTop.Userscollect public user profile facts and public activity. Choose posts, comments, or both.
💳 Pricing
This actor charges one result event for each successful Reddit post, comment, community, or user/profile row saved to the dataset. Non-result outcomes are not charged as dataset rows.
Skipped inputs, unavailable items, duplicate rows, and handled source issues are reported in logs or RUN-SUMMARY.json instead of being emitted as placeholder dataset rows.
⚠️ Limits and caveats
- The actor collects public Reddit data only.
- It does not access private, deleted, removed, login-only, or moderator-only content.
- Reddit may expose different fields for different pages, post types, users, and communities.
- Media links are source-hosted URLs. The actor does not download or mirror Reddit media files into Apify storage.
- Some subreddit, user, or item pages can be unavailable at run time. The actor skips those items and keeps the rest of the run usable when possible.
❓ FAQ
🔐 Does this Reddit scraper need a Reddit account or API key?
No. It is built for public Reddit data and does not ask for Reddit cookies, login details, OAuth, or a Reddit API key.
💬 Can I scrape comments under posts?
Yes. Use Collect comments under found posts for search results or Collect comments under subreddit posts for subreddit feed posts. Use Comments per expanded post to cap how many comments are saved under each post.
🧹 Are skipped or failed items saved as rows?
No. The dataset contains successful scraped results only. Skips, duplicates, unavailable pages, and non-result outcomes are summarized in logs and RUN-SUMMARY.json.
🔌 Can I use this Reddit scraper with the Apify API?
Yes. Run the actor through Apify Console or API, then export the dataset as JSON, CSV, Excel, XML, RSS, or HTML. You can also schedule runs and connect outputs to webhooks or integrations.
📝 Changelog
- 0.1: Added search query, URL, subreddit, and user targets with post, comment, community, and user/profile rows.
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- Twitter Scraper ↗ - Export public Twitter/X posts, profiles, and trends for social listening.
- Facebook User Posts Scraper ↗ - Collect public Facebook profile and Page timeline posts.
- Product Hunt Scraper ↗ - Export Product Hunt launches with ranks, media, and optional website enrichment.
- ChatGPT Conversation Scraper ↗ - Archive public shared ChatGPT conversations from share links.
- Website Emails Scraper ↗ - Find public contact emails from websites you submit.
Made with ❤️ by Maxime Dupré