Home › Guides › Reddit Subreddit Posts Scraper
Reddit subreddit posts: new, hot and top with velocity and the upvote ratio
The Reddit Subreddit Posts Scraper returns the posts of any public subreddit, page by page, as Reddit shows a signed-out visitor — new, hot, top, rising or controversial, up to Reddit's own end of the listing (~1,000). Every row carries the post's texts, numbers, exact times and media, and what other Reddit scrapers leave out: score and comments per hour, the upvote ratio, the subreddit's size, and each author's karma and account age on request. No login, no cookies, no CAPTCHA solving; only-new mode for recurring runs.
Who it's for
- Community managers watching a subreddit's new posts and what's rising, on a schedule.
- Trend and content researchers pulling the top posts of a window with author karma.
- Data teams building a subreddit's recent history for analysis or ML.
- Social listeners who want velocity signals, not just raw scores.
What you get
| Group | Fields |
|---|---|
| Post | Post id & fullname, URL, subreddit, title, text, linked address, domain, kind (text/link/image/gallery/video/poll/crosspost), author & flair, media |
| Engagement | Score, upvote ratio, comment count, award count; scorePerHour, commentsPerHour, hours since post |
| Context | Subreddit subscribers & record (free); author's karma and cake day with includeAuthorInfo |
A real row (trimmed):
{
"type": "post",
"subreddit": "Python",
"title": "A Jev-style regex, use meaning instead of rules",
"kind": "text",
"author": "iohans",
"score": 42,
"upvoteRatio": 0.95,
"commentCount": 11,
"createdAt": "2026-10-10T16:29:58.000Z",
"scorePerHour": 24.7,
"flair": "Showcase",
"subredditSubscribers": 1516618
}
Input
| Input | What it does |
|---|---|
subreddits | One per line: python, r/python or a URL; a subreddit named twice read once |
sort · time | new (default), hot, top, rising, controversial · period for top/controversial |
maxPostsPerSubreddit · maxPosts | Posts per subreddit (default 100; Reddit ends a listing ~1,000) · total rows |
postKinds · minScore · minComments | Keep only these; the rest skipped, not charged |
includeSubredditInfo · includeAuthorInfo · onlyNewPosts | Subreddit record (default on) · author karma, one read per author (default off) · deliver only new posts |
{ "subreddits": ["python", "r/learnpython"], "sort": "new", "maxPostsPerSubreddit": 200, "postKinds": ["text", "link"], "minComments": 5 }
Honest limits
- About 1,000 posts per subreddit — Reddit's own cap; use
top+timewindows or scheduled only-new for more. - Reddit closed its signed-out JSON API (16 Oct 2026), so its web pages give 24 posts a request and do not carry the edit time, the spoiler/locked/archived flags, a poll's votes or a crosspost's origin — those are
null;nsfw/stickiedarrive on media posts only. - Share links (
/r/x/s/…) aren't accepted — this Actor reads listings, not single posts; scores are fuzzed by Reddit by design. - A private, quarantined, Premium-only or non-existent subreddit gets a free status row.
Pricing
Pay per result: one post event per delivered row (the subreddit's and author's records ride along free), measured about $0.04 per 1,000 posts with karma off. Status rows are free, filtered-out posts aren't charged, and a run Reddit doesn't answer ends failed and charges nothing. Current prices are on the actor's Pricing tab on Apify.
Turn a subreddit into data: new/hot/top posts with velocity, the upvote ratio and the subreddit's size. Exportable to JSON, CSV or Excel.
Open the Reddit Subreddit Posts Scraper →Related
This Actor reads a subreddit's feed; to search Reddit by keyword use the Reddit Search Scraper, for a post's full comment thread the Reddit Post Comments Scraper, to hydrate post links the Reddit Post Details Scraper, and for a user's profile and history the Reddit User Scraper.
Frequently asked questions
Do I need a Reddit account, login or API key?
No. It reads the pages Reddit's own site renders for a signed-out visitor — no account, no cookies of yours, no CAPTCHA solving. Reddit answers these for residential addresses only, so Apify Proxy residential is used by default.
How many posts per subreddit?
Reddit ends a listing after about 1,000 posts, whatever you ask for. For the whole history, use top across several time windows, or run new on a schedule with only-new mode.
Can I filter by kind, score or comments?
Yes — postKinds, minScore and minComments. Filtered-out posts are not written or charged.
What does author karma cost?
includeAuthorInfo adds each author's link/comment karma and cake day, but it is one profile-page read per author, so it is off by default and makes the run slower. The subreddit's size rides along free.
Why are some fields always null?
Reddit closed its signed-out JSON API on 16 October 2026; its web pages do not carry editedAt, the spoiler/locked/archived flags, a poll's votes or a crosspost's origin, so those are null. Everything else is measured filled.
Using the data lawfully
It reads only what Reddit shows anyone who is not signed in. Rows carry user names (public pseudonyms) and publicly posted text; you are responsible for using them lawfully (GDPR, CCPA, Reddit's User Agreement). Reddit is a trademark of Reddit, Inc.; this Actor is not affiliated with it.
Reddit Subreddit Posts Scraper — five orders, velocity and the upvote ratio. Pay per row, no API key.
Get subreddit posts on Apify →