Reddit Subreddit Scraper avatar

Reddit Subreddit Scraper

Pricing

from $1.05 / 1,000 posts

Go to Apify Store
Reddit Subreddit Scraper

Reddit Subreddit Scraper

Scrape Reddit subreddit posts without an API key or login: new, hot, top and rising listings for one or several communities. Title, text, score, upvote ratio, flair, links, media and dates. Only-new mode for monitoring.

Pricing

from $1.05 / 1,000 posts

Rating

0.0

(0)

Developer

Akatra

Akatra

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

20 days ago

Last modified

Share

Reddit Subreddit Scraper: posts from any subreddit

Scrape the posts of any public subreddit without an API key, an app registration or a Reddit account. Read the new, hot, top or rising listing of one or several communities and get clean structured data: title, text, score, upvote ratio, comment count, flair, author name, links, image and video URLs and exact timestamps.

Run it on a schedule with Only new items turned on and you get just the posts that appeared since your last run.

Pay per result · No login, no API key · Public data only · LLM-ready JSON for AI agents (MCP)

🛠️ What does Reddit Subreddit Scraper do?

  • 📰 Subreddit posts. New, hot, top (with a time range) or rising, for one subreddit or several at once.
  • 🔀 Several subreddits as one feed. Join subreddits with a plus sign (python+learnpython) to read them as one listing.
  • 🆕 Only new items mode. Schedule it and get just what was not returned before.
  • 🔒 No user profile data. Only the public username shown next to a post is saved. Profiles, karma and posting history are never collected.

This is the slim edition of Reddit Scraper: subreddit listings only, with a short input form. It does not search, open single posts or read comments.

  • 🛡️ Built to get through blocking. Requests go out with a real browser fingerprint through rotating proxies, and a blocked request is retried from a fresh IP. A result that could not be completed is never charged.

What people use it for

  • Market and product research. See what people ask, complain about and recommend in the subreddits of your market.
  • Trend and topic analysis. Collect the top posts of a period and compare score, comment counts and flairs across communities.
  • Community monitoring. Schedule the new listing of your subreddit or your competitors' with "Only new items" and send new posts to Slack, Google Sheets or your CRM.
  • Datasets for AI and NLP. Build text datasets of posts with timestamps, scores and flairs.
  • Content and idea discovery. Find what is rising in a niche before it is everywhere.

📊 What data can you extract?

Every result is one JSON object (one row in CSV or Excel), one post.

FieldMeaning
type, id, urlpost, Reddit's post id and the link to the post
subreddit, titleThe community and the post title
textThe post body as Reddit markdown, null for link and image posts without text. For a crosspost it is the body of the original post
createdAtWhen the post was created (UTC)
score, upvoteRatio, numCommentsNet score, share of upvotes (0 to 1) and number of comments
flairThe post flair, if it has one
isNsfw, isSpoiler, isStickied, isVideoPost flags
linkUrl, domainThe outside link of a link post as a full address and its domain (self.<subreddit> for text posts)
thumbnailUrl, imageUrls, videoUrlThumbnail, image links (single image or whole gallery) and the Reddit-hosted video link. For a crosspost they come from the original post
isCrosspost, crosspostParentId, crosspostParentSubredditWhether the post is a crosspost, and the id and subreddit of the original post
authorThe public username of the poster ([deleted] for deleted accounts)
searchQueryAlways null here (it is filled by searches in Reddit Scraper and Reddit Search Scraper)
scrapedAtWhen the record was collected (UTC)

A field that does not exist for a record is null.

🚀 How to use Reddit Subreddit Scraper

  1. Create a free Apify account and open this Actor.
  2. Add subreddits, one per line (python, r/AskReddit or a link).
  3. Pick the sort order, and a time range if you chose Top.
  4. Set max posts per subreddit.
  5. Run it and download the results as JSON, CSV or Excel, or read them through the API.

📥 Input example (JSON)

{
"subreddits": ["python", "learnpython"],
"sort": "top",
"timeFilter": "week",
"maxItemsPerQuery": 100,
"onlyNew": false
}

📤 Sample output (JSON)

Sample output table of Subreddit Scraper

{
"type": "post",
"id": "1wwbasv",
"url": "https://www.reddit.com/r/Python/comments/1wwbasv/aurora_projet_experimental_fait_en_python/",
"subreddit": "Python",
"title": "Aurora, projet experimental fait en python",
"text": "Je travaille actuellement sur **Aurora**, un projet open source expérimental qui permet de représenter les données binaires d’un fichier sous forme d’une image RGB.\n\nLe principe est simple :...",
"createdAt": "2026-10-03T01:55:56+00:00",
"score": 0,
"upvoteRatio": 0.5,
"numComments": 0,
"flair": "News",
"isNsfw": false,
"isSpoiler": false,
"isStickied": false,
"isVideo": false,
"linkUrl": null,
"domain": "self.Python",
"thumbnailUrl": null,
"imageUrls": null,
"videoUrl": null,
"isCrosspost": false,
"crosspostParentId": null,
"crosspostParentSubreddit": null,
"author": "Own-Location-8327",
"searchQuery": null,
"scrapedAt": "2026-10-03T02:44:31+00:00"
}

