How to Track Trending Topics on Reddit Before They Peak

The top post in a subreddit is not automatically a trend. It may be an old evergreen discussion, a one-off announcement, or a post that is large only because the community is large. A topic is more useful when its conversation is growing, appearing in more than one independent post, or spreading into additional communities. To track trending topics on Reddit, collect the same candidate posts on a schedule, save score and comment-count snapshots, compare their rates of change, then group related
Define the signal before collecting posts
“Trending” can mean four different things. Choose the one that matches the decision you need to make:
Signal | What it means | Useful for |
Hot post | One recent post is receiving interaction now | Timely community response |
Emerging topic | Several related posts are accelerating from a low baseline | Early content and product research |
Spreading topic | Related discussion appears in additional communities | Market or cultural diffusion |
Sustained topic | Conversation volume remains above its normal level across several periods | Campaign and editorial planning |
Use post-level signals to find candidates and topic-level signals to decide whether the conversation is genuinely trending.
Use Reddit’s sorts for different jobs
Reddit’s current sorting guide describes several useful views:
- Hot prioritizes posts recently receiving upvotes, comments, and other activity. Reddit explicitly suggests it for trending topics.
- New prioritizes recency regardless of engagement. Use it to find candidates before engagement accumulates.
- Top prioritizes high vote and comment totals and supports time filters. Use it as a benchmark, not as an early-trend detector.
- Comment Count surfaces discussion-heavy posts. Use it when conversation matters more than votes.
Collecting only Hot misses the baseline. Collecting only New finds fresh posts but gives no evidence that they are gaining traction. A practical monitor samples both: New for discovery and Hot or Comment Count for confirmation.
A trend needs repeated snapshots
One scrape gives totals. A trend requires change over time.
For each candidate post, store a snapshot at a fixed interval:
Field | Example purpose |
| Matches the same post across runs |
| Keeps community context |
| Connects related posts after review or clustering |
| Measures post age |
| Marks the snapshot time |
| Visible engagement signal |
| Visible conversation signal |
| Shows movement within the collected listing |
| Records whether the row came from New, Hot, or another view |
score_velocity = (current_score - previous_score) / elapsed_hours
comment_velocity = (current_comment_count - previous_comment_count) / elapsed_hours
Keep the raw snapshots. Visible Reddit scores can change and should be treated as observations, not exact vote histories. The purpose of the rate is comparative: which similarly aged posts are gaining interaction faster in the same monitoring window?
Three snapshots are better than two. They let you distinguish a post that is still accelerating from one whose early burst has already slowed.
Compare posts with peers in the same community
Raw engagement favors large subreddits. Twenty comments in one hour may be ordinary in a major community and exceptional in a small professional subreddit.
Create peer groups by:
- subreddit;
- post-age band, such as 0–2, 2–6, 6–12, and 12–24 hours;
- optionally, post type or flair when those categories behave differently.
Then convert score velocity and comment velocity into a percentile within that peer group. A 95th-percentile comment velocity means the post is growing faster than 95% of comparable observations from that community and age band.
If you do not yet have enough history for percentiles, begin with transparent provisional rules and label them as such. For example:
- at least three distinct posts about the topic;
- posts in at least two relevant communities;
- at least two posts above their community’s recent median comment velocity;
- positive topic mention growth across two consecutive intervals.
These are calibration defaults, not universal Reddit thresholds. Revisit them after two to four weeks of real observations.
Build a Reddit trend tracker in BrowserAct
BrowserAct’s Monitor Viral Topics on Reddit template currently lists an estimated 20–50 credits. Its page documents extraction of post titles, content, comment counts, scores, usernames, subreddit names, timestamps, and thread links from subreddit listings and search pages.
Those fields provide the collection layer. The repeated-snapshot and topic-validation rules below turn the collected posts into a trend monitor.
1. Open BrowserAct Dashboard
Click the left-side + to create a Bot, paste the prompt into the Agent input, or open the viral-topic template and select Run task.

