Reddit Scraper: Posts, Comments, Users, Search & Explore

Tauqeer Abbas · @nextgensda

Scrape Reddit posts, full comment threads, users, communities and comment search by keyword, plus the Explore tab's recommended communities. API-grade JSON with no login or browser, unaffected by Reddit's 2026 .json shutdown. Monitor brands and keywords with only-new runs.

About

Reddit Scraper: Posts, Comments, Users, Search & Explore

Scrape Reddit posts, full comment threads, user profiles and histories, communities and their rules, and search comments by keyword, plus the communities Reddit's Explore tab recommends. Clean JSON straight from Reddit's API, with no login, no API key and no browser.

Still works after Reddit's 2026 shutdown. In May 2026 Reddit closed its public .json endpoints to anonymous requests (they now answer 403 whatever the IP). This actor doesn't use them: it reads Reddit's authenticated API the way Reddit's own app does, and comment threads from Reddit's own web pages. You get the same structured data, with exact scores, upvote ratios, flairs, media and comment trees.

What it scrapes

SourceRows
Subreddits (hot, new, top, rising, controversial; any time range), r/popular, r/all, the front pageposts, optionally with their comments and the subreddit's info and rules
Posts (any post URL)the post and its comment thread: text, score, depth and parent of every comment
Usersprofile (karma, account age, verified, moderator), posts and comments
Search by keyword, site-wide or inside one subredditposts, comments (full text, with the post and subreddit), communities or users
Explorethe communities Reddit recommends (popular near you, hidden gems, topic picks) with subscribers and rules

Paste any Reddit URL (subreddit, post, user, search, /explore/) or use the name and keyword fields. Mix as many sources as you like in one run.

Why this one

  • Comment search with full text. Find every comment that mentions your brand, product or competitor. Each row has the comment's full text, author, score and date, plus the post's title, score and comment count.
  • Deep comment threads. The actor follows Reddit's "more comments" links, so a big thread isn't cut off at the first page: up to 2,500 comments a post (2,000 of a 5,450-comment thread in about 2 minutes), top comments first, then the replies under them.
  • Real monitoring. Turn on Only new rows and schedule the run: each run delivers only the posts and comments the earlier runs didn't, and you never get the same row twice. Monitors are remembered for 60 days, and you can keep one per brand.
  • No duplicates in a run. A post found by two searches is delivered once.
  • Built for Reddit's rate limit. Reddit allows each IP 100 requests per 10 minutes. The actor switches to a fresh IP before that runs out, so it doesn't stall or fail on 429 errors.
  • Light and cheap. Pure HTTP at 256 MB, on datacenter proxies by default. If Reddit refuses them, the run moves to residential by itself.
  • Explore, the recommended communities, which no other Reddit actor offers.

Input examples

A subreddit's top posts of the week, with comments:

{
    "startUrls": [{ "url": "https://www.reddit.com/r/technology/top/?t=week" }],
    "includeComments": true,
    "maxCommentsPerPost": 50,
    "maxItemsPerSource": 25
}

Monitor a brand: new comments and posts every day:

{
    "searches": ["your brand", "yourbrand.com"],
    "searchFor": ["comments", "posts"],
    "searchSort": "new",
    "postedAfter": "1 day",
    "commentedAfter": "1 day",
    "onlyNew": true,
    "monitorName": "your-brand"
}

Every comment of a big thread (up to 2,000):

{
    "startUrls": [{ "url": "https://www.reddit.com/r/AskReddit/comments/1x7uu01/" }],
    "maxCommentsPerPost": 2000
}

Users' recent comments:

{
    "users": ["spez", "kn0thing"],
    "userContent": "comments",
    "sort": "new",
    "maxItemsPerSource": 200
}

Communities about a topic, with their rules:

{
    "searches": ["espresso"],
    "searchFor": ["communities"],
    "includeRules": true
}

Output

One row per post, comment, community or user. The dataType field says which. Every row also carries source (what found it), sourceUrl, created_at (ISO date) and scrapedAt.

Post (dataType: "post", 45 fields):

FieldExample
title, selftextthe post's title and body
subreddit, authorespresso, KiloBrewer
score, upvote_ratio, num_comments1202, 0.78, 386
permalink, urlthe Reddit link and the linked page / image / video
flair, flair_background_color"[SUNDAY ONLY] Self-Promotion", #014980
post_hint, is_video, is_gallery, media, preview, gallerymedia details and image URLs
over_18, spoiler, stickied, locked, archived, editedflags
created_utc, created_at1792368908, 2026-10-17T22:15:08+00:00

Comment (dataType: "comment", 34 fields): body, author, score, depth, parent_id, post_id, post_title, post_permalink, subreddit, is_submitter (the post's author), controversiality, edited, distinguished, permalink, created_at. Comment search rows add post_score and post_num_comments. Thread comments are read from Reddit's web pages, which don't show edits, moderator badges or controversiality: those fields are empty there (a user's comment history has them), and body is the text as displayed (links as their text).

Community (dataType: "community"): name, title, subscribers, public_description, description, subreddit_type, over18, created_utc, icon, banner, url, and rules (name, description, kind) when Include community rules is on.

User (dataType: "user"): name, link_karma, comment_karma, total_karma, created_utc, verified, is_mod, is_employee, is_gold, is_suspended, description, icon, url.

Pricing

One monthly rental, no per-row fees: scrape as many posts, comments, communities and users as you like. Runs use Bytewells compute from your credit, and this actor needs very little of it: pure HTTP at 256 MB.

Measured on Bytewells: 821 rows (posts from two subreddits, plus post and comment search) in 83 s for $0.014 of usage, about $0.02 per 1,000 rows, proxy traffic included.

Good to know

  • About 1,000 per listing. Reddit ends every listing and search at roughly 1,000 results. For more, combine sorts (new, top by time range) or keywords.
  • NSFW, private and quarantined communities aren't readable without a Reddit account. They're skipped with a note in the log.
  • Comment search reads about 10 comments per page, so it's slower per row than post search. Use the New sort with Comments after for monitoring: the search stops at the first older comment.
  • Deleted content shows as [deleted] / [removed], as on Reddit. removed_by_category says who removed a post.
  • Dates: Posted after and the other date filters take a date (2026-10-01) or a relative time (7 days, 24 hours, 1 month).

Use it from your tools

Run it from the Bytewells API (Apify-compatible: apify-client works with its base URL), on a schedule, or from AI agents through the Bytewells MCP server. Export to JSON, CSV, Excel or HTML.

More Actors from the same publisher.

View all from @nextgensda