Reddit Posts, Comments & Subreddit Analytics Scraper avatar

Reddit Posts, Comments & Subreddit Analytics Scraper

Pricing

from $3.00 / 1,000 result founds

Go to Apify Store
Reddit Posts, Comments & Subreddit Analytics Scraper

Reddit Posts, Comments & Subreddit Analytics Scraper

Scrape public Reddit posts, comments, search results, and subreddit stats through provider-backed access. Structured JSON for AI, research, and monitoring. $0.003/result plus usage.

Pricing

from $3.00 / 1,000 result founds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

703

Total users

319

Monthly active users

6 hours ago

Last modified

Share

Extract public Reddit posts, comments, upvotes, author data, and subreddit statistics in one actor. It uses owner-managed provider access with no browser and no user-supplied Reddit account or API key. Results are structured for AI agents, research workflows, monitoring jobs, and spreadsheet exports.

Compatible with: Apify MCP Server (Claude, ChatGPT, Cursor), LangChain, Make.com, Zapier, n8n, and direct REST API.


What does this Reddit scraper do?

This actor reads public Reddit data through owner-managed provider APIs for posts, comments, searches, and subreddit metadata. No headless browser is needed, which keeps runs lightweight and produces a cleaner JSON output contract than HTML parsing.

In one run you can:

  • Scrape posts from any subreddit (sorted by hot, new, top, or rising)
  • Search all of Reddit by keyword or topic
  • Extract full comment threads including nested replies
  • Pull subreddit analytics: subscriber count, active users, description, and metadata
  • Scrape specific posts by URL with their complete discussion

All three data types (posts, comments, subreddit analytics) are delivered in the same dataset, discriminated by a type field for easy filtering.

Every run also writes OUTPUT and RUN_SUMMARY records to the key-value store. These include the terminal outcome (COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT, or UPSTREAM_FAILED), item counts, warnings, request errors, and billable result totals.


What data can you extract from Reddit?

Reddit Posts

FieldTypeExample
typestring"post"
idstring"t3_abc123"
titlestring"Python ML libraries discussion in 2026"
bodystring or null"I've been using scikit-learn..."
authorstring"u/john_doe"
subredditstring"r/MachineLearning"
subreddit_subscribersinteger2840000
scoreinteger1482
upvote_rationumber0.94
num_commentsinteger73
urlstring"https://reddit.com/r/..."
external_urlstring or null"https://arxiv.org/abs/..."
flairstring or null"Research Paper"
awards_countinteger5
post_typestring"text" / "link" / "image" / "video"
is_nsfwbooleanfalse
is_stickiedbooleanfalse
created_atISO datetime"2026-03-20T14:22:00.000Z"

Reddit Comments

FieldTypeExample
typestring"comment"
idstring"t1_xyz789"
post_idstring"t3_abc123"
parent_idstring"t3_abc123"
authorstring"u/jane_smith"
bodystring or null"I'd also recommend PyTorch..."
scoreinteger342
depthinteger0 (top-level), 1, 2 (nested)
is_submitterbooleanfalse
awards_countinteger2
created_atISO datetime"2026-03-20T15:10:00.000Z"

Subreddit Analytics

FieldTypeExample
typestring"subreddit_analytics"
namestring"MachineLearning"
titlestring"Machine Learning"
descriptionstring or null"A subreddit devoted to..."
subscribersinteger2840000
active_usersinteger or nullnull (Reddit API no longer exposes this reliably)
subreddit_typestring"public"
nsfwbooleanfalse
created_atISO datetime"2010-08-17T12:00:00.000Z"
icon_urlstring or null"https://styles.redditmedia.com/..."

How to scrape Reddit posts and comments

Option 1: Apify Console (no code)

  1. Click "Try for free" to open the actor
  2. Choose your mode:
    • Subreddit URLs: paste one or more subreddit URLs (e.g., https://reddit.com/r/MachineLearning)
    • Search query: type a keyword to search all of Reddit
    • Post URLs: paste direct links to specific posts
  3. Set max posts and max comments per post
  4. Choose sort order (hot, new, top, rising)
  5. Click Start and download results as JSON, CSV, or Excel

Option 2: Using with AI Agents (Claude, ChatGPT)

Connect via the Apify MCP Server and ask naturally:

"Find 100 top posts from r/MachineLearning this week with all their comments" "Search Reddit for posts about GPT-5 and get the top 50 results" "Get subreddit analytics for r/programming and r/webdev" "Scrape this Reddit thread: reddit.com/r/..."

The AI agent automatically maps your request to the correct input parameters and runs the actor.

Option 3: REST API

# Start a run
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~reddit-posts-comments-scraper/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"subredditUrls": ["https://reddit.com/r/MachineLearning"],
"maxPosts": 50,
"sortBy": "top",
"timeFilter": "week",
"includeComments": true,
"maxCommentsPerPost": 50
}'

