Reddit Post Scraper — score velocity avatar

Reddit Post Scraper — score velocity

Pricing

$5.00 / 1,000 post scrapeds

Go to Apify Store
Reddit Post Scraper — score velocity

Reddit Post Scraper — score velocity

Scrape subreddit posts with what a raw score cannot tell you: upvotes per hour, rank within the batch, comments per 100 upvotes, and estimated up/down votes. Plus a summary (median score, p90, posts per day) so you know what 'doing well' means there. Unofficial; not affiliated with Reddit.

Pricing

$5.00 / 1,000 post scrapeds

Rating

0.0

(0)

Developer

Entrogix Works

Entrogix Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Scrape subreddit posts and get the thing a raw score can't tell you: how fast each post is climbing, where it ranks against the rest of the batch, and how much of its engagement is discussion rather than passive upvoting.

Unofficial. Not affiliated with, endorsed by, or connected to Reddit.

Why this one

A score of 177 means nothing on its own. It's a different post if it earned that in 2 hours than in 2 days — and a different post again if it came with 4 comments instead of 400. Most Reddit scrapers hand you the number and leave the arithmetic to you.

FieldWhat it answers
scorePerHourIs this climbing, or has it just been sitting there?
velocityPercentileInBatchIs that fast for this subreddit?
commentsPer100ScoreAre people arguing, or just upvoting and moving on?
estimatedUpvotes / estimatedDownvotesHow contested is it, behind the net score?
ageHours + isEarlyIs the post old enough for velocity to mean anything?

The numbers are honest about their own limits

  • scorePerHour floors the denominator at 1 hour. Without that, a post 3 minutes old with 5 points reads as 100/hour and takes over the ranking — sorting by newness while claiming to sort by momentum. Anything under 2 hours is flagged isEarly so you can decide whether to trust it.
  • Percentiles say InBatch in the name because that's what they are: rank among the posts this run fetched, not among all of Reddit. A percentile against an unstated population is worse than no percentile.
  • Estimated votes return null near a 0.5 upvote ratio. The estimate is total = score / (2 × ratio − 1), which diverges as the ratio approaches 0.5. Rather than print a large confident-looking number for the most contested posts, it returns nothing.
  • Reddit fuzzes displayed vote counts by design. Everything derived from score inherits that. This is Reddit's behaviour, not a defect in the Actor.
  • One clock per run. Age is measured from a single timestamp taken at start, not per row. Reading the clock per post would make later pages look older, and the bias would always run the same direction.

What you get

Per post: title, URL, author handle, subreddit, posted time, score, upvote ratio, comment count, post type, linked domain and URL, language, awards, flair — plus every derived field above.

A MOMENTUM_SUMMARY record per run: medianScore, medianComments, medianUpvoteRatio, medianScorePerHour, p90Score, postsPerDay, oldest/newest post time, top linked domains, and the post-type mix. That's the baseline you need before "500 points" can mean anything.

What this Actor does not do

  • No user profiles, and no way to search by username. You cannot point this at a person and assemble their history. Only subreddits are accepted as input.
  • No avatars, no profile URLs, no karma. The author handle is the only identifier returned.
  • No post bodies or comment threads. If you need full text, other Actors cover it — this one is for measurement.
  • No CAPTCHA solving or bot-detection bypass.
  • No logged-in scraping. Public subreddit pages only.

Reliability

Success rate was measured before this Actor was written: 12/12 fetches through the same browser path used in production, across two subreddits. It is monitored twice daily against a live page.

Reddit renders posts client-side as web components, so this Actor drives a real browser and waits for the posts to appear rather than for a fixed delay. Use useProxy: true with RESIDENTIAL.

Input

{
"subreddits": ["programming", "r/technology"],
"sort": "hot",
"maxItemsPerSubreddit": 50,
"useProxy": true,
"proxyType": "RESIDENTIAL"
}

sort accepts hot, new, and rising. Use new to watch fresh posts climb and rising for what is accelerating right now. Names, r/name, and full subreddit URLs are all accepted.

top is deliberately not offered. Reddit serves a generic landing page instead of the subreddit for /top/ often enough that it isn't shippable — measured 8/25 (32%) across both URL forms, against new 5/5, rising 5/5, hot 23/25. Shipping it would mean selling a mode that fails two runs out of three. It will come back if Reddit's behaviour changes and a re-measurement clears the 95% bar.

Paging uses Reddit's own cursor, so adding pages doesn't re-deliver posts you already paid for.

Billing

Pay per event: one post-scraped event per post actually delivered to your dataset. Duplicates are removed before charging, and a run that returns nothing costs nothing.