Reddit Subreddit Posts Scraper
Pricing
from $0.01 / 1,000 results
Reddit Subreddit Posts Scraper
Harvest posts from any subreddit through Reddit's public JSON API — no login, key or OAuth. Pick the sort (hot/new/top/rising) and timeframe, set how many posts you want, and receive clean JSON with title, author, score, comments, flair, URL, thumbnail and more.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Assia Fadli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Reddit Subreddit Posts Scraper harvests posts from any subreddit using Reddit's public JSON endpoints — no login, no API key, no OAuth. Point it at one subreddit or a whole list, choose how to sort (hot / new / top / rising) and how many posts you want, and get back clean, structured JSON ready for a spreadsheet, database or downstream workflow.
Built for marketers, researchers, analysts and developers who need reliable Reddit post data without maintaining scraping infrastructure.
What you get
For every post the actor collects, it writes one dataset row with a clean, stable shape:
| Field | Description |
|---|---|
subreddit | The subreddit the post belongs to. |
id | Reddit's post id. |
title | Post title. |
author | Username of the poster. |
score | Net upvotes. |
comments | Number of comments. |
url | The post's outbound / content URL. |
permalink | Full https://www.reddit.com/... link to the post. |
created | Creation time as an ISO 8601 timestamp. |
selftext | The post body (empty string for link posts). |
flair | Link flair text, if any. |
nsfw | Whether the post is marked over-18. |
upvoteRatio | Fraction of votes that were upvotes. |
thumbnail | A genuine image thumbnail URL, or null. |
domain | Domain of the linked content. |
If a subreddit can't be scraped (empty, private, banned, quarantined, misspelled, or Reddit blocked
every attempt), the actor still writes a row — { "subreddit": "...", "error": "..." } — so no
requested subreddit is ever silently dropped, and the run still finishes successfully.
Input
| Field | Type | Required | Description |
|---|---|---|---|
subreddits | array of strings | ✅ | Subreddits to harvest, with or without the r/ prefix. |
sort | string | — | One of hot, new, top, rising. Defaults to hot. |
timeframe | string | — | Time window used for top: hour, day, week, month, year, all. Defaults to week. |
maxPosts | integer | — | Max posts collected per subreddit. Defaults to 50. |
proxyCountryCode | string | — | Two-letter residential-proxy country code (e.g. US, GB, DE). Optional. |
Example input
{"subreddits": ["programming", "webdev"],"sort": "top","timeframe": "week","maxPosts": 100}
How it works
For each subreddit the actor requests
https://www.reddit.com/r/<sub>/<sort>.json?limit=100&t=<timeframe>&after=<cursor> and reads
data.children[].data. It follows the data.after cursor to paginate automatically until
maxPosts posts are collected or Reddit returns no further cursor.
Reddit blocks requests that use the default (empty) User-Agent, so the actor uses
got-scraping, which sends a realistic browser User-Agent
and TLS fingerprint, and routes traffic through Apify's residential proxy. If a response looks like a
block page (HTML body, or HTTP 403/429), the request is retried through a fresh proxy IP and finally
as a direct request before an error row is recorded.
Note: Running from a datacenter/home IP may be rate-limited or blocked by Reddit. Running on the Apify platform with the residential proxy enabled is the reliable way to use this actor.
Pricing
This actor uses the pay-per-event model: you are charged once per post successfully delivered to
the dataset (post-scraped). Error rows are never charged, and the run stops automatically once your
event budget is reached.
Running
- Provide your
subredditslist (and optionallysort,timeframe,maxPosts,proxyCountryCode). - Run the actor.
- Collect results from the default dataset as JSON, CSV, Excel or via the API.
Tech
Written in TypeScript on the Apify SDK. HTTP-only, so builds are fast and runs are cheap.
License
MIT © Assia Fadli