Reddit Scraper - Posts, Comments & Search avatar

Reddit Scraper - Posts, Comments & Search

Pricing

from $1.50 / 1,000 post scrapeds

Go to Apify Store
Reddit Scraper - Posts, Comments & Search

Reddit Scraper - Posts, Comments & Search

Scrape Reddit posts, comments, subreddits and user profiles by keyword search or URL. No API key or login needed. Filter by date, upvotes and NSFW, get full comment threads and free sentiment analysis. Export JSON, CSV or Excel, or connect via API, MCP and integrations. Pay only per result.

Pricing

from $1.50 / 1,000 post scrapeds

Rating

5.0

(1)

Developer

Brisk Pebble

Brisk Pebble

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

5 days ago

Last modified

Categories

Share

What does Reddit Scraper do?

Reddit Scraper extracts public data from Reddit: posts, full comment threads, subreddit details and user activity. Start from any mix of:

  • 🔎 Keyword search, across all of Reddit or inside one subreddit, sorted by relevance, hot, top, new or most comments
  • 📰 Subreddit feeds: hot, new, top, rising or controversial, with a time range
  • 👤 User profiles: the posts (and optionally the comments) someone published
  • 🔗 Any Reddit URL: posts, subreddits, searches and profiles, including old.reddit.com and redd.it short links

You don't need a Reddit account, API key or login. Results land in a clean dataset you can download as JSON, CSV, Excel, XML or HTML, call through the Apify API, schedule, or connect to Make, Zapier, n8n, Google Sheets, Slack and AI agents over MCP.

Why use this Reddit scraper?

  • Built for Reddit after the 2026 API lockout. Reddit shut down its unauthenticated .json endpoints in May 2026, and most free scrapers broke. This Actor reads the same server-rendered pages the Reddit website uses. A real browser steps in only when Reddit asks for a check, so runs stay fast and cheap.
  • Pay only for results. You're charged per saved post or comment. Posts removed by your filters are never charged.
  • Precise filters. Filter by date range (absolute or "last 7 days"), minimum upvotes and comments, NSFW, and strict keyword matching. On "New" feeds the scraper stops as soon as it reaches posts older than your date.
  • Complete threads. Each comment includes author, text, score, depth and parent ID, so you can rebuild the whole tree. "More replies" threads are expanded.
  • Free sentiment analysis. Optionally label every post and comment positive, neutral or negative.
  • Reliable runs. Duplicates are removed across inputs, the run resumes after a platform migration without re-charging, and it fails loudly instead of returning an empty "success".

What Reddit data can I extract?

PostsCommentsCommunities
Title, full text, URLComment text and URLName, title, description
Author, author ID and profileAuthor and profileMember count
Subreddit, subreddit IDScore (upvotes)Active users
Score, upvote ratioDepth and parent IDIcon and banner
Comment count, awardsPost ID, URL and titleNSFW flag
Flair, post type, domain, linked URLCreated dateCreated date
Thumbnail and media URLsDeleted/removed flag
NSFW, spoiler, pinned, lockedSentiment (optional)
Created date, language, search snippet

Every item has a dataType (post, comment or community) and a source field showing which of your inputs it came from.

How to scrape Reddit

  1. Click Try for free and open the Input tab.
  2. Step 1: add at least one target, e.g. a search term like best CRM for startups, a subreddit like SaaS, a username, or a Reddit URL.
  3. Step 2 (optional): turn on Scrape comments, and Get full post text if you need complete post bodies for search results.
  4. Step 3 (optional): add filters, e.g. Posted after = 30 days and Minimum upvotes = 10.
  5. Step 4: set Max results to control the size and cost of the run.
  6. Click Start, then download your data from the Output tab, or use the API.

How much does it cost to scrape Reddit?

This Actor uses pay-per-event pricing. You pay a small fee per post, per comment and per community saved, plus a tiny start fee per run. Current prices are on the Pricing tab. Higher Apify plans get automatic discounts.

Example: 1,000 posts plus 5,000 comments costs about $1.50 + $2.50 = $4.00. Max results and the run's maximum cost let you cap spending exactly, and the run stops as soon as either is reached.

With the Apify free plan's monthly credit you can try the scraper on a few thousand posts at no cost.

Input example

{
"searchQueries": ["best CRM for startups"],
"searchSort": "relevance",
"searchTime": "month",
"subreddits": ["SaaS"],
"subredditSort": "top",
"subredditTime": "week",
"includeComments": true,
"maxCommentsPerPost": 20,
"postedAfter": "30 days",
"minScore": 5,
"maxItems": 500,
"maxPostsPerSource": 50,
"sentimentAnalysis": true
}

Output example

A post:

