Reddit Subreddit Analytics & Best Time to Post avatar

Reddit Subreddit Analytics & Best Time to Post

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Reddit Subreddit Analytics & Best Time to Post

Reddit Subreddit Analytics & Best Time to Post

Analyse any public subreddit in one row: members, real posts per day, median and top-10% engagement, self-post vs link winners, top flairs, domains and authors — plus the best day and hour to post, in your timezone. Qualify a community and time your launch before you write a single word.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Hamza

Hamza

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Point this actor at any public subreddit and get back one clean analytics record per community: how big it is, how old it is, how many posts a day it really gets, what a normal post scores, what kind of content wins, who the heavy hitters are — and, above all, when to post. The best-time report breaks the community's own history down by hour of day and day of week in your timezone, then names the strongest day-and-hour slots. It is built for marketers, community managers, founders and researchers who need to decide where to spend attention and when to hit publish, without scrolling a subreddit for an afternoon.

Every number is reported next to the sample it was computed from, so you always know whether you are looking at a solid trend or a coincidence.

What you can do with it

  • Find your posting window. See which day and hour historically earn the highest scores in a community, in your own timezone, before you schedule your next post.
  • Qualify a community before you invest in it. Members, posts per day, median score and median comments tell you in one row whether a subreddit is busy, dead, or busy-but-unrewarding.
  • Compare a shortlist side by side. Run ten subreddits in one go and sort the table by median engagement, posting volume or audience size.
  • Learn what format wins. The self-post versus link split, the median score of each, and the most-shared domains show you what the community actually upvotes.
  • Spot the people who matter. Two author leaderboards — most prolific and most upvoted — surface the accounts worth following, partnering with, or watching as competitors.
  • Track a community over time. Schedule the actor weekly and keep the reports; the sample-provenance fields make run-to-run comparisons meaningful.

What you get

One record per subreddit. Abridged example:

{
"recordType": "subreddit-report",
"subreddit": "Python",
"title": "Python",
"url": "https://www.reddit.com/r/Python/",
"subscribers": 1500262,
"createdAt": "2008-01-25T03:14:39.000Z",
"ageDays": 6759.4,
"subredditType": "public",
"sampleSize": 250,
"sampleSort": "new",
"sampleSpanDays": 6.42,
"sampleOldestPostAt": "2026-07-22T04:11:38.000Z",
"sampleNewestPostAt": "2026-07-28T14:29:02.000Z",
"timezone": "UTC-05:00",
"postsPerDay": 38.8,
"postsPerHour": 1.617,
"cadenceSource": "new-sample",
"medianScore": 12,
"meanScore": 47.3,
"p90Score": 121,
"maxScore": 2884,
"medianComments": 6,
"p90Comments": 31,
"meanUpvoteRatio": 0.88,
"scoreDistribution": [
{ "bucket": "0 or below", "posts": 21, "share": 0.084 },
{ "bucket": "1-9", "posts": 96, "share": 0.384 },
{ "bucket": "10-49", "posts": 78, "share": 0.312 }
],
"selfPosts": 173,
"linkPosts": 77,
"selfPostShare": 0.692,
"medianScoreSelfPosts": 14,
"medianScoreLinkPosts": 8,
"betterPerformingFormat": "self",
"uniqueAuthors": 228,
"flairUsageShare": 0.74,
"topFlairs": [
{ "flair": "Showcase", "posts": 46, "share": 0.184, "medianScore": 21, "medianComments": 9 }
],
"topDomains": [
{ "domain": "github.com", "posts": 31, "share": 0.124, "medianScore": 27, "totalScore": 1884 }
],
"topAuthorsByScore": [
{ "author": "example_user", "posts": 3, "totalScore": 3120, "topPostScore": 2884,
"topPostUrl": "https://www.reddit.com/r/Python/comments/abc123/..." }
],
"bestDayToPost": "Tuesday",
"bestHourToPost": "09:00",
"bestSlotToPost": "Tuesday 09:00",
"bestSlotMeanScore": 96.4,
"bestSlotPosts": 4,
"bestSlotConfidence": "low",
"bestTimeToPost": {
"timezone": "UTC-05:00",
"postsAnalysed": 250,
"bestDays": [{ "dayName": "Tuesday", "posts": 41, "meanScore": 63.2, "confidence": "high" }],
"bestHours": [{ "hourLabel": "09:00", "posts": 14, "meanScore": 88.1, "confidence": "high" }],
"topSlots": [{ "slot": "Tuesday 09:00", "posts": 4, "meanScore": 96.4, "adjustedScore": 76.2 }],
"byHour": [{ "hour": 0, "hourLabel": "00:00", "posts": 7, "meanScore": 19.4 }],
"byDayOfWeek": [{ "day": 0, "dayName": "Sunday", "posts": 29, "meanScore": 41.8 }],
"hourDayHeatmap": [{ "slot": "Sunday 00:00", "posts": 2, "meanScore": 11 }]
},
"topPosts": [
{ "id": "abc123", "title": "…", "score": 2884, "numComments": 214, "author": "example_user" }
],
"notes": [],
"scrapedAt": "2026-07-28T15:02:11.000Z"
}

Turn on Also output the analysed posts and every post behind the report is written to the dataset too, so you can check the maths or reuse the raw posts.

Input reference

