Reddit Popular Feed Scraper - Trending Posts
Pricing
from $2.13 / 1,000 results
Reddit Popular Feed Scraper - Trending Posts
Reads Reddit's popular listing across every community and returns one row per post: id, permalink, title, author, score, upvote ratio, comment count, flair, post type, and creation time. The listing repeats posts between reads, so repeats are counted once and a run saves distinct posts.
Pricing
from $2.13 / 1,000 results
Rating
0.0
(0)
Developer
The Netaji
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
Reddit Popular Feed Scraper
The Actor reads Reddit's popular listing — the cross-community feed of what the site is carrying right now — and saves a structured record for every post it returns. It covers that one listing: a named subreddit, an account's history, and a post's comments are the jobs of the sibling Actors named at the end. No Reddit account, application, or API credential is involved.
Accepted input
| Field | Required | Default | Notes |
|---|---|---|---|
maxItems | no | 100 | Total distinct posts to save across the whole run. 0 removes the bound. |
after | no | — | A continuation point from an earlier run: the value the run log prints when it stops, or the id of a post already collected. |
There is no subreddit field and no sort field, because the popular listing has neither. It is one feed in one order, and that order is Reddit's own.
{"maxItems": 50}
Response fields
Each saved record carries: id, fullname, permalink, url, title, subreddit,
subreddit_prefixed, subreddit_id, author, author_id, author_icon, created_at, score,
upvote_ratio, comment_count, award_count, domain, content_url, post_type, flair,
flair_url, thumbnail, media, text, nsfw, spoiler, locked, archived, and language.
permalink is the path Reddit states for the post, beginning with /r/; url is the same address
in absolute form. content_url is where the post itself points — an outbound link, an image, or a
hosted video — and domain says which of those it is. created_at is an ISO 8601 timestamp in UTC.
{"id": "1abcdef","fullname": "t3_1abcdef","permalink": "/r/technology/comments/1abcdef/example_title/","url": "https://www.reddit.com/r/technology/comments/1abcdef/example_title/","title": "Example title","subreddit": "technology","subreddit_prefixed": "r/technology","author": "example_user","created_at": "2026-08-14T09:41:07.000Z","score": 1842,"upvote_ratio": 0.94,"comment_count": 317,"post_type": "link","domain": "arstechnica.com","content_url": "https://arstechnica.com/example","nsfw": null}
What the popular listing is, and what it is not
The popular listing samples as much as it pages. Two reads of it a moment apart return overlapping
but not identical sets, and a longer read serves the same post more than once: a deep walk returned
roughly four distinct posts for every five rows it was given. The Actor therefore counts distinct
posts. A post already saved in the run is recognised and skipped rather than written twice, and
maxItems bounds posts saved rather than rows fetched, which is the only way that number can mean
what it says.
The consequence worth planning around is that this listing has no fixed order to return to. Two runs
of the same input will not produce the same list in the same sequence, and a record present in one
run may be absent from the next without having been deleted. The listing is a picture of what Reddit
is promoting at the moment of the read; it is not a stable index of anything. Work that needs a
reproducible set should read a named subreddit sorted by new instead, which does page rather than
sample.
Because the listing repeats itself, a run costs somewhat more upstream reading per saved post than its page size suggests. That is the trade for the count being honest.
Pagination, limits, and resuming
maxItems bounds the number of posts saved, not the number of requests made. Paging is settled
before a response is returned, so a run asking for 150 posts is answered with up to 150 posts rather
than a first page and a stack of follow-up work. Setting maxItems to 0 removes the bound and the
run continues until the listing reports that it has no more to give.
A run that stops with more available writes its continuation point into the run log, and passing
that value as after in a later run continues from that post. The continuation point is derived
from the last post saved rather than being a session token, so it does not expire. It is worth
remembering what it continues, though: on a listing that re-ranks between reads, resuming continues
from a position in a feed that has moved in the meantime.
Fields that are frequently absent
media, text, and nsfw are the three fields most often empty, and they are empty for ordinary
reasons rather than as a failure. text carries the body of a self post and is empty for link,
image, and video posts, which have no body. media is populated only when the listing itself
carries the attachment, which link posts do not.
nsfw has three states, and the third one matters. true means Reddit reported the over-18 mark,
false means Reddit reported its absence, and null means the listing reported nothing either way.
A null is an absence of information, not a statement that the post is safe for work. The Actor
offers no NSFW filter for the same reason: filtering on a field that is frequently unknown would
produce a result set that looks filtered without being filtered. Records can be filtered downstream
on nsfw === true, provided the null cases are treated as unknown rather than as safe.
Failures and partial results
A request that fails ends the run. Posts already saved remain in the dataset and the run log holds
the continuation point, so a failed long run is continued rather than restarted. Fields absent from
the listing are returned as null rather than omitted, so the column set is the same in every
record.
Cost
Charging is per distinct post saved to the dataset, plus the platform's one-off Actor start event. A
post served twice is charged once, because it is saved once. A run that saves nothing is charged for
nothing beyond that start event, so maxItems is the direct control on what a run costs.
Related Actors
- Reddit Subreddit Feed Scraper — one named community, in a chosen order, and a feed that pages rather than samples.
- Reddit Keyword Search Scraper — for finding posts about a subject rather than reading what is currently promoted.
- Reddit Scraper - All In One — the same read alongside the other eight, chosen at run time.
Support
Questions, bug reports, and requests for a field that is not here yet: thenetaji@proton.me.