{
"dataType": "post",
"id": "1tq0zk7",
"fullId": "t3_1tq0zk7",
"url": "https://www.reddit.com/r/technology/comments/1tq0zk7/the_netherlands_just_blocked_a_us_company_from/",
"title": "The Netherlands just blocked a US company from buying the app Dutch citizens use for everything",
"body": null,
"author": "AdSpecialist6598",
"authorId": "t2_cc0n0rs5",
"authorUrl": "https://www.reddit.com/user/AdSpecialist6598/",
"subreddit": "technology",
"subredditId": "t5_2qh16",
"subredditUrl": "https://www.reddit.com/r/technology/",
"createdAt": "2026-05-28T11:37:01.506Z",
"score": 52692,
"upvoteRatio": 0.96,
"commentsCount": 1743,
"awardsCount": 23,
"postType": "link",
"flair": null,
"domain": "techspot.com",
"contentUrl": "https://www.techspot.com/news/112552-netherlands-blocked-us-company-buying-app-dutch-citizens.html",
"thumbnailUrl": null,
"mediaUrls": [],
"isNsfw": false,
"isSpoiler": false,
"isStickied": false,
"isLocked": false,
"language": "en",
"searchSnippet": null,
"source": { "type": "subreddit", "input": "technology" },
"scrapedAt": "2026-10-19T16:00:00.000Z"
}

A comment:

{
"dataType": "comment",
"id": "ol8tp8n",
"fullId": "t1_ol8tp8n",
"url": "https://www.reddit.com/r/Rakuten/comments/1taeiw0/comment/ol8tp8n/",
"postId": "1taeiw0",
"postUrl": "https://www.reddit.com/r/Rakuten/comments/1taeiw0/",
"postTitle": "Lifelock 95% cash back",
"parentId": "1taeiw0",
"depth": 0,
"author": "Obvious_Painting_881",
"authorUrl": "https://www.reddit.com/user/Obvious_Painting_881/",
"body": "Where do you find $750? The highest available package for Total was $284.99 ...",
"createdAt": "2026-05-11T20:16:57.590Z",
"score": 2,
"subreddit": "Rakuten",
"isDeleted": false,
"source": { "type": "search", "input": "lifelock rakuten" },
"scrapedAt": "2026-10-19T16:00:00.000Z",
"sentiment": { "score": 0, "comparative": 0, "label": "neutral" }
}

The Output tab has three table views: Overview, Posts and Comments.

Tips for the best results

  • Getting full post text: search results and feeds only include previews. Turn on Get full post text to fetch the full body (one extra request per post).
  • Monitoring new posts: schedule the Actor daily with feed sort New and Posted after = 1 day. It stops paginating once it reaches older posts, so daily runs stay cheap.
  • Lead generation and brand monitoring: search with exact phrases such as "is there a tool" or "alternative to Notion", and turn on Strict keyword match to drop Reddit's fuzzy matches.
  • Large jobs: raise Max posts per target and Max results together. Each subreddit feed can go back roughly 1,000 posts, which is a Reddit limit. To get more, split the work by time range or search terms.
  • If you get blocked: keep the default RESIDENTIAL proxy. If runs still fail, set Fetch mode to Browser.

Integrations and API

You can run Reddit Scraper from your own code with the Apify API, or with the JavaScript or Python client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("<USERNAME>/reddit-scraper").call(run_input={
"searchQueries": ["web scraping"],
"includeComments": True,
"maxItems": 200,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["dataType"], item.get("title") or item.get("body"))

It also connects to Make, Zapier, n8n, Google Sheets, Airbyte, Slack, webhooks and the Apify MCP server, so Claude, ChatGPT and Cursor agents can call it as a tool.

FAQ

This Actor collects only publicly visible data that anyone can see without logging in. It doesn't log in, bypass paywalls or access private communities. Courts in several jurisdictions (for example hiQ Labs v. LinkedIn in the US) have found that scraping public data is generally lawful. However, Reddit's User Agreement prohibits scraping without Reddit's permission, and your results can contain personal data protected by laws such as the GDPR. You are responsible for how you use the data. If you're unsure, consult a lawyer, and consider Reddit's official Data API for commercial use. Read more in Apify's guide to the legality of web scraping.

Do I need a Reddit API key or account?

No. The Actor needs no API key, OAuth app or Reddit account.

Why did my run return fewer results than "Max results"?

Common reasons:

  • Your filters removed posts. Filtered-out posts aren't charged.
  • The target ran out of content. Reddit caps feeds at about 1,000 posts.
  • Max posts per target was reached first.

The log explains why the run stopped.

How fresh is the data?

Every run reads Reddit live, so scores and comment counts are current as of the moment the run scrapes them.

Can I scrape comments of a specific post?

Yes. Paste the post URL under Reddit URLs and turn on Scrape comments. Use Max comments per post to cap how many you get, and Comment sort to choose which ones come first.

Something broke. What should I do?

Reddit changes its website from time to time. Turn on Debug logging and run again; pages that couldn't be parsed are saved to the run's key-value store. Then open an issue on the Issues tab with the run link. Issues are usually fixed within a day or two.

Can you build a custom Reddit solution for me?

Yes. Get in touch through the Issues tab for custom fields, other platforms or managed data delivery.