Reddit Scraper avatar

Reddit Scraper

Pricing

from $1.05 / 1,000 scraped results

Go to Apify Store
Reddit Scraper

Reddit Scraper

The best Reddit scraper, for both posts & comments.

Pricing

from $1.05 / 1,000 scraped results

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

4

Monthly active users

5 hours ago

Last modified

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

  1. Open the Input tab.
  2. Add at least one target:
    • Search queries, such as openai, chatgpt, or openai api
    • Reddit URLs, such as a post, comment, subreddit, user, popular, or search URL
    • Subreddits, such as r/artificial or OpenAI
    • Users, such as u/spez
  3. Keep Search result type or User activity set to Posts and comments when you want both row types.
  4. Set Post row limit, Comment row limit, and Comments per expanded post to control run size.
  5. 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, and user rows.
  • 📊 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 typeUseful fields
postredditId, url, createdAt, authorName, subredditName, title, text, score, upvoteRatio, commentCount, flairText, isNsfw, isSpoiler, isLocked, media
commentredditId, url, createdAt, authorName, subredditName, commentText, parentPostId, parentCommentId, parentPostTitle, depth, isSubmitter, score
communityredditId, url, subredditName, communityName, communityTitle, communityDescription, memberCount, onlineCount, isNsfw
userredditId, 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 queries search 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 URLs scrape 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.
  • Subreddits collect subreddit metadata and feed posts. You can choose Hot, New, Top, or Rising, and set a top-time range when using Top.
  • Users collect 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

Made with ❤️ by Maxime Dupré