Reddit Scraper
Pricing
Pay per usage
Reddit Scraper
Scrape Reddit posts, comments, and user profiles at scale. No API key required. Extract data from subreddits, search results, user activity, and full comment trees with 18+ fields per item.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Tugelbay Konabayev
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape Reddit posts, comments, user profiles, and search results. No API key or login required. Fast, reliable, and cost-effective alternative to the official Reddit API.
What does Reddit Scraper do?
This actor extracts structured data from Reddit using public JSON endpoints. It supports 4 scraping modes:
- Subreddit posts — scrape any subreddit sorted by hot, new, top, rising, or controversial
- Search — search Reddit globally or within a specific subreddit
- User profiles — scrape posts or comments from any Reddit user
- Specific posts — scrape a post and all its comments by URL
All data is returned as clean, structured JSON with rich metadata including scores, awards, flairs, timestamps, and media URLs.
Why use this instead of the Reddit API?
| Feature | Reddit API | This Scraper |
|---|---|---|
| API key required | Yes | No |
| Cost | $0.24/1,000 calls | ~$0.50/1,000 posts on Apify |
| Rate limits | 60 req/min (OAuth) | Built-in rate limiting |
| Setup time | Register app, OAuth flow | Zero — just run |
| Comments depth | Limited | Full comment trees |
Features
- No API key or login required
- Scrape unlimited posts from any public subreddit
- Full comment thread extraction with nested replies
- Search Reddit globally or within subreddits
- User profile scraping (posts and comments)
- Media URL extraction (images, videos, thumbnails)
- Proxy support for high-volume scraping
- Proper rate limiting to avoid blocks
- Clean JSON output with 18+ fields per item
Input examples
Scrape subreddit posts
{"scrapeType": "subreddit","subreddits": ["technology", "programming"],"sort": "top","timeFilter": "week","maxItems": 50}
Search Reddit
{"scrapeType": "search","searchQueries": ["web scraping python", "apify tutorial"],"sort": "relevance","maxItems": 100}
Scrape post with comments
{"scrapeType": "post","postUrls": [{ "url": "https://www.reddit.com/r/technology/comments/example123/some_post_title/" }],"maxCommentsPerPost": 200}
Scrape user profile
{"scrapeType": "user","usernames": ["spez"],"userContentType": "posts","maxItems": 50}
Output
Each item in the dataset contains:
Post fields
| Field | Type | Description |
|---|---|---|
id | String | Reddit post ID |
type | String | Always "post" |
subreddit | String | Subreddit name |
title | String | Post title |
author | String | Author username |
url | String | Link URL |
permalink | String | Full Reddit permalink |
selftext | String | Post body text (self posts) |
score | Integer | Upvotes minus downvotes |
upvoteRatio | Number | Percentage of upvotes (0-1) |
numComments | Integer | Total comment count |
isNsfw | Boolean | NSFW flag |
isSpoiler | Boolean | Spoiler flag |
isPinned | Boolean | Pinned/stickied flag |
flair | String | Post flair text |
awards | Integer | Total awards received |
thumbnail | String | Thumbnail image URL |
mediaUrl | String | Direct media URL (image/video) |
createdAt | String | ISO 8601 timestamp |
scrapedAt | String | ISO 8601 timestamp |
Comment fields
| Field | Type | Description |
|---|---|---|
id | String | Comment ID |
type | String | Always "comment" |
postId | String | Parent post ID |
author | String | Author username |
body | String | Comment text |
score | Integer | Comment score |
parentId | String | Parent comment/post ID |
depth | Integer | Nesting depth (0 = top-level) |
isSubmitter | Boolean | Is the post author |
Cost estimation (PPE pricing)
This actor charges per event:
| Event | Description |
|---|---|
post | Each post pushed to dataset |
comment | Each comment pushed to dataset |
Example costs:
| Scenario | Posts | Comments | Total events |
|---|---|---|---|
| 1 subreddit, 100 posts | 100 | 0 | 100 |
| 5 subreddits, 100 posts each | 500 | 0 | 500 |
| 100 posts + 50 comments each | 100 | 5,000 | 5,100 |
| Search 10 queries, 100 each | 1,000 | 0 | 1,000 |
Tip: Start with includeComments: false (cheaper), then use the post mode with specific URLs to fetch comments only for posts you need.
Use cases
- Market research — monitor product mentions and sentiment
- Competitor analysis — track brand mentions across subreddits
- Content research — find trending topics and popular content
- Lead generation — find people asking for solutions you offer
- Academic research — collect discussion data for analysis
- SEO — find content ideas from real user questions
- Sentiment analysis — gauge public opinion on topics
Limitations
- Only public subreddits and profiles (no private/quarantined content)
- Reddit may rate-limit requests; the actor handles this automatically
- Very old posts may have limited comment availability
- Media from external hosts (Imgur, etc.) returns the link, not the media itself
Changelog
v1.0 (2026-03-22)
- Initial release
- Subreddit, search, user, and post scraping modes
- Full comment tree extraction
- Proxy support
- PPE pricing ($0.50/1,000 results, first 100 free)