🌟 Reddit Scraper Pro avatar

🌟 Reddit Scraper Pro

Pricing

from $0.003 / result

Go to Apify Store
🌟 Reddit Scraper Pro

🌟 Reddit Scraper Pro

Pricing

from $0.003 / result

Rating

0.0

(0)

Developer

Sarthak

Sarthak

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Categories

Security

Limited permissions

Share

Reddit Scraper Pro: Posts, Full Comment Trees, Communities & Users

Scrape Reddit without login: communities, posts, complete comment trees (including hidden "load more" replies), users and search results. You get every field on every result, with no slow "detailed mode" to switch on. Filter by keyword, upvotes, comment count, flair and date, and get only new results on scheduled runs.

Only $2.50 per 1,000 results, and filtered, duplicate or failed results are never charged.

What you can scrape

InputExample
Community (with sort)https://www.reddit.com/r/worldnews/, /r/worldnews/top/?t=week, r/pasta
Post / comment linkhttps://www.reddit.com/r/x/comments/abc123/title/, …/abc123/title/def456/, https://redd.it/abc123
Share linkhttps://www.reddit.com/r/pics/s/AbCdE
Userhttps://www.reddit.com/user/name/, /user/name/comments/, /user/name/submitted/, u/name
Search URLhttps://www.reddit.com/search/?q=news&sort=new, /r/python/search/?q=async&restrict_sr=1
Popularhttps://www.reddit.com/r/popular/, /subreddits/leaderboard/
Multireddithttps://www.reddit.com/user/name/m/multi/
Search termsAny keyword, for posts, communities and users, across Reddit or inside one community

What you get

Same field names as Reddit Scraper Lite, so your integrations keep working. Each result is one row with a dataType:

  • Posts (dataType: "post"):
    • The Lite fields: id, parsedId, url, username, userId, title, communityName, body, html, link, numberOfComments, flair, upVotes, upVoteRatio, isVideo, isAd, over18, thumbnailUrl, imageUrls (including gallery images), videoUrls, createdAt.
    • Plus: score, authorFlair, domain, postHint, isStickied, isLocked, isSpoiler, isOriginalContent, awards, numCrossposts, crosspostParent, videoDurationSec, editedAt, communitySubscribers and distinguished.
  • Comments (dataType: "comment"):
    • The Lite fields: id, url, parentId, username, body, html, createdAt, upVotes, numberOfReplies.
    • Plus: depth, postId, postTitle and postUrl on every comment, isSubmitter (the poster replying), isStickied, controversiality, awards and editedAt.
  • Communities (dataType: "community"):
    • title, description, numberOfMembers, activeUsers, iconUrl, headerImage, createdAt, communityType, language and over18.
  • Users (dataType: "user"):
    • postKarma, commentKarma, totalKarma, createdAt, isVerified, isModerator, isPremium, description and userIcon.

On every row:

  • sourceUrl or searchTerm: which of your inputs produced the row.
  • matchedKeywords: why the row passed your keyword filter.
  • dataSource: json for full data, or rss for the fallback.

How it is better than Reddit Scraper Lite

Reddit Scraper LiteReddit Scraper Pro
Price$3.40 / 1,000$2.50 / 1,000
Votes, ratio, comment count, mediaOnly in slower "include media links" mode✅ Always
Gallery images and video durationPartial✅
Hidden "load more" comments—✅ Loaded automatically up to your limit
Comment depth, post title and post URL on comments—✅
Reply depth limit and comment order (top / new / controversial / Q&A)—✅
Keyword filter for posts and comments, for brand monitoring—✅ with matchedKeywords proof
Min upvotes, min comments, flair, leave out pinned or deleted—✅ Filtered results are free
Start URLs and search terms in one runSearch ignored when URLs are given✅ Both run
Only new results on scheduled runs—✅
Share links (/s/…) and redd.it links—✅
Private, banned or missing inputSilent✅ Free row with the reason and how to fix it
Blocked by RedditRun fails✅ Proxy fallback, then RSS fallback

Pricing (pay per event)

EventWhenPrice
resultOne saved post, comment, community or user$0.0025 ($2.50 per 1,000)

The run stops cleanly at your Maximum cost per run. Results that are filtered out, duplicates, seen in earlier runs, or from inputs that fail are never charged.

Example inputs

Brand monitoring: new posts and comments that mention you, daily:

{
"searches": ["acme cloud"],
"keywords": ["acme"],
"postDateLimit": "1 day",
"maxPostCount": 100,
"maxComments": 50,
"skipPreviouslyScraped": true
}

A community's top posts this week, with the 20 best comments each:

{ "startUrls": [{ "url": "https://www.reddit.com/r/startups/top/?t=week" }], "maxPostCount": 50, "maxComments": 20 }

One discussion, every comment:

{ "startUrls": [{ "url": "https://www.reddit.com/r/learnprogramming/comments/lp1hi4/" }], "maxComments": 5000 }

Example output (shortened)

{
"id": "t3_144w7sn",
"parsedId": "144w7sn",
"url": "https://www.reddit.com/r/HonkaiStarRail/comments/144w7sn/my_luckiest_10x_pull_yet/",
"username": "YourKingLives",
"title": "My Luckiest 10x Pull Yet",
"communityName": "r/HonkaiStarRail",
"numberOfComments": 42,
"upVotes": 1500,
"upVoteRatio": 0.98,
"imageUrls": ["https://preview.redd.it/yod3okjkgx4b1.jpg?auto=webp&s=…"],
"postHint": "image",
"createdAt": "2023-06-09T05:23:15.000Z",
"dataType": "post",
"dataSource": "json"
}

Inputs that return nothing come back as free rows (dataType: "error"), for example "status": "restricted" for a private community. Each has error and fixHint. The possible statuses are not_found, restricted, no_results, unsupported, blocked and invalid_input.

Run summary

Each run saves a RUN_SUMMARY in the key-value store. It contains:

  • Totals: results saved by type and by data source, and the charged events.
  • Skips: the reasons results were skipped (filters, duplicates, seen before).
  • Per input: results saved, items checked, "load more" requests and why it stopped.
  • Data quality: fill rates of the key fields.
  • Network: which routes were used, how often Reddit blocked each one, and how often the RSS fallback was used.

Tips and limits

  • Use residential proxy (the default). Reddit blocks many datacenter IPs. Keep "Automatic proxy fallback" on.
  • Reddit lists stop near 1,000 posts. This is Reddit's limit, not the actor's. For more, combine sorts (new, top, hot) or time ranges, or use search. Comments inside one post have no such cap.
  • Searching comments: Reddit's public data may not support comment search. If it doesn't, you get a free row explaining that. Instead, search posts and set "Only results mentioning"; matching comments inside those posts are kept.
  • RSS fallback rows (dataSource: "rss") have title, text, author, time and link, but no vote or comment counts.

FAQ

Do I need a Reddit account or API key? No.

Can it read private communities? No. They come back as a free restricted row.