Reddit Scraper: Posts, Comments & Subreddits avatar

Reddit Scraper: Posts, Comments & Subreddits

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Reddit Scraper: Posts, Comments & Subreddits

Reddit Scraper: Posts, Comments & Subreddits

Scrape Reddit posts, comments, media, subreddits & users by keyword, subreddit or Reddit page URL. Filter by score and comments. No account or API key.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Watcharin Kan

Watcharin Kan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Reddit Scraper - Posts, Feeds, Comments & Subreddits

Reddit Scraper extracts data from Reddit without a Reddit account or API key. Search all of Reddit by keyword, or read subreddit, user and post pages directly, and get clean, ready-to-use rows of posts, media, comments, communities (subreddits) and people (users).

Use the built-in filters to keep only the results that matter: minimum score, upvote ratio and comments, plus flair, author, title, post text, linked domain and NSFW. Export the data as JSON, CSV, Excel or HTML, or call it from your own code through the Apify API.

What can Reddit Scraper do?

  • Scrape every kind of Reddit content. Posts, media (image, video, GIF, gallery), comments (with reply depth and score), communities (subscribers, description) and people (karma, account age; sortable by karma).
  • Two ways to collect data. Search all of Reddit (or chosen subreddits) by keyword, or use Direct mode to read subreddit feeds and user or post pages directly with Reddit page URLs or Subreddit feeds (hot, new, top, rising, controversial).
  • No Reddit account needed. You do not have to give a Reddit login, cookies or API keys.
  • Filter before you pay. Minimum score, minimum upvote ratio, minimum comments, authors, title contains, post text contains, flairs, linked domains, linked URL contains, text-only posts and NSFW on/off.
  • Control cost and size. Set the page size and the total number of pages, so a run reads only as much as you want.
  • Keep every Reddit field. Turn on Include raw JSON to add the original Reddit data next to the clean columns.
  • Apify platform features. Schedule runs, call the API, send results to webhooks and integrations, and monitor runs in the Console.

What data can you extract from Reddit?

Content typeMain fields
Postskeyword, subreddit, sort, time range, score, upvote ratio, comment count, author, title, selftext, flair, domain, url (the link in the post), NSFW flag, date, permalink
Mediaeverything in posts (with the media URL instead of url) plus media type, thumbnail, width, height
Commentscomment text, author, score, depth, parent, post title and permalink
Communitiesname, subscribers, description, type, language, created date
Peoplename, link karma, comment karma, total karma, account age, verified email

How to scrape Reddit

  1. Open the Actor and choose a Content type (posts is the default).
  2. Fill in Keywords to search, or fill in Reddit page URLs / Subreddit feeds to read pages directly.
  3. Optionally add filters (minimum score, flair, author, domain...) and set Max pages (total) to limit how much is read.
  4. Click Start, then open the Output tab or download the dataset as JSON, CSV, Excel or HTML.

Keywords: all words, or an exact phrase

You typeWhat is searched
portable grillAll the words, in any order. Posts that contain every word, usually anywhere in the title or text.
"portable grill" (type the double quotes as part of the keyword)The exact phrase. Posts where the words appear together, in that order.

Every item in the Keywords list is its own search and the results are added together. ["portable grill", "camping stove"] finds posts about either one; it does not require both in the same post. In direct mode the same two ways apply to the posts that were read.

Pricing: how much does it cost to scrape Reddit?

The Actor uses Apify's pay-per-event pricing, so you pay for what you get:

  • $1.50 per 1,000 results ($0.0015 per item saved to the dataset).
  • A small start fee per run ($0.001, more for runs with more than 1 GB of memory).

For example, 5,000 posts cost about $7.50 plus the start fee. Use Max pages (total) and the filters to keep a run small, and set a maximum cost per run in the Apify Console if you want a hard limit. Discounts may apply on higher Apify plans.

Input examples

Search posts by keyword

{
"contentType": "posts",
"keywords": ["portable grill", "\"camp stove\""],
"subreddits": ["camping", "overlanding"],
"sort": "top",
"timeRange": "year",
"minScore": 10,
"minUpvoteRatio": 0.8
}
{
"contentType": "posts",
"listingSubreddits": ["camping", "overlanding"],
"listingSort": "top",
"timeRange": "week",
"minScore": 10
}

Read feeds and a user page from URLs

{
"contentType": "posts",
"startUrls": [
{ "url": "https://www.reddit.com/r/camping/controversial/?t=month" },
{ "url": "https://www.reddit.com/r/overlanding/rising/" },
{ "url": "https://www.reddit.com/user/PlentyDirection5691/" }
],
"keywords": ["stove"]
}