Option 4: JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('khadinakbar/reddit-posts-comments-scraper').call({
subredditUrls: ['https://reddit.com/r/MachineLearning'],
maxPosts: 50,
sortBy: 'top',
timeFilter: 'week',
includeComments: true,
maxCommentsPerPost: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const posts = items.filter(item => item.type === 'post');
const comments = items.filter(item => item.type === 'comment');
console.log(`Got ${posts.length} posts and ${comments.length} comments`);

Option 5: Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('khadinakbar/reddit-posts-comments-scraper').call(
run_input={
'searchQuery': 'artificial intelligence regulation',
'maxPosts': 100,
'sortBy': 'relevance',
'timeFilter': 'month',
'includeComments': True,
'maxCommentsPerPost': 30,
}
)
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
posts = [i for i in items if i['type'] == 'post']
print(f"Found {len(posts)} posts")

How to use Reddit scraper for common tasks

Brand monitoring and social listening

Search Reddit for your brand name, product name, or competitor keywords. Extract high-scoring, highly discussed posts to find what the community is saying.

{
"searchQuery": "your product name",
"maxPosts": 200,
"sortBy": "relevance",
"timeFilter": "month",
"includeComments": true,
"maxCommentsPerPost": 50
}

Market research and sentiment analysis

Scrape posts from relevant subreddits to understand user pain points, feature requests, and community opinions. The score and upvote_ratio fields help you surface content with strong community response.

Content research and trend discovery

Sort by top with timeFilter: "week" or "month" across niche subreddits to find content that performs strongly in your industry.

Academic and data science research

Use the dataset for NLP projects, sentiment classification, or social network analysis. The nested comment tree is flattened with depth and parent_id fields for easy graph reconstruction.

Competitive analysis

Pull subreddit analytics for competitor-adjacent communities to benchmark audience size, growth trends, and engagement patterns.


How much does Reddit scraping cost?

Pricing is pay-per-result. You pay for actual data extracted plus Apify platform usage under Pay per event + usage. No monthly fee is required for this actor.

Data typePrice per result
Reddit post$0.003
Reddit comment$0.003
Subreddit analytics$0.003

Example event charges: Scraping 100 posts with 50 comments each = 100 + 5,000 = 5,100 results = $15.30 in result events, plus Apify platform usage.

The actor logs the maximum event-charge cap at the start of each run and writes the actual charged result count to RUN_SUMMARY.


Where this actor fits

Provider-backed public Reddit data (not a headless browser)

The actor uses owner-managed public-data providers for Reddit routes, which means:

  • No browser rendering - fewer JavaScript and CSS selector failure modes
  • No user proxy setup - users do not need to configure residential proxies or Reddit sessions
  • Structured fields - posts, comments, media URLs, subreddit stats, and freshness timestamps are returned as JSON
  • Machine-readable summaries - OUTPUT and RUN_SUMMARY make scheduled monitors and MCP clients easier to debug

Posts, comments, and subreddit data in one run

Use this actor when you need posts, comments, and subreddit analytics in one dataset. Each record includes a type field so downstream tools can filter posts, comments, and subreddit records cleanly.

MCP-ready output

Field names, descriptions, and output schema are designed for AI agent consumption via the Apify MCP Server. Claude, ChatGPT, and other LLMs can call this actor from natural language instructions without any additional configuration.


Integrations

  • Apify MCP Server — call from Claude, ChatGPT, Cursor, and any MCP-compatible AI agent
  • Make.com / Zapier / n8n — trigger runs and send results to Google Sheets, Slack, CRMs, and 1,000+ apps
  • LangChain — use as a tool in LangChain pipelines for RAG and AI workflows
  • Direct API — REST API with JSON/CSV/Excel output for any programming language

This actor is for public Reddit data only. It does not access private, banned, quarantined, deleted, geo-restricted, or login-only content. Reddit can rate-limit or block requests, especially for broad searches or high-volume scheduled runs; those cases are reported in RUN_SUMMARY.

Use the data only where your rights, approvals, and downstream purpose allow it. Do not use this actor for unauthorized redistribution, private-content access, or AI training unless your permissions explicitly cover that use.


FAQ

Q: Do I need a Reddit account or API key? A: No user-supplied Reddit account or API key is required. The actor is intended for public Reddit data only and does not access private or login-only content.

Q: How many posts can I scrape? A: Up to 10,000 posts per run. Provider pagination and Reddit availability can limit how many records are returned for a specific query, subreddit, or time window.

Q: Can I scrape private or restricted subreddits? A: Only public subreddits are accessible without authentication. Private and restricted subreddits will return no data.

Q: Is this legal? A: This actor is for public Reddit data and should be used only where you have the rights and approvals needed for your use case. Do not use it for private content, unauthorized redistribution, or AI training unless your permissions cover that use.

Q: How fast is the scraper? A: Small runs usually finish quickly because no browser is launched. Runtime depends on provider response time, requested comments, and your max result settings.

Q: Can I schedule recurring runs? A: Yes — use Apify's built-in Scheduler to run daily, weekly, or on any cron interval. Results can be sent to webhooks, email, or connected apps automatically.

Q: What happens if the provider route fails? A: The actor tries the configured fallback provider when available, preserves useful partial results, and writes provider errors to RUN_SUMMARY. If every required route fails and no useful data is saved, the run fails honestly as UPSTREAM_FAILED.

Q: How do I filter posts vs. comments in the output? A: Every record has a type field. Filter on type === 'post', type === 'comment', or type === 'subreddit_analytics' in your downstream processing or using Apify's dataset filtering API.