2. Copy the complete prompt
Replace the example communities and topic scope with the market you actually research. Start with three to five related communities.
Create a reusable Bot that tracks emerging topics across public Reddit communities by collecting repeated post snapshots. Do not label one high-scoring post as a topic trend without corroborating evidence.
Reusable inputs:
- monitor_id: reddit_trends_example
- subreddit_urls:
- https://www.reddit.com/r/SaaS/
- https://www.reddit.com/r/startups/
- https://www.reddit.com/r/Entrepreneur/
- topic_scope: software buying, startup operations, and recurring customer problems
- time_horizon_hours: 24
- max_posts_per_listing: 50
- previous_snapshots: optional CSV or JSON from earlier successful runs
- topic_dictionary: optional reviewed topic labels, phrases, and exclusions
For each subreddit:
1. Collect up to max_posts_per_listing posts from the New listing within time_horizon_hours.
2. Collect up to max_posts_per_listing posts from the Hot listing.
3. Exclude ads, pinned moderator announcements unrelated to topic_scope, suggested-community cards, and non-post page elements.
4. Match repeated observations by canonical post_url or visible post_id.
5. Continue other communities when one source fails, and report the failed source separately.
Extract one snapshot row per observed post with:
- monitor_id
- post_id when visible
- canonical_post_url
- title
- visible_post_text when available
- subreddit
- author when visible
- flair when visible
- published_at or visible_post_age
- observed_at
- score
- comment_count
- listing_type: new or hot
- rank_position within the collected listing
- is_pinned
After collection:
- Merge duplicate observations of the same post from New and Hot into one snapshot while preserving both listing appearances.
- When a previous snapshot exists, calculate elapsed_hours, score_delta, comment_delta, score_velocity_per_hour, and comment_velocity_per_hour.
- Never divide by zero; mark velocity unavailable when elapsed time is too short or timestamps are uncertain.
- Preserve raw visible scores and counts. Do not infer exact vote totals that are not shown.
- Compare posts only with similar-age posts from the same subreddit when calculating percentile ranks.
Topic grouping:
- Suggest a concise topic_label for posts that discuss the same underlying event, problem, product change, behavior, or question.
- Keep a confidence score and matching evidence: shared phrases, named entities, linked event, or semantically similar problem.
- Do not merge posts merely because they share a broad word such as AI, marketing, software, or price.
- Count distinct post IDs, distinct subreddits, and independent authors for each topic.
- Preserve every source post so a reviewer can split an incorrect cluster.
Classify each topic as:
- single_hot_post: one post has strong recent engagement but the topic lacks independent corroboration;
- emerging_candidate: at least three distinct posts exist and engagement is growing, but community spread or history is still limited;
- spreading_topic: related posts appear in at least two relevant communities and at least two posts outperform their same-community age peers;
- sustained_topic: topic volume remains above its reviewed baseline across consecutive periods;
- cooling: recent velocity or mention volume has declined for two consecutive intervals;
- insufficient_evidence: the required snapshot or peer baseline is missing.
Treat the numeric rules above as configurable starting defaults, not universal claims. Return the evidence used for every classification.
Return:
1. a CSV-ready post snapshot table;
2. a topic summary table with topic_label, classification, distinct_posts, distinct_subreddits, independent_authors, mention_delta, median_score_velocity, median_comment_velocity, and evidence URLs;
3. a review queue for low-confidence topic clusters;
4. a source-health table for every subreddit and listing;
5. a run summary showing new snapshots, matched prior snapshots, possible coverage gaps, and topics whose classification changed.
Use public or authorized pages only. Do not join communities, vote, comment, message users, or change any account. If Reddit requests login, CAPTCHA, 2FA, age confirmation, membership approval, or restricted access, pause that source and ask me to complete it manually.
Do not collapse topic discovery into one score. Keep the component evidence visible so a reviewer can see whether a label came from velocity, volume, community spread, or an uncertain cluster.
Scrape data from any website. Describe the data you need. Get a Bot—a reliable, reusable scraper. Try: “Collect New and Hot posts from these communities every two hours and show which topics are accelerating across communities.” Get your Bot — Free
3. Handle login only when asked
The workflow targets public Reddit listings. If a source presents login, CAPTCHA, 2FA, an age gate, membership approval, or another restriction, pause that source for authorized manual handling.
Keep the last successful snapshot. An access failure is not evidence that a topic disappeared. Mark the source access_blocked or failed, and exclude that interval from growth calculations that require complete coverage.
4. Review, dedupe, and export
Run the monitor at least three times before evaluating acceleration:
- Confirm that the same canonical post keeps one post identity across New and Hot.
- Check that
observed_atdiffers between snapshots and that deltas use the correct prior successful row. - Review the fastest-growing posts inside each subreddit rather than ranking all communities by raw counts.
- Open every post in a proposed topic cluster and split unrelated conversations.
- Confirm that
single_hot_postis not promoted tospreading_topicwithout independent posts and communities. - Mark incomplete sources and possible coverage gaps in the summary.
Export the post snapshots, topic summary, review queue, and source-health table. Keep raw snapshots so later threshold changes can be recalculated without recollecting old pages.
The publication version should add current BrowserAct screenshots from a completed three-run monitor. This review draft does not invent trend results or engagement growth.
Separate a viral post from a trending topic
Use this decision sequence:
Question | If yes | If no |
Is engagement rising between valid snapshots? | Keep as an active candidate | Treat as static or cooling |
Are there multiple independent posts on the same specific subject? | Evaluate a topic cluster | Keep as a single-post signal |
Does the cluster appear in more than one relevant community? | Measure cross-community spread | Label community-local |
Do peer-normalized velocities remain elevated? | Treat as emerging or spreading | Investigate whether raw size created a false signal |
Does volume persist across later intervals? | Treat as sustained | Label as a short spike or cooling |
Group posts into topics without erasing evidence
Topic clustering is the step most likely to create confident-looking errors.
Begin with specific entities and events: a named product release, a pricing change, an outage, a regulation, a recurring workflow problem, or a distinctive phrase. Broad category words are poor cluster keys.
Every topic summary should link back to all source posts and record why they were grouped. A useful evidence field might say:
Shared entity: Acme API v3
Shared event: pricing change announced on 2026-09-16
Independent posts: 5
Independent authors: 5
Subreddits: 3
Reviewer status: confirmed
Let a reviewer merge or split the suggested clusters. Store a stable topic_id only after review, then maintain aliases for new wording that refers to the same subject.
Measure topic-level momentum
Once posts have reviewed topic labels, aggregate by fixed time bucket:
- number of distinct posts;
- number of distinct authors;
- number of participating subreddits;
- total and median comment velocity;
- percentage of posts above their community-age baseline;
- new communities entered during the interval.
Compare the current bucket with the previous equivalent bucket. Reddit Pro’s current Trends documentation uses a similar evidence pattern for supported smart keywords: conversation volume, change from the previous period, most-discussed content, top communities, and related keywords.
That does not mean a home-built monitor reproduces Reddit Pro. It provides a useful validation model: growth, engagement, community distribution, and related language are different signals and should remain separately inspectable.
Use alerts only after classification changes
Do not alert every time a post gains one comment. Alert when the evidence changes a topic’s operational status.
Useful triggers include:
insufficient_evidence→emerging_candidate;emerging_candidate→spreading_topic;- a new high-priority community joins the topic;
- comment velocity exceeds the reviewed peer percentile for two observations;
spreading_topic→cooling;- a source failure makes the classification unreliable.
Include the underlying links and numbers in the alert. “Topic X is trending” is not enough. A reviewer should see how many posts, authors, and communities support the label and which intervals were compared.
The next guide in this series covers delivery to Telegram. Keep detection and delivery separate here so a messaging failure cannot change the trend state.
Validate a Reddit trend outside Reddit
Reddit can reveal early language, but it should not be the only proof used for a large business decision. Reddit for Business recommends combining trend insights with business analytics, website traffic, social mentions, and sales data to validate impact.
Choose the external signal that matches the hypothesis:
Reddit signal | Useful external check |
New problem language | Support tickets, site search, sales-call notes |
Product or category interest | Search trend, landing-page traffic, demo requests |
Release reaction | Changelog traffic, cancellation reasons, community support volume |
Cultural phrase or meme | Cross-platform mentions and creator adoption |
Common trend-tracking mistakes
Ranking by total score
Totals favor older posts and larger communities. Store age and compare rates within relevant peers.
Calling one viral post a trend
Report it as a hot post until independent posts or communities corroborate the topic.
Comparing incomplete intervals
If one source failed, do not interpret lower volume as cooling. Mark the interval incomplete.
Grouping by one broad keyword
“AI” posts can refer to unrelated tools, policies, failures, or jokes. Require a shared subject, event, or problem.
Hiding the formula
A single proprietary-looking trend score prevents review. Keep velocities, peer percentiles, post count, and community count visible even if you also create a composite score.
Using an uncalibrated universal threshold
Each subreddit has a different pace. Begin with provisional rules, gather history, and tune thresholds against known examples of false positives and missed topics.
Final checklist
Before relying on a Reddit trend alert, confirm that:
- the monitor collects New for discovery and Hot or Comment Count for confirmation;
- every post has at least two valid snapshots before velocity is calculated;
- post identity remains stable across listings and runs;
- engagement is compared with similar-age posts in the same community;
- multiple independent posts support a topic label;
- community spread is measured separately from raw engagement;
- topic clusters retain source links and reviewer evidence;
- failed sources do not masquerade as falling conversation volume;
- alerts explain which classification changed and why;
- important decisions are checked against a relevant external signal.
Frequently asked questions
What is the fastest way to see trending posts on Reddit?
Use Hot for current momentum and New for early candidates. For repeatable research, save snapshots so you can measure change rather than relying on the current ordering alone.
Is a high comment count enough to prove a trend?
No. It proves that one post has discussion. A topic trend needs related posts, growth over time, or spread into additional relevant communities.
How often should I collect Reddit trend snapshots?
Use intervals that match the communities’ pace. One to two hours can work for fast-moving markets; daily collection may be enough for slow professional niches. Keep the interval consistent and shorten it only when the monitor repeatedly misses the rise.
Should I combine scores and comments into one metric?
You can create a composite for sorting, but retain both components. Comments often reflect conversation intensity, while score reflects a different interaction. The ratio also varies by community and post type.
Can AI assign the topic labels automatically?
AI can suggest clusters, but keep its confidence and evidence links visible. Review emerging and high-impact clusters manually because broad semantic similarity can merge unrelated conversations.








