Reddit Scraper
Scrape Reddit posts and comments from any subreddit or user profile. Sort by top/hot/new, filter by score, get clean text. No key or login needed.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
sources,subreddits,users(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Pricing
$0.0005 per Reddit post = $0.5 per 1,000
| You are charged for | When | Price |
|---|---|---|
| Reddit post scraped | One Reddit post in the dataset. | $0.0005 |
| Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). | $0.001 |
Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.
Inputs
| Field | What it does | Type |
|---|---|---|
sources | Any mix of subreddits and Reddit user profiles. Accepts: 'askreddit', 'r/tifu', 'u/GallowBoob', 'user/spez', or a full reddit.com URL. Works for ANY subreddit or profile — not limited to AITA. | array |
subreddits | Optional alternative to 'sources' — plain subreddit names. Merged with 'sources'. | array |
users | Optional — Reddit usernames to scrape submissions from (without u/). Merged with 'sources'. | array |
method | rss = no key/login needed (recommended, default). oauth = use Reddit app creds below (adds score/comments). json = legacy anonymous API (often blocked). | string |
sort | top, hot (trending), new (latest), rising, or controversial. | string |
time | Time window for 'top' and 'controversial' sorts (ignored for hot/new/rising). E.g. top of all time, top this year, top this week. | string |
maxPostsPerSubreddit | How many qualifying stories to return per subreddit. | integer |
minScore | Skip posts below this upvote count. | integer |
minWords | Skip stories shorter than this (too thin for a short). | integer |
maxWords | Skip stories longer than this (won't fit a 30–90s short). | integer |
minHookScore | Filter out weak openers. 0 = keep all. | integer |
requireStory | Keep only self/text-post stories (skip link/image posts) and apply the word-count fit. Off by default = return ALL posts. Turn on for faceless story videos. | boolean |
includeNsfw | Include posts marked over-18. Off by default. | boolean |
cleanText | Strip markdown/links/edit-stamps and produce TTS-ready sentences. Turn off for raw text. | boolean |
rawMode | Output the complete raw Reddit post object instead of the shaped record. | boolean |
dedupeAcrossRuns | Remember post IDs between runs so you never get the same story twice. | boolean |
commentLimit | Fetch up to this many top comments per post (0 = none). Reliable when you add Reddit app credentials below; anonymous Reddit usually blocks comment access. | integer |
redditClientId | Optional. The default RSS method needs no login. Add a free 'script' app's client ID (reddit.com/prefs/apps) only if you want upvote score + comment counts (not exposed via RSS). | string |
redditClientSecret | The secret for your Reddit app (reddit.com/prefs/apps). | string |
What you get
A structured dataset — each result includes fields like:
authorcreatedUtcfetchedAtfitsShortflairhookScoreidisStorynarrationnumCommentsover18postTypereadTimeSecondsscoresubreddittitleselftextfetchedCommentCounturlExport every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.
20 ready-to-run use cases
Reddit Q&A Dataset for LLM Fine-Tuning & RAG
Harvest upvoted question-and-answer threads from r/askscience, r/AskHistorians and ELI5, cleaned into a Reddit Q&A dataset for LLM fine-tuning and RAG.
Reddit Relationship Stories for Faceless Videos
Faceless video creators get top weekly r/relationship_advice, r/MaliciousCompliance and r/pettyrevenge stories, hook-scored and length-trimmed for scripts.
r/nosleep Horror Stories for Narration Channels
Top r/nosleep and short scary stories, hook-scored and length-filtered, ready for horror and creepypasta narration channels on YouTube and TikTok.
WSB Ticker Mentions & Sentiment Tracker
A daily feed of hot r/wallstreetbets, r/stocks and r/options posts and comments, surfacing the most-mentioned tickers and retail sentiment for traders.
Crypto Subreddit Coin Sentiment & Hype Tracker
Daily hot posts across r/CryptoCurrency, r/solana and r/ethfinance reveal coin mentions, sentiment shifts and early hype so you spot the move first.
Spot Emerging Trends Early in Niche Subreddits
Rising threads in fast-moving subs like r/LocalLLaMA and r/Biohackers, tracked daily so analysts and marketers catch emerging trends before mainstream search.
Top Posts of All Time From Any Subreddit
The all-time top posts of any subreddit, exported as a clean dataset for discourse analysis, data journalism and content benchmarking. Researcher-ready.
r/AskReddit Stories for TikTok & Shorts Clips
Top weekly r/AskReddit, r/tifu and r/confession story answers, hook-scored and clip-trimmed for fast-paced TikTok and YouTube Shorts content.
Reddit Job & Gig Post Monitor (r/forhire, hiring)
Recruiters and freelancers catch every new gig and job post across r/forhire, r/hiring and r/freelance, de-duplicated daily, to reach out first.
Reddit Buyer-Intent Leads in r/SaaS & r/marketing
Fresh r/SaaS, r/marketing and r/Entrepreneur threads where people ask which tool or agency to use, compiled into a daily buyer-intent lead list.
Reddit Brand & Competitor Mention Monitoring
Social listening for Reddit: track every new post mentioning your brand or competitors across tech subs, daily, to catch reputation issues early.
Mine r/SaaS for Complaints & Feature Gaps
Upvoted r/SaaS and product-community threads full of complaints, feature requests and wishlist replies about a tool, sourced to feed your product roadmap.
Reddit 'Alternatives To X' Competitive Intel
Which rival wins the deal and why? Surface 'alternatives to [product]' threads across SaaS and software subs to learn exactly why buyers switch.
Reddit Content Ideas & SEO Questions by Niche
Pull the top upvoted questions from any niche subreddit, mapped to content gaps and blog ideas your audience is actually asking about right now. For SEO teams.
Reddit Product Recommendations Before You Buy
Recommendation threads from r/BuyItForLife, r/HeadphoneAdvice and r/SkincareAddiction, ranked to show the products Reddit actually recommends in a niche.
Supplement Sentiment in r/Supplements & Nootropics
Experience posts and discussion from r/Supplements, r/Nootropics and r/Biohackers, mined to track sentiment on ingredients and supplement brands.
Scrape r/AITA Stories for Faceless YouTube Videos
Self-post AITA stories sized for a 30-90s short, cleaned and TTS-ready. Word-count filtered so nothing overruns the voiceover on faceless YouTube videos.
Top Weekly r/wallstreetbets Posts Scraper
The highest-voted r/wallstreetbets posts from the past week, showing which tickers and plays the sub is hyping right now. For traders watching WSB.
Scrape a Reddit User's Posts by Username
A single Reddit account's submissions, newest first, pulled from any u/ username or profile URL. Account-level post history for research and OSINT.
r/AskReddit Top Threads Plus Comments Scraper
The day's top r/AskReddit questions with their top comments, fetched via Reddit app credentials for full thread data. Posts and replies together.
Related tools in Social Media Scrapers
Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.
Reddit Posts Search Scraper
Search Reddit by keyword across the site or one subreddit and export matching posts as JSON. Sort by relevance, top, new or hot. No code needed.
Reddit Video Scraper & Downloader
Download v.redd.it videos from any subreddit or Reddit user, with audio muxed in plus metadata. Filter by sort, time, and duration. No login or API key.
Telegram Channel Scraper
Scrape public Telegram channels without login or an API key. Get posts with text, date, views, media, plus channel title and subscriber count.
Pinterest Search Scraper
Scrape Pinterest search results by keyword. Get pins as JSON: image/video URLs, destination links, save and comment counts. No login, paginated.
Bluesky Scraper
Scrape Bluesky posts by keyword or handle. Get post text, URLs, likes, reposts, and full profiles as clean JSON. No login or API key needed.
Mastodon Scraper
Scrape public Mastodon posts from any instance by hashtag, account, or timeline. Clean text, author, engagement and media as JSON. No login or key.
Where this tool sits
- Categories
- Social Media Scrapers
- Platforms
Reddit Scraper
Pulls posts from any subreddit or user profile without an API key or login. Point it at a list of sources, pick a sort and time window, and you get back full post data including the body text (selftext), with optional cleaned, TTS-ready narration. Built for people batching Reddit content: short-form video scripts, research datasets, content monitoring.
How it works
Reddit hard-blocks the anonymous .json API but still serves Atom RSS feeds from separate infrastructure that isn't rate-limited the same way, so the default rss method reads those feeds and parses them into structured records. RSS doesn't expose upvote scores or comments, so if you need those, add free Reddit "script" app credentials and the actor switches to the authenticated OAuth endpoint for that data.
Input
Nothing is strictly required. If you pass no sources, the actor falls back to its prefilled examples. The fields you'll actually touch:
| Field | Required | Notes |
|---|---|---|
sources | no | Array of subreddits and/or user profiles. Accepts tifu, r/tifu, u/spez, user/spez, or a full reddit.com URL. Mixed lists are fine. |
sort | no | One of top, hot, new, rising, controversial. Defaults to top. |
time | no | Time window for top and controversial: hour, day, week, month, year, all. Ignored for the other sorts. Defaults to day. |
maxPostsPerSubreddit | no | How many posts to return per source. Defaults to 10, max 100. |
method | no | rss (default, no login), oauth (uses the creds below, adds scores/comments), or json (legacy anonymous API, usually blocked). |
cleanText | no | Strips markdown, links, and edit stamps to produce narration sentences. On by default. Turn it off for raw text. |
requireStory | no | Keep only text posts and apply the word-count fit. Off by default, which returns all post types. |
commentLimit | no | Top comments to fetch per post. Needs Reddit app creds to be reliable; anonymous comment access is usually blocked. Defaults to 0. |
redditClientId / redditClientSecret | no | Free "script" app credentials from reddit.com/prefs/apps. Only needed for comments and upvote scores. |
minScore, minWords, maxWords, minHookScore, includeNsfw, dedupeAcrossRuns | no | Filters and run-to-run dedupe. Sensible defaults; leave them alone unless you're filtering for short-form fit. |
proxyConfiguration | no | Rotating Apify datacenter addresses by default. The RSS feeds work from most IPs, so a proxy is not mandatory for small runs. Metered groups (RESIDENTIAL, GOOGLE_SERP) are not offered and are swapped for datacenter automatically; your own custom proxy URLs are used exactly as given. |
Output
Each post is one dataset item. Alongside the metadata you get selftext (the full post body) and, when cleanText is on, a narration field plus ttsSegments split into sentences ready to hand to a text-to-speech step.
Key fields: id, subreddit, title, url, author, score, numComments, createdUtc, over18, selftext, postType, narration, ttsSegments, wordCount, readTimeSeconds, hookScore, fitsShort. When commentLimit is set, a comments array (author, body, score, depth) and fetchedCommentCount are added. Set rawMode if you'd rather have the unshaped Reddit post object.
Example
{
"sources": ["r/tifu", "r/AskReddit", "u/GallowBoob"],
"sort": "top",
"time": "week",
"maxPostsPerSubreddit": 25,
"cleanText": true
}
Pricing
$0.50 per 1,000 rows ($0.0005 each), plus $0.001 each time a run starts. Flat rate — no volume tiers, no plan gates, no subscription — and you are charged only for rows actually returned.
Sources that return nothing, blocked feeds and no-result runs never incur the per-row fee, so a run that finds no posts costs only the $0.001 start fee. Pulling 25 posts from each of four subreddits in one run costs $0.051 all-in.
Notes
Scores and comments are not in the RSS feed. If you need them, create a free script app at reddit.com/prefs/apps and pass redditClientId and redditClientSecret. Anonymous comment fetching is mostly blocked by Reddit and will usually come back empty.