startUrls must be an array of objects with a url field, as above. A plain string or an array of strings is rejected. In direct mode, keywords and the other filters keep only the posts that match. A sort or time written in a URL (for example /top/?t=week) wins over Feed sort and Time range. old.reddit.com and r/all also work. A user page returns that user's own posts only (not the comments they wrote). Search, wiki and multireddit pages are not supported and are skipped with a warning, and short redd.it links are skipped too.

Get the comments of one post

{
"contentType": "comments",
"startUrls": [
{ "url": "https://www.reddit.com/r/camping/comments/abc123/post_title/" }
]
}

Replace the URL with a real post. More ready-to-use inputs are in the examples folder of the Actor.

Input fields

FieldWhat it does
Content typeposts, media, comments, communities or people.
KeywordsWhat to search for: words in any order, or an exact phrase in double quotes. Required for communities and people.
Reddit page URLs / Subreddit feeds / Feed sortDirect mode: read subreddit, user and post pages directly (posts, media and comments).
SubredditsNarrow a keyword search to some subreddits.
Time range, Sort byTime range and order of a search (and time range for top / controversial feeds).
Minimum comments, Minimum score, Minimum upvote ratioKeep only posts above these values (empty = no filter).
Authors, Title contains, Post text contains, Post flairs, Linked domains, Linked URL containsKeep only posts that match.
Text (self) posts, Adult (NSFW) contentKeep or exclude text posts and NSFW content.
Max results per page, Max pages (total)Page size (up to 100) and how many pages to read in total, over all keywords and feeds.
Include raw JSONAdd the original Reddit data of each item.

Output example

Each result is one row in the dataset. The columns depend on the content type. Example for posts:

{
"scrapedAt": "2026-10-16T08:21:44.000Z",
"keyword": "portable grill",
"subreddit": "camping",
"sort": "top",
"timeRange": "year",
"score": 128,
"upvoteRatio": 0.93,
"totalVote": 140,
"comments": 42,
"author": "example_user",
"title": "Best portable grill for car camping?",
"selftext": "I am looking for a small grill that fits in a trunk.",
"flair": "Gear",
"domain": "self.camping",
"url": "https://www.reddit.com/r/camping/comments/abc123/best_portable_grill/",
"nsfw": false,
"posted": "2026-10-10T14:03:11.000Z",
"permalink": "https://www.reddit.com/r/camping/comments/abc123/best_portable_grill/"
}

Comments: subreddit, postId, postTitle, postPermalink, commentId, parentId, depth, author, body, score, isSubmitter, posted, permalink. Communities: display_name, title, subscribers, created, public_description, description, subreddit_type, over18, lang, url. People: name, link_karma, comment_karma, total_karma, created, is_gold, is_mod, has_verified_email, public_description, url.

All dates are in UTC (ISO 8601).

What people use it for

  • Market and product research. Find what people ask for and complain about in a niche.
  • Brand and keyword monitoring. Track mentions of a brand, product or topic, filtered by score and flair.
  • Lead and audience research. Find active subreddits and the people who post in them.
  • Content and trend research. Collect the best posts of a subreddit by week, month or year.
  • Datasets for analysis and AI. Export posts and full comment threads for sentiment analysis or model training.

Good to know

  • How much you can get is limited by Reddit, not by the Actor. In our tests a keyword search returned around 250 results for a broad keyword. Subreddit feeds go deeper: about 1,000 posts for new and hot, about 450-500 for top and controversial.
  • Large comment threads. A post returns up to about 500 comments in one request, with replies up to 10 levels deep. In very large threads some replies that Reddit hides behind "load more" are not included.
  • Comments use more requests. In comments mode, every matching post needs one extra request, so set Max pages (total) to keep runs short.
  • Where filters are applied. Minimum comments, minimum score and minimum upvote ratio are applied after the posts are read. In a search the other filters (title, text, author, flair, domain, URL) are sent to Reddit; in direct mode they are applied after reading.
  • Rising does not exist for user pages (the Actor uses new there). The rising and controversial orders are available in direct mode only.

FAQ

Do I need a Reddit account or API key? No.

Can I scrape the whole of Reddit? Yes. Leave Subreddits empty and use keywords.

Why did I get fewer results than I expected? Reddit limits how deep a search or a feed can go (see Good to know), and your minimum comments, score, upvote ratio and other filters remove posts after they are read.

Can I get posts without a keyword? Yes, use Reddit page URLs or Subreddit feeds.

Can I schedule it or call it from my own code? Yes. Like any Apify Actor it can be scheduled, called through the API, and connected to integrations such as webhooks.

Something does not work or you need a feature. Open an issue on the Actor page and describe your input and the run link.

Responsible use

The Actor reads publicly visible Reddit pages. Make sure your use of the data follows Reddit's terms and the laws that apply to you, especially when you collect information about people.