Reddit Scraper & API - Posts, Comments & Search
Pricing
from $1.20 / 1,000 post scrapeds
Reddit Scraper & API - Posts, Comments & Search
Scrape Reddit posts, comments, subreddits, users and search results — scores, upvote ratio, comment counts, flair, media and full comment threads. No login or API key. Date cutoff for cheap monitoring runs. Pay per result.
Pricing
from $1.20 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Ace
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
What does Reddit Scraper do?
Reddit Scraper extracts posts and comments from Reddit: any subreddit (hot, new, top, rising, controversial), Reddit search results, user profiles (posts and comments) and individual post URLs with their full comment threads. For every post you get the title, text, author, subreddit, score, upvote ratio, comment count, flair, post type, linked URL or image, NSFW flag and creation time. For every comment you get the text, author, score, reply depth, parent ID and the post it belongs to.
No Reddit account, no API key, no app approval. Use it as a Reddit API alternative: schedule it for brand and keyword monitoring, pull discussions for market research and AI/LLM training data, or export a subreddit to CSV.
Why scrape Reddit?
Reddit is where people ask for recommendations, complain about products and compare tools — in public, in their own words. Use the data to:
- 🔔 Monitor your brand, competitors or keywords — schedule a run on New with "Posted after: 24 hours" and only pay for what's new
- 🧪 Market and product research — what people love and hate about a product category, straight from the threads
- 🎯 Find leads and content ideas — questions people ask in your niche, sorted by score
- 🤖 Build AI/LLM datasets — clean plain-text posts and comment threads with reply structure (depth + parentId)
- 📊 Track subreddit activity — score, comment count and upvote ratio over time
How much does it cost to scrape Reddit?
You pay per post or comment delivered — never for blocked requests, retries, duplicates or rows removed by your filters.
| Event | Price (free plan → Gold plan) |
|---|---|
| Post | $1.50 → $1.20 per 1,000 posts |
| Comment | $0.50 → $0.40 per 1,000 comments |
No start fee. 100 posts with 50 comments each (5,100 rows) cost about $2.65 on the free plan. Deleted-comment placeholders are skipped, not billed. Your maximum cost per run setting is respected exactly: the run stops before it would go over.
How to scrape Reddit
- Click Try for free.
- Enter Subreddits (
python,r/smallbusiness), Search terms, or paste any Reddit URLs (subreddit, post, user or search links). - Pick a sort, set Max posts per source, and turn on Include comments if you want the threads.
- Click Start and download your data as JSON, CSV, Excel or HTML.
Input example — monitor a keyword
{"searches": ["standing desk"],"searchSort": "new","postedAfter": "24 hours","includeComments": true,"maxCommentsPerPost": 50}
Input example — a subreddit's top posts this week, with comments
{"subreddits": ["smallbusiness", "Entrepreneur"],"subredditSort": "top","subredditTime": "week","maxPostsPerSource": 100,"includeComments": true,"maxCommentsPerPost": 100,"maxCommentDepth": 2}
Input example — specific threads and users
{"startUrls": [{ "url": "https://www.reddit.com/r/AskReddit/comments/1xcwkya/" },{ "url": "https://www.reddit.com/user/spez/comments/" }],"maxCommentsPerPost": 500}
What data can you extract from Reddit?
Every row has dataType: post or comment.
Posts
| Field | Example |
|---|---|
title, body, bodyHtml | "Tried decouple, Dynaconf, pydantic-settings…", plain text + HTML |
author, authorId | BattleRemote3157, t2_ewn6cu80w |
subreddit, subredditId | Python, t5_2qh0y |
score, upvoteRatio, numComments | 389, 0.987, 41 |
flair, postType, awardCount | News, text, 1 |
linkUrl, domain | https://i.redd.it/….jpeg, i.redd.it |
over18, spoiler, stickied, isCrosspost | false |
createdAt, url, id, fullname | 2026-10-21T13:52:24.930Z, permalink, 1xbnrhi, t3_1xbnrhi |
Comments
| Field | Example |
|---|---|
body, bodyHtml, mediaUrls | "Fresh Prince of Bel-Air", images/GIFs in the comment |
author, score, createdAt | FullCircleDC, 3965 |
depth, isTopLevel, parentId | 0, true, t3_1xcwkya |
postId, postTitle, postUrl, subreddit | the post the comment belongs to |
Output example (abridged)
[{"dataType": "post","id": "1xbnrhi","title": "litellm 1.107.0 on PyPI is compromised","author": "BattleRemote3157","subreddit": "Python","score": 389,"upvoteRatio": 0.987,"numComments": 41,"flair": "News","postType": "multi_media","createdAt": "2026-10-21T13:52:24.930Z","url": "https://www.reddit.com/r/Python/comments/1xbnrhi/litellm_11070_on_pypi_is_compromised/"},{"dataType": "comment","id": "19rfr1194cckj","body": "litellm again....!","author": "Nice_Mix_1021","score": 169,"depth": 0,"parentId": "t3_1xbnrhi","postId": "1xbnrhi","postTitle": "litellm 1.107.0 on PyPI is compromised","createdAt": "2026-10-21T14:01:11.424Z"}]
Features
- Pay only for new posts: with New sorting and Posted after (
"24 hours","7 days"or a date), the scraper stops paging once it reaches older posts — scheduled monitoring runs stay cheap - Full comment threads: "load more comments" branches are expanded, and comments come back in reading order (each reply right after its parent) with depth and parentId — easy to rebuild the tree
- Deduplicated: a post or comment found by several sources is delivered and billed once per run
- Free filters: minimum score, must-contain keywords, skip NSFW, max reply depth
- Any mix of inputs in one run: subreddits, searches, users and post URLs
- Explains short runs: a missing, private or banned subreddit, blocked requests or over-tight filters are reported in the log and the
OUTPUTrecord instead of a silent empty dataset
FAQ
Do I need a Reddit account or API key?
No. The scraper reads the same public pages a logged-out visitor sees. It uses residential proxies, which Reddit requires — the default setting works out of the box.
Why don't search results have post text?
Reddit's search page shows titles, scores and comment counts, not the post body. Turn on Include comments to get the discussion, or scrape the subreddit feed, which includes the full text.
How many posts can I get from one subreddit?
Each Reddit feed ends after a limited number of posts (historically about 1,000 per feed and sort). Top lists with a short time range end much sooner — Reddit itself lists only about 25–30 posts for a busy subreddit's top of the week, and about 100 for the month. Use Hot or New, a longer time range, or searches to get more.
Can it scrape private or quarantined subreddits?
No — those need a logged-in account. The run tells you when a subreddit is private, banned or doesn't exist.
Is it legal to scrape Reddit?
The scraper only collects content that is publicly visible without logging in. Reddit content can contain personal data (usernames, posts people wrote) — make sure your use complies with the GDPR and other laws in your jurisdiction, and with Reddit's terms for your use case. Consult a lawyer if unsure.
Can I use it via API or integrate it?
Yes — run it via the Apify API, schedule it, or connect it to Make, Zapier, Google Sheets, Slack and others through Apify integrations.
Need a field that's missing?
Open an issue on the Issues tab — feature requests are answered quickly.