🤖 Use it with AI agents, MCP and the API

The output is clean JSON with stable field names, ready for LLM pipelines, RAG and agent tools without extra parsing.

  • AI agents and MCP (Claude, ChatGPT, Cursor and others). Add the Apify MCP server with this Actor as a tool: https://mcp.apify.com?tools=akatra/reddit-subreddit-scraper. The agent can then run it and read the results by itself.
  • API. Start a run and get the results in a single call:
curl -X POST "https://api.apify.com/v2/acts/akatra~reddit-subreddit-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"subreddits": ["python"], "sort": "new", "maxItemsPerQuery": 50}'
  • No-code tools and SDKs. Works with Make, n8n, Zapier and LangChain through Apify's integrations, and with the Apify clients for Python and JavaScript. Schedule it and send the results to a webhook, Google Sheets or your own database.

💰 Pricing: pay per result

You pay per result: every post saved to the dataset is one result. See the price on the Pricing tab. Runs that return nothing cost only a tiny start fee. There is no subscription or rental fee. New to Apify? The free plan includes $5 of platform credit every month, enough for about 3,300 posts with this Actor, and no credit card is needed.

🚦 Run status and error messages

Every run ends with a plain status message, so automated workflows (API, Make, n8n, AI agents) can tell what happened without reading the log:

SituationWhat you get
Finished normallySaved N posts.
Nothing matchedThe run succeeds with No results saved. Check the spelling of the subreddit, try another sort or time range, or turn off 'Only new items'. You pay only the start fee.
Missing or invalid inputThe run fails at once with Invalid input: … naming the field to fix, for example Add at least one subreddit. or 'searchQueries' is not supported in this Actor; use Reddit Scraper. Nothing is scraped.
Private, quarantined or restricted subredditr/name is private or restricted (reason). The other subreddits are still read.
Subreddit does not exist or is bannedr/name was not found (it may not exist or may be banned).
Reddit blocked every requestThe run succeeds with Reddit blocked the requests for …, so nothing was saved. You were not charged. Please try again later.
Some pages stayed blockedResults may be incomplete for: … naming the subreddit. Run again to get the rest.
Your maximum charge is reachedStops cleanly with Stopped at your maximum charge limit. Everything saved so far stays in the dataset.

ℹ️ Good to know

  • Max posts per subreddit applies to each subreddit. Reddit ends a listing after about 1000 posts for New and Hot, and earlier for Top (about 500 in our tests), so higher numbers return what Reddit gives.
  • Time range applies to the Top listing only. New, hot and rising ignore it.
  • A post that two of your subreddits would return (for example python and python+learnpython) is returned once per run.
  • Only new items remembers each subreddit and sort between runs. The first run returns everything up to your limit. Later runs return only posts that were not returned before and were created since 15 minutes before the previous run started; older posts that were never returned (for example because of your limit) stay out.
  • Subreddit listings return 18+ posts as they are, with isNsfw: true. There is no option to filter them out.
  • A crosspost keeps its own title, score, comment count, author and link, but its text, outside link, domain, images and video are filled in from the original post.
  • This Actor does not read comments, searches or single posts. numComments tells you how many comments a post has. For the rest use the full Reddit Scraper.
  • How it reads Reddit: the Actor does not use Reddit's official API. It reads the public pages Reddit shows to any visitor who is not logged in, with an anonymous visitor session, through residential IPs. Reddit's robots.txt disallows automated access, and Reddit can change or close this way of reading without notice. If that happens the run ends with a status message that Reddit blocked the requests, and you are not charged.
  • If you set a maximum charge for a run, the scraper stops as soon as that limit is reached.
  • Privacy: only content and the public username shown next to it are collected. User profiles, karma, account age and posting history are never read.

📝 Changelog

  • 2026-10-03 First release: subreddit listings (new, hot, top, rising) and only-new mode.

This scraper is an independent tool and is not affiliated with, endorsed by, or sponsored by Reddit. Reddit and its logo are trademarks of their owner and are used here only to describe which website the tool works with. Reddit's robots.txt disallows automated access and Reddit's terms of use restrict it; the Actor is not an official Reddit tool and does not use Reddit's API. Your use of the data is subject to Reddit's terms and to the laws that apply to you.

The Actor reads only pages that are public without logging in. Posts are written by Reddit users under pseudonyms and can contain personal information their authors chose to publish. How you store and use the data is your responsibility: follow the laws that apply to you, such as GDPR and CCPA.

🔗 More scrapers from Akatra

💬 Support

Found a bug or need a field that is missing? Open an issue on the Issues tab and we usually reply within a day.

🔗 Need more?

Searches, single post links, comment trees and the full set of options are in the complete Reddit Scraper.