Reddit Scraper - Posts, Comments, Search, Users (no login) avatar

Reddit Scraper - Posts, Comments, Search, Users (no login)

Pricing

from $2.50 / 1,000 post fetcheds

Go to Apify Store
Reddit Scraper - Posts, Comments, Search, Users (no login)

Reddit Scraper - Posts, Comments, Search, Users (no login)

Scrape Reddit subreddit posts, search results, full comment trees, and user history. Cookie-free, reliable (>95% success), and cheaper than incumbents. Built-in monitor mode for new-post alerts.

Pricing

from $2.50 / 1,000 post fetcheds

Rating

5.0

(1)

Developer

Omar Eldeeb

Omar Eldeeb

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Reddit Scraper — Posts, Comments, Search & Users (no login)

Reliable, low-cost Reddit data extraction. Pull a subreddit's posts, run a keyword search, grab a post's full comment tree, scrape a user's history, or monitor a subreddit for new posts — all without a Reddit login, app registration, or API key. Built on the public old.reddit.com HTML, it returns clean structured rows you can export to JSON, CSV, or Excel and feed straight into AI/RAG pipelines, dashboards, or research notebooks.

What does Reddit Scraper do?

Reddit's official API went paid and rate-limited in 2023, so getting bulk Reddit data is harder than it should be. This Actor turns any subreddit, search query, post, or user into structured data — posts (title, score, comment count, author, flair, links, timestamps) and comments (body, score, depth, parent, author, OP flag) — on the Apify platform, with scheduling, exports, integrations, and an API out of the box.

It is engineered for reliability and price: it scrapes the lightweight old.reddit.com HTML cookie-free, rotates IPs automatically, and escalates from cheap datacenter to residential proxies only when needed — so runs finish at high success rates without you paying for residential traffic you didn't need.

Why use Reddit Scraper?

  • AI / RAG builders — bulk subreddit posts + comment trees as a clean training/retrieval corpus, with stable IDs and parent linkage.
  • Market & brand researchers — search any keyword across Reddit or inside a subreddit and track sentiment, complaints, and competitor mentions.
  • Social-listening & trend analysts — monitor mode returns only new posts since the last run, perfect for scheduled alerts.
  • Academics & data scientists — reproducible discussion-tree extraction with depth and parent IDs (Pushshift is dead; this fills the gap).
  • Reliability-first teams — automatic IP rotation + datacenter→residential fallback keeps success high where cheaper scrapers time out.

How to use Reddit Scraper

  1. Click Try for free.
  2. Pick a mode (subreddit posts, search, comments thread, user profile, or monitor).
  3. Fill the relevant fields (e.g. subreddit names, a search query, or post URLs).
  4. Set Max items and Max pages per target to control run size and cost.
  5. Click Start, then export the dataset as JSON, CSV, or Excel — or pull it via the Apify API.

Input

Subreddit posts

{ "mode": "subreddit_posts", "subreddits": ["programming", "rust"], "sort": "top", "timeFilter": "week", "maxItems": 200 }

Search (sitewide or inside a subreddit)

{ "mode": "search", "searchQuery": "vector database", "sort": "top", "timeFilter": "year", "maxItems": 100 }

Comments thread (full tree)

{ "mode": "comments_thread", "postUrls": ["https://www.reddit.com/r/programming/comments/abc123/some_title/"], "maxCommentDepth": 10 }

User profile (posts + comments)

{ "mode": "user_profile", "usernames": ["spez"], "maxItems": 100 }

Monitor (only new posts since last run)

{ "mode": "monitor", "subreddits": ["programming"], "maxItems": 100 }

Output

Each row is a post or comment. Example post row:

{
"recordType": "post",
"id": "1seu7p2",
"fullId": "t3_1seu7p2",
"subreddit": "rust",
"author": "lekkerwafel",
"title": "Unpopular opinion: Rust should have a larger standard library",
"score": 923,
"numComments": 383,
"createdAt": "2026-04-07T12:13:45.000Z",
"url": "https://www.reddit.com/r/rust/comments/1seu7p2/unpopular_opinion_rust_should_have_a_larger/",
"externalUrl": null,
"domain": "self.rust",
"isSelf": true,
"isNsfw": false,
"isStickied": false,
"flair": "💡 ideas & proposals",
"fetchedAt": "2026-05-29T09:50:00.000Z"
}
FieldTypeDescription
recordTypestringpost or comment
id / fullIdstringbase36 id / t3_/t1_ prefixed fullname
subredditstringSubreddit name
authorstringUsername ([deleted] if removed)
titlestringPost title (posts only)
selfTextstringSelf-post body (comments_thread mode)
bodystringComment text (comments only)
scorenumber|nullNet upvotes (null when Reddit hides it)
numCommentsnumberComment count (posts)
createdAtstringISO 8601 timestamp
depth / parentIdnumber / stringComment nesting depth + parent fullname
isSubmitterbooleanComment authored by the OP
urlstringCanonical permalink
externalUrl / domainstringOutbound link + domain (link posts)
flair, isNsfw, isStickiedPost metadata

How much does it cost to scrape Reddit?

Pay only for what you extract (pay-per-event), with the first 10 events free every run to try it out:

EventPrice
Post fetched$0.0025
Comment fetched$0.0008
Search result fetched$0.003
User history item fetched$0.004
Monitor delta detected$0.0025

Typical runs:

  • 1,000 subreddit posts → ~$2.50 (vs ~$4 on common incumbents).
  • A 500-comment thread → ~$0.40.
  • Daily monitor of 5 subreddits (50 new posts/day) → **$0.13/day**.

Datacenter proxy (cheapest) is the default; the Actor only escalates to residential when a page is blocked, so you don't overpay.

Tips & advanced options

  • Sort & time window: top/controversial honor the timeFilter (hour→all). hot/new/rising ignore it.
  • Scope a search: turn on Restrict search to first subreddit to search inside one subreddit.
  • Comment depth: lower maxCommentDepth for cheaper, shallower trees; raise it for deep discussions.
  • Schedule monitor mode: pair it with Apify Schedules to get only-new-posts alerts; state persists across runs.
  • Big runs: switch the proxy to Residential up front for very large or heavily rate-limited scrapes.
  • Cost control: maxItems is a hard cap across all targets; maxPagesPerTarget bounds pagination.

This Actor collects publicly available content from Reddit. You are responsible for complying with Reddit's User Agreement and applicable laws (including GDPR/CCPA) when collecting and processing data, and for respecting the rights and privacy of the people whose content you scrape. Do not use it to collect personal data unlawfully, to harass, or to redistribute content in violation of Reddit's terms. This tool is provided for lawful research, analytics, and archival use.

FAQ & support

  • Do I need a Reddit account or API key? No — it uses the public old.reddit.com HTML, cookie-free.
  • Why did a run escalate to residential? Reddit blocks some datacenter IPs on /search and /comments; the Actor falls back automatically to keep success high. Disable via Auto residential fallback if you prefer datacenter-only.
  • Can it expand "load more comments" links? v1 extracts the full server-rendered tree up to your depth cap; deeply collapsed more comments stubs are not expanded yet.
  • Are scores always present? Reddit hides scores on very new posts/comments; those return null.
  • It returned 0 rows for a subreddit/user. Likely banned, private, suspended, or misspelled — check the run log.
  • Issues / requests? Open an issue from the Actor's Issues tab.