Reddit Subreddit Posts Actor avatar
Reddit Subreddit Posts Actor

Pricing

$7.00 / 1,000 results

Go to Apify Store
Reddit Subreddit Posts Actor

Reddit Subreddit Posts Actor

The Reddit Subreddit Posts actor is an Apify tool that scrapes posts from any Reddit subreddit. It retrieves post metadata including title, author, score, number of comments, and more, making it easy to analyze subreddit content and trends.

Pricing

$7.00 / 1,000 results

Rating

0.0

(0)

Developer

Pinto Studio

Pinto Studio

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Reddit Subreddit Posts Actor Documentation

Overview

The Reddit Subreddit Posts actor is an Apify tool that scrapes posts from any Reddit subreddit. It retrieves post metadata including title, author, score, number of comments, and more, making it easy to analyze subreddit content and trends.

Features

  • Scrape posts from any public Reddit subreddit
  • Multiple sorting options (hot, new, top, rising, controversial)
  • Pagination support for retrieving multiple pages of posts
  • Configurable post limit per request
  • Structured JSON output with comprehensive post metadata

Input Configuration

Input Parameters

ParameterTypeRequiredDefaultDescription
subredditUrlstringYeshttps://www.reddit.com/r/wallstreetThe full Reddit URL of the subreddit to scrape (e.g., https://www.reddit.com/r/wallstreet)
limitintegerYes25Maximum number of posts to fetch per page (min: 1, max: 100)
pageintegerYes1Page number for pagination (min: 1, max: 50)
sortBystringYeshotSort order for posts. Options: hot, new, top, rising, controversial

Example Input

{
"subredditUrl": "https://www.reddit.com/r/wallstreet",
"limit": 25,
"page": 1,
"sortBy": "hot"
}

Output Format

Response Structure

The actor returns a JSON object with the following structure:

{
"success": true,
"message": "Success",
"data": {
"subreddit": "wallstreet",
"sort": "hot",
"page": 1,
"limit": 25,
"count": 25,
"after": "t3_1q6nr9c",
"posts": [...]
},
"error": null
}

Post Object Fields

Each post in the posts array contains:

FieldTypeDescription
idstringUnique Reddit post ID
titlestringPost title
authorstringUsername of the post author
subredditstringName of the subreddit
scoreintegerPost score (upvotes minus downvotes)
upvoteRationumberRatio of upvotes to total votes (0-1)
numCommentsintegerNumber of comments on the post
createdstringISO 8601 timestamp of post creation
urlstringURL linked in the post (if any)
permalinkstringReddit permalink to the post
isVideobooleanWhether the post contains a video
isSelfbooleanWhether the post is a text post
selftextstringText content of the post (for text posts)
thumbnailstringURL of the post thumbnail image
domainstringDomain of the linked URL
gildedintegerNumber of Reddit awards/gildings
lockedbooleanWhether the post is locked
spoilerbooleanWhether the post is marked as a spoiler
nsfwbooleanWhether the post is marked as NSFW

Example Output

{
"success": true,
"message": "Success",
"data": {
"subreddit": "wallstreet",
"sort": "hot",
"page": 1,
"limit": 25,
"count": 25,
"after": "t3_1q6nr9c",
"posts": [
{
"id": "l85j3f",
"title": "Join the r/wallstreet Discord Server!",
"author": "SuperLehmanBros",
"subreddit": "wallstreet",
"score": 71,
"upvoteRatio": 0.96,
"numComments": 0,
"created": "2021-01-29T21:59:15.000Z",
"url": "https://discord.gg/t3AD4Hw",
"permalink": "https://reddit.com/r/wallstreet/comments/l85j3f/join_the_rwallstreet_discord_server/",
"isVideo": false,
"isSelf": false,
"selftext": "",
"thumbnail": "https://b.thumbs.redditmedia.com/3dSDbVfbwGluEBdk-m29ZV8coT6PcYbwBpfktlRRcYk.jpg",
"domain": "discord.gg",
"gilded": 0,
"locked": true,
"spoiler": false,
"nsfw": false
}
]
},
"error": null
}

Usage Examples

Basic Usage

Scrape the 25 hottest posts from r/wallstreet:

{
"subredditUrl": "https://www.reddit.com/r/wallstreet",
"limit": 25,
"page": 1,
"sortBy": "hot"
}

Retrieve New Posts

Get the latest 50 posts from r/technology:

{
"subredditUrl": "https://www.reddit.com/r/technology",
"limit": 50,
"page": 1,
"sortBy": "new"
}

Pagination

Get the second page of top posts:

{
"subredditUrl": "https://www.reddit.com/r/wallstreet",
"limit": 25,
"page": 2,
"sortBy": "top"
}

Controversial Posts

Find controversial posts in a subreddit:

{
"subredditUrl": "https://www.reddit.com/r/politics",
"limit": 100,
"page": 1,
"sortBy": "controversial"
}

Error Handling

The actor includes comprehensive error handling:

  • Invalid subreddit URL: Throws an error if the provided URL is not a valid Reddit subreddit URL
  • Missing required parameters: Throws an error if subredditUrl is not provided
  • Network errors: Catches and logs any errors during the scraping process
  • Error output: Pushes error information to the dataset with timestamp

Error Response Format

{
"data": null,
"error": "Error message description",
"timestamp": "2026-01-08T12:00:00.000Z"
}

Limitations

  • Maximum 100 posts per request
  • Maximum 50 pages for pagination
  • Only works with public subreddits
  • Subject to Reddit's rate limiting and availability

Best Practices

  1. Start small: Test with smaller limits before scaling up
  2. Use pagination: For large datasets, use multiple pages rather than high limits
  3. Respect rate limits: Avoid making too many requests in rapid succession
  4. Choose appropriate sort: Use the sort option that best matches your use case
  5. Monitor output: Check the dataset for any errors or unexpected results

Support

For issues, questions, or feature requests, please refer to the Apify platform documentation or:

  1. Create an issue and share your resource
  2. Send us private message
  3. Contact us via Telegram: @pintoflow