FieldTypeDefaultWhat it does
subredditslist of text["python"]Communities to analyse. python, r/python or a full reddit.com link all work. One report per community.
sampleSizeinteger250How many posts to read before computing the report (10–1000). More posts means steadier averages and a fuller best-time matrix.
sampleSortselectnewnew = an unbiased picture of everyday posting and the most reliable timing advice; top = study what wins; hot = what is getting traction right now.
timeselectyearOnly used with top: how far back the ranking looks (hour, day, week, month, year, all).
timezoneOffsetinteger0Hours from UTC for the timing report (−12 to 14). -5 New York, -8 Los Angeles, 1 Berlin, 8 Singapore.
topAuthorsLimitinteger20How many authors appear in each of the two author leaderboards (0–100). 0 leaves them out.
topFlairsLimitinteger15How many flairs appear (0–100) — the same limit also caps the list of most-shared link domains. 0 leaves both out.
includeSamplePostsbooleanfalseAlso writes every analysed post to the dataset alongside the report.
maxConcurrencyinteger5How many communities to work on at the same time (1–20).
countryselectusWhich country to browse Reddit from — 17 to choose from. Reddit shows the same content everywhere, so the default is fine unless you specifically need another locale.

Output fields

FieldTypeDescription
recordTypetextsubreddit-report, or post for the optional sample posts.
subreddit, subredditId, title, url, descriptiontextCommunity identity.
subscribersnumberCurrent member count.
createdAt, ageDays, ageYearsdate / numberWhen the community was created and how old it is.
subredditType, over18, quarantined, language, submissionTypetext / booleanCommunity settings that affect what you may post there.
allowsImages, allowsVideos, allowsPolls, wikiEnabledbooleanWhat the community permits.
sampleSize, sampleRequested, sampleSort, sampleTimenumber / textExactly what the report was computed from.
sampleSpanDays, sampleOldestPostAt, sampleNewestPostAtnumber / dateThe stretch of time the sample covers.
timezone, timezoneOffsettext / numberThe timezone every hour, day and slot in the report is expressed in.
postsPerDay, postsPerHournumberPosting cadence, measured from the gaps between consecutive posts (pinned posts excluded).
cadenceSource, cadenceSampleSize, cadenceSpanDaystext / numberWhich posts the cadence came from.
meanScore, medianScore, p90Score, minScore, maxScore, totalScorenumberUpvote statistics for the sample. p90 is what the top 10% of posts clear.
meanComments, medianComments, p90Comments, maxComments, totalCommentsnumberComment statistics.
meanUpvoteRatio, medianUpvoteRationumberHow lopsided the voting is (1.0 = no downvotes).
scoreDistribution, commentDistributionarrayPost counts and shares per engagement band.
selfPosts, linkPosts, selfPostShare, linkPostSharenumberThe text-versus-link split.
medianScoreSelfPosts, medianScoreLinkPosts, betterPerformingFormatnumber / textWhich format actually earns more here.
videoPosts, galleryPosts, crossposts, originalContentPosts, over18Posts, spoilerPosts, stickiedPosts, removedPostsnumberContent mix.
postsWithFlair, flairUsageShare, uniqueAuthorsnumberHow the community tags posts, and how many distinct people posted.
topFlairs, topDomainsarrayEach row carries posts, share, medianScore, medianComments and the group's best post.
topAuthorsByPosts, topAuthorsByScorearrayThe most prolific and the most upvoted accounts, with their totals.
topPostsarrayThe five highest-scoring posts in the sample.
bestDayToPost, bestHourToPost, bestSlotToPosttextThe headline timing answer, in your timezone.
bestSlotMeanScore, bestSlotPosts, bestSlotConfidencenumber / textThe evidence behind that slot: its average, its post count and how much to trust it.
bestTimeToPostobjectThe full timing report: byHour (24 rows), byDayOfWeek (7 rows), bestDays, bestHours, topSlots and an hourDayHeatmap.
notesarrayPlain-English caveats when the sample is thin or ranked rather than chronological.
scrapedAtdateWhen the report was produced.

Pricing

Pay per event — you pay for results, not for run time.

EventWhat you pay forPrice
Result rowEvery row written to your dataset: one per community report, plus one per post if you switch on Also output the analysed posts.$0.0010 each ($1.00 per 1,000 rows)
Subreddit reportCharged once for each completed community report.$0.05 each

A ten-community shortlist costs $0.51 — ten reports at $0.05 plus ten result rows. Switch the analysed posts on as well, at 250 posts per community, and the same run comes to about $3.01.

A report is only charged when it actually lands in your dataset: a community that turns out to be empty, private or misspelled is skipped and never charged. If you set a spend limit, the run stops cleanly at the limit instead of overshooting it.

FAQ

Do I need a Reddit account? No. You do not need a Reddit account, a login, or any credentials — just enter what you want and run it.

How fast is it? Posts are pulled in large batches, so a 250-post report on a single community usually lands in a few seconds. Communities are analysed in parallel — five at a time by default, up to twenty — so a ten-community shortlist finishes in roughly the time one community takes. Transient failures are retried automatically.

Which timezone are the results in? Whatever you set in Your timezone. The default is UTC. Every hour label, day name and slot in the report is expressed in that timezone, and the timezone field on each record records which one was used.

Why is the best slot marked "low" confidence? Because a week has 168 day-and-hour slots and a 250-post sample cannot fill them all. The best day and best hour rest on far more posts and are the sturdier signals — increase sampleSize if you want the slot-level answer to firm up.

Can I run it on a schedule? Yes. It is a natural weekly or monthly job: keep the reports and you build the trend line that Reddit itself does not publish.

Can I analyse a private or a banned community? No. Neither is readable without moderator access, and the run will simply note that the community was skipped.