Reddit Scraper: Posts, Comments, Search & Users
Pricing
from $0.70 / 1,000 results
Reddit Scraper: Posts, Comments, Search & Users
Scrape Reddit posts and comments from subreddits, keyword searches, user profiles and post links. Clean, flat JSON/CSV with full text. No login, no API key. Lightweight and reliable, at $1 per 1,000 results.
Pricing
from $0.70 / 1,000 results
Rating
5.0
(1)
Developer
ecclesiasteslabs
Maintained by CommunityActor stats
2
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Get Reddit posts and comments as clean, flat data. Give it subreddits, search keywords, usernames or post links, and get back one row per post or comment, ready for spreadsheets, dashboards, or AI pipelines.
- No login, no Reddit API key
- Four sources in one run: subreddits, keyword search (all of Reddit or inside your subreddits), user profiles, single post links
- Inputs combine the way you'd expect: subreddit
medicine+ searchAI= AI posts in r/medicine; user + search = that user's posts about the topic - Full text of every post and comment, converted from HTML to plain text
- One flat shape for posts and comments, with a
typecolumn to filter on - Safe defaults: comments are off and the cap is 100 results, so a run never grows into a surprise bill
- Lightweight: no browser, so runs finish in seconds instead of timing out
What can you use it for?
- Brand and competitor monitoring: search for your brand or a competitor's name and get every new mention.
- Lead generation: find people asking for a tool or service like yours (
"looking for" crm,"any alternative to" notion). - Market research: read what a niche community talks about, in bulk.
- AI and RAG datasets: clean text with permalinks and dates, ready to chunk and embed.
- Sentiment analysis: feed post and comment text into your own model.
How to use it
- Fill in at least one of Subreddits, Search queries, Users or Post URLs.
- Pick a Sort (hot, new, top...) and a Time filter (works with every sort).
- Set Maximum results. It's shared fairly between your sources, and you only pay for results actually saved.
- Turn on Include comments if you want the discussion too.
- Click Start, then download as JSON, CSV, Excel or HTML, or read it through the API.
Input example
{"searchQueries": ["\"notion alternative\""],"sort": "new","timeFilter": "week","maxItems": 200,"maxPostsPerSource": 50,"includeComments": true,"maxCommentsPerPost": 10}
More examples:
- Latest 500 posts in two subreddits:
{"subreddits": ["startups", "SaaS"], "sort": "new", "maxItems": 500, "maxPostsPerSource": 250} - One thread with up to 200 comments:
{"postUrls": ["https://www.reddit.com/r/Python/comments/1wwv97o/"], "includeComments": true, "maxCommentsPerPost": 200, "maxItems": 201} - Top posts of the month mentioning a keyword in one subreddit:
{"subreddits": ["SaaS"], "searchQueries": ["pricing"], "sort": "top", "timeFilter": "month"}
Output example
{"type": "post","id": "1wwv97o","url": "https://www.reddit.com/r/Python/comments/1wwv97o/my_python_magic_is_gone/","subreddit": "Python","author": "RedYad2","title": "My Python magic is gone","text": "I've been coding for a long time, and I've been developing with Python for years...","linkUrl": null,"thumbnailUrl": null,"createdAt": "2026-10-03T19:08:43Z","postId": "1wwv97o","postTitle": "My Python magic is gone","source": "r/python","scrapedAt": "2026-10-04T13:46:12Z"}
Comments have the same columns, with type: "comment", the comment's own url, and postId/postTitle pointing to the post they belong to.
Output fields
| Field | Description |
|---|---|
type | post or comment |
id | Reddit id |
url | Permanent link |
subreddit | Subreddit name |
author | Username or [deleted] |
title | Post title (posts only) |
text | Plain text of the post or comment |
linkUrl | External link of link posts |
thumbnailUrl | Preview image, when available |
createdAt | Posted time, ISO 8601 UTC |
postId, postTitle | The post (for comments: the parent post) |
source | Which of your inputs produced the row |
scrapedAt | When it was collected |
What this scraper does not return
To stay fast and reliable, this actor reads Reddit's public feeds. Those feeds don't include vote scores, upvote ratio, comment counts, flair, or comment reply depth. If you need to rank posts by votes, this isn't the right tool. If you need the text of what people are saying, it is, and at a fraction of the price.
How much does it cost?
$1.00 per 1,000 results (posts or comments). No start fee, no monthly rent. Duplicates are never charged. Set a maximum cost per run in Apify and the scraper stops when it hits it.
| Results | Price |
|---|---|
| 100 | $0.10 |
| 1,000 | $1.00 |
| 10,000 | $10.00 |
Paid Apify plans get a discount: Bronze $0.90, Silver $0.80, Gold and above $0.70 per 1,000 results.
Apify's free plan includes $5 of monthly credit, enough for about 5,000 results.
Run it from your code
Get your API token in Apify Console → Settings → API & Integrations.
Python (pip install apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("ecclesiasteslabs/reddit-scraper").call(run_input={"subreddits": ["medicine"], "searchQueries": ["artificial intelligence"], "timeFilter": "month", "maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / Node.js (npm install apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('ecclesiasteslabs/reddit-scraper').call({"subreddits": ["medicine"], "searchQueries": ["artificial intelligence"], "timeFilter": "month", "maxItems": 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
HTTP (one call, returns the results)
curl -X POST "https://api.apify.com/v2/acts/ecclesiasteslabs~reddit-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"subreddits": ["medicine"], "searchQueries": ["artificial intelligence"], "timeFilter": "month", "maxItems": 100}'
Integrations
- AI agents (MCP): connect Claude, ChatGPT, Cursor or any MCP client to Apify's MCP server and the agent can call this actor directly. Every input has a plain-language description and safe defaults, so
{"searchQueries": ["your topic"]}is enough. - No-code: use the Apify modules in Make, Zapier or n8n to send results to Google Sheets, Airtable, Slack or a CRM.
- Schedules: run it daily or hourly in Apify Console → Schedules, and get only new results with a short time filter.
FAQ
Is scraping Reddit legal? This actor only collects publicly visible posts and comments, with no login. You are responsible for how you use the data, including Reddit's terms and privacy laws like GDPR. Don't use personal data for spam.
Why are there fewer search results than I expected? Reddit's own search returns a limited number of results per query. Split broad topics into several narrower queries, or add a time filter.
How many posts can I get from a subreddit? Reddit serves about 1,000 posts per listing (per sort). Use several sorts or time filters to collect more.
Something broke? Open an issue on the Issues tab. We run a health check every day and fix breakages fast.