# Reddit Trending Topics Finder (`coregent/reddit-trending-topics-finder`) Actor

Discover what is starting to trend on Reddit. Analyse recent posts across Reddit or selected communities, measure score and comment velocity, cluster repeated themes, and get ranked trending topics with evidence posts, subreddit spread and momentum scores. No Reddit login or API key.

- **URL**: https://apify.com/coregent/reddit-trending-topics-finder.md
- **Developed by:** [Delowar Munna](https://apify.com/coregent) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 trending topic results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Reddit Trending Topics Finder

![Reddit Trending Topics Finder](https://raw.githubusercontent.com/coregentdevspace/reddit-trending-topics-finder-assets/main/thumbnail-reddit-trending-topics-finder.png "Reddit Trending Topics Finder — ranked trending topics from Reddit with trend score, tier, evidence posts and subreddit spread")

Find what Reddit communities are **starting to talk about**, not just which individual posts are
popular right now. The Actor reads recent posts from Reddit's popular feed, the communities you
choose and searches for your seed topics, then measures score and comment velocity, spots breakout
posts, groups related posts into topics, and ranks each topic by its momentum and how widely it is
spreading. Every topic comes with its evidence posts and plain-language reasons. No Reddit account,
cookies or API key needed.

**Trending topics, not trending posts.**

### What it does

- Reads **Reddit's own feeds**: the popular feed and any community's Hot, Rising, New and Top lists,
  plus Reddit search for seed topics. Any mix, up to 100 communities and 25 seed topics.
- Analyses each post's **momentum**: score per hour, comments per hour, and whether it is breaking out
  compared with its own community.
- **Groups related posts into topics** from repeated names and phrases in their titles, so "Steam
  Machine price leak", "Valve confirms Steam Machine launch" and "Is the Steam Machine worth it?"
  become one topic.
- Scores every topic from 0 to 100, gives it a tier (**BREAKOUT, RISING, ACTIVE, WEAK**) and a
  confidence level, and lists the signals behind the score.
- Returns **one row per topic**, ranked, with the posts that support it nested inside.
- Writes a run summary and a per-source status record, so you can see what was read and what was
  not.

### Quick start

The popular feed only, last 24 hours:

```json
{
    "mode": "POPULAR",
    "timeWindow": "24_HOURS",
    "postsPerSource": 250,
    "maxTopics": 25
}
```

Selected communities over a week:

```json
{
    "mode": "SUBREDDITS",
    "subreddits": ["technology", "LocalLLaMA", "OpenAI", "artificial"],
    "timeWindow": "7_DAYS",
    "postsPerSource": 150,
    "minimumPostsPerTopic": 3,
    "maxTopics": 50
}
```

Discover the sub-topics inside broad themes:

```json
{
    "mode": "SEEDS",
    "seedTopics": ["AI agents", "AI coding", "AI browser"],
    "timeWindow": "7_DAYS",
    "postsPerSource": 100,
    "maxTopics": 25
}
```

Only themes spreading across several communities:

```json
{
    "mode": "HYBRID",
    "seedTopics": ["electric vehicles"],
    "subreddits": ["electricvehicles", "cars", "teslamotors", "technology"],
    "timeWindow": "7_DAYS",
    "minimumPostsPerTopic": 4,
    "minimumAuthorsPerTopic": 3,
    "minimumSubredditsPerTopic": 2,
    "minimumTrendTier": "RISING"
}
```

### FAQ

#### What is a Reddit trending topic?

A subject that several recent posts are about at once, posted by different people, and moving
faster than the rest of what was analysed. A topic is reported only when **multiple posts** support
it (3 by default) from **multiple authors** (2 by default). One viral post with nothing related to
it is not a trend, and is not reported.

#### How is this different from Reddit's Hot feed?

Hot ranks individual posts. This Actor reads Hot (and Rising, New and Top) as **evidence**, then
asks which subjects keep coming up across many posts and communities. You get "Data center —
BREAKOUT, 8 posts by 8 authors in 2 subreddits", not a list of the eight posts.

#### How is this different from a Reddit search scraper or a keyword monitor?

A search scraper returns the posts that match words you already know. A keyword monitor tells you
when words you already know appear. This Actor is for the topics you **do not know yet**: you give it
a scope — Reddit-wide, some communities, or broad seed themes — and it discovers what is rising
inside it. A seed topic is only a starting point and is never itself returned as a topic.

#### Which feeds are analysed?

The ones you choose in **Reddit feeds to read**: Hot, Rising, New and Top (Hot, Rising and New by
default; the Console form starts with Hot and Rising, so add New there for the newest posts too). Rising shows early momentum, Hot strong current engagement, New recency, and Top the most
engaged posts of the window. Top alone is not recommended — high past engagement is not current
momentum. Reddit's search has no Rising sort, so seed topics are searched with the others.

#### Can I select subreddits? Can I use seed topics?

Yes. List communities in **Subreddits** (`technology`, `r/technology` and full URLs all work) and
broad themes in **Seed topics**. **HYBRID** mode combines the popular feed with both; **SUBREDDITS**
and **SEEDS** use only one; **POPULAR** reads only the popular feed. A community that does not exist,
is private or is banned is reported as `SUBREDDIT_UNAVAILABLE` in the source summary and does not
stop the run.

#### What is score velocity? Comment velocity?

Score per hour since the post was created (`score / max(age in hours, 1)`), and comments per hour
the same way. A topic's **engagement velocity** and **discussion velocity** are how its posts rank on
these two rates against everything else analysed in the same run — so a quiet community and the
popular feed are each judged against their own sample, with no fixed thresholds. A **breakout post**
is in the top 10% of its own community on either rate (top 5% of the run when the community has
too few posts in the sample) and has real engagement behind it.

#### How are crossposts handled?

A crosspost and its original are **one piece of content**: they count once towards a topic's post
count, so copied content cannot inflate a trend. Each copy's community still counts towards the
topic's reach (`uniqueSubreddits`, `crosspostSubreddits`). Identical titles posted to several
communities are treated the same way. Turn on **Exclude crossposts** to leave them out entirely.

#### What does subreddit spread mean?

How many different communities a topic appears in, and how concentrated it is
(`topSubreddit`, `topSubredditShare`). A topic in `r/technology`, `r/OpenAI` and `r/LocalLLaMA` is
spreading; a topic in one community is still reported — single-community trends are often the most
useful — but it carries `SINGLE_SUBREDDIT_DOMINANCE`. Set **Minimum subreddits per topic** to 2 or
more to see only cross-community themes.

#### Why require multiple posts and authors?

So that one viral post, or one account posting the same thing repeatedly, is not mistaken for a
trend. Both minimums are adjustable.

#### What do BREAKOUT, RISING, ACTIVE and WEAK mean?

| Tier | Meaning |
|---|---|
| **BREAKOUT** | Score 70+ with strong recent acceleration, and at least two breakout posts or three communities |
| **RISING** | Score 50+: clear positive momentum with enough evidence |
| **ACTIVE** | Score 30+: current discussion, limited evidence of acceleration |
| **WEAK** | Below 30: low momentum or low confidence |

The trend score adds up named parts — engagement velocity (25), discussion velocity (20), breakout
posts (15), recency (15), post count (10), author diversity (5), subreddit spread (5) and Reddit feed
presence (5) — minus penalties for single-post, single-author, crosspost and old-post dominance.
Every row carries the parts in `scoreBreakdown`, so you can re-weight them yourself. The weights are
a first calibration, not a benchmark result.

**Confidence** (HIGH / MEDIUM / LOW) reflects the evidence: how many posts and authors, how many
communities, whether one post or author dominates, and whether score, comment count and timestamp
were available for the posts.

#### Is AI required?

No. Topics are built with deterministic metrics and phrase clustering (`analysisMode:
RULES_CLUSTERING`) — no language model, no per-post AI cost, the same input gives the same output.
Labels are the most specific name or phrase shared by the topic's posts, in the form most posts
wrote it.

#### Are comments scraped?

No, unless you switch on **Add a comment signal**. Then the Actor reads up to
`maxCommentsPerEvidencePost` top comments on each of the fastest-moving posts (at most 60 posts)
and uses them to strengthen phrase discovery; each topic reports how many comments it drew on. It
is a small sample, never a full comment tree. For whole comment threads use a comment scraper.

#### How is pricing calculated?

Pay per result: one **trending-topic-result** event per topic delivered to your dataset. A topic
summarises many posts, and its evidence posts come with it at no extra charge. Never charged: the
posts that were analysed, topics below your minimums or minimum tier, topics beyond **Max topics**,
sources that could not be read, runs that find no topic, and the run summaries. A run that finds
nothing costs nothing. This README deliberately quotes no figures — the live price is on the
Pricing tab and in the Console. If your spending limit cannot pay for every topic found, the
highest-ranked topics are the ones delivered.

#### Does it need a Reddit login or API key?

No. The Actor reads public Reddit pages as a logged-out visitor. You never provide credentials.

#### Can it be scheduled? Called through the API or MCP?

Yes. Schedule it in the Apify Console (for example, a daily `24_HOURS` run of your communities),
call it through the Apify API, or use it from AI agents through the Apify MCP server:

```bash
curl -X POST "https://api.apify.com/v2/acts/coregent~reddit-trending-topics-finder/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"mode":"SUBREDDITS","subreddits":["startups","SaaS"],"timeWindow":"3_DAYS","maxTopics":25}'
```

In an MCP client connected to `https://mcp.apify.com`, add the Actor
`coregent/reddit-trending-topics-finder` and ask, for example, "what topics are rising in r/startups
this week?".

#### What are the sampling limitations?

See [Limitations](#limitations) below.

### Input reference

| Field | Default | What it does |
|---|---|---|
| `mode` | `HYBRID` | `POPULAR`, `SUBREDDITS`, `SEEDS` or `HYBRID` |
| `subreddits` | — | Communities to analyse (up to 100) |
| `seedTopics` | — | Broad themes to search for (up to 25) |
| `timeWindow` | `7_DAYS` | `6_HOURS` … `30_DAYS`; only posts created inside it are analysed |
| `postsPerSource` | 100 | Recent posts read from each source (10–500) |
| `sortSources` | Hot, Rising, New | Which of Reddit's feeds to read |
| `minimumPostsPerTopic` | 3 | Distinct posts a topic needs (2–50) |
| `minimumAuthorsPerTopic` | 2 | Different authors a topic needs |
| `minimumSubredditsPerTopic` | 1 | Communities a topic needs; 2+ for cross-community trends |
| `minimumTrendTier` | `ACTIVE` | Lowest tier returned |
| `maxTopics` | 50 | Most topics returned, best first (1–200) |
| `minimumScore`, `minimumComments` | 0 | Post-level filters; an unknown value never fails them |
| `excludeNSFW` | on | Leave out posts marked NSFW |
| `excludeCrossposts` | off | Leave crossposts out entirely (otherwise they count once) |
| `includeEvidencePosts` | on | Attach supporting posts to each topic |
| `maxEvidencePosts` | 5 | Supporting posts per topic |
| `includeCommentsSignal` | off | Sample top comments on the fastest posts |
| `maxCommentsPerEvidencePost` | 10 | Comments read per sampled post |
| `maxConcurrency` | 5 | Sources read in parallel |
| `proxyConfiguration` | Apify Datacenter | See the proxy policy below |

A **source** is one feed of one scope: the popular feed's Hot list, one community's Rising list, one
seed topic's search results. HYBRID with 3 communities, 1 seed topic and the default three sorts is
3 + 9 + 2 = 14 sources. The form's starting input (Hot and Rising) is 2 + 6 + 1 = 9.

### Output

One row per topic, in five views. Below is one real topic from a HYBRID run (r/technology,
r/gaming, r/worldnews, r/movies, r/personalfinance, r/nba, the popular feed and two seed topics, 20
topics delivered), shown as each view returns it. Usernames are replaced.

#### Trending topics

The ranked list: score, tier, confidence, a one-line summary, and the size and reach of each topic.

![Reddit Trending Topics Finder — Trending topics view, table (one row per topic with trend score, tier, confidence, summary, posts, authors and subreddits)](https://raw.githubusercontent.com/coregentdevspace/reddit-trending-topics-finder-assets/main/reddit-trending-topics-finder-output-trending-topics-table-viewpng.png "Reddit Trending Topics Finder — Trending topics view, table")

```json
{
    "rank": 3,
    "topic": "Data center",
    "trendScore": 78,
    "trendTier": "BREAKOUT",
    "confidence": "HIGH",
    "trendSummary": "Discussion of Data center is breaking out across 2 subreddits: 8 posts by 8 authors, with 3 breakout posts.",
    "metrics": {
        "postCount": 8,
        "uniqueAuthors": 8,
        "uniqueSubreddits": 2,
        "totalScore": 46454,
        "totalComments": 1906,
        "breakoutPostCount": 3
    },
    "topSubreddit": "technology",
    "trendSignals": [
        "MULTIPLE_BREAKOUT_POSTS",
        "MULTIPLE_AUTHORS",
        "MULTIPLE_SUBREDDITS",
        "RISING_FEED_PRESENCE",
        "HOT_FEED_PRESENCE",
        "RECENT_POST_CLUSTER",
        "REPEATED_TITLE_THEME"
    ],
    "relatedPhrases": [
        "AI data centers"
    ],
    "observedWindow": {
        "newestEvidenceAt": "2026-10-20T15:52:39.324Z"
    }
}
```

#### Momentum

The velocity and feed signals behind the score, with the score broken into its named parts.

```json
{
    "rank": 3,
    "topic": "Data center",
    "trendScore": 78,
    "trendTier": "BREAKOUT",
    "metrics": {
        "avgScorePerHour": 234.4,
        "medianScorePerHour": 84.3,
        "avgCommentsPerHour": 13.1,
        "medianCommentsPerHour": 4.1,
        "breakoutPostCount": 3,
        "risingPostCount": 2,
        "hotPostCount": 7,
        "newPostCount": 5,
        "medianAgeHours": 24.3
    },
    "nativeFeedSignals": [
        "RISING",
        "HOT",
        "NEW"
    ],
    "weakeningSignals": [],
    "scoreBreakdown": {
        "engagementVelocity": 17.7,
        "discussionVelocity": 13.2,
        "breakoutPosts": 15,
        "recency": 12.8,
        "postFrequency": 7.5,
        "authorDiversity": 5,
        "subredditSpread": 1.7,
        "nativeFeedSignals": 5,
        "penalties": {},
        "total": 78
    }
}
```

#### Community spread

How many communities a topic reached, and how concentrated it is in one community or one author.

```json
{
    "rank": 3,
    "topic": "Data center",
    "trendTier": "BREAKOUT",
    "metrics": {
        "uniqueSubreddits": 2,
        "uniqueAuthors": 8,
        "crosspostCount": 0
    },
    "topSubreddit": "technology",
    "topSubredditShare": 0.88,
    "topSubreddits": [
        {
            "subreddit": "technology",
            "posts": 7
        },
        {
            "subreddit": "worldnews",
            "posts": 1
        }
    ],
    "topAuthorShare": 0.13,
    "crosspostSubreddits": []
}
```

#### Evidence posts

The posts that support the topic, with each post's own velocity, breakout flag and the feeds it was
found on.

```json
{
    "rank": 3,
    "topic": "Data center",
    "trendTier": "BREAKOUT",
    "confidence": "HIGH",
    "evidencePosts": [
        {
            "postId": "1xavtj4",
            "title": "US restarts three shut-down nuclear reactors to feed AI data centers — 2.25 GW coming online with backing from Microsoft and Google",
            "subreddit": "technology",
            "author": "example_user_1",
            "url": "https://www.reddit.com/r/technology/comments/1xavtj4/us_restarts_three_shutdown_nuclear_reactors_to/",
            "createdAt": "2026-10-20T15:52:39.324Z",
            "score": 4101,
            "commentCount": 762,
            "scorePerHour": 332.46,
            "commentsPerHour": 61.77,
            "isBreakoutPost": true,
            "discoveredVia": [
                "SUBREDDIT_HOT",
                "SUBREDDIT_NEW",
                "SUBREDDIT_RISING"
            ],
            "flair": "Artificial Intelligence",
            "postType": "link",
            "crosspostSubreddits": []
        },
        {
            "postId": "1xafm3b",
            "title": "Russians Locked Out of Bank Accounts and Apartments as Ukraine Hits Data Centers",
            "subreddit": "worldnews",
            "author": "example_user_2",
            "url": "https://www.reddit.com/r/worldnews/comments/1xafm3b/russians_locked_out_of_bank_accounts_and/",
            "createdAt": "2026-10-20T01:52:52.369Z",
            "score": 22986,
            "commentCount": 568,
            "scorePerHour": 872.94,
            "commentsPerHour": 21.57,
            "isBreakoutPost": true,
            "discoveredVia": [
                "SUBREDDIT_HOT",
                "SUBREDDIT_NEW",
                "SUBREDDIT_RISING"
            ],
            "flair": "Russia/Ukraine",
            "postType": "link",
            "crosspostSubreddits": []
        },
        {
            "postId": "1xaa6p7",
            "title": "Greg Abbott raked in $9 million from data center donors",
            "subreddit": "technology",
            "author": "example_user_3",
            "url": "https://www.reddit.com/comments/1xaa6p7/",
            "createdAt": "2026-10-19T21:49:04.174Z",
            "score": 14661,
            "commentCount": 280,
            "scorePerHour": 482.35,
            "commentsPerHour": 9.21,
            "isBreakoutPost": true,
            "discoveredVia": [
                "SUBREDDIT_HOT"
            ],
            "flair": "Politics",
            "postType": null,
            "crosspostSubreddits": []
        },
        {
            "postId": "1xak599",
            "title": "Arkansas mom shared public data center records, then a utility sued her and 2 newspapers | \"Corporations need heavy regulation and their power curbed.\"",
            "subreddit": "technology",
            "author": "example_user_4",
            "url": "https://www.reddit.com/r/technology/comments/1xak599/arkansas_mom_shared_public_data_center_records/",
            "createdAt": "2026-10-20T05:54:42.987Z",
            "score": 2630,
            "commentCount": 27,
            "scorePerHour": 117.93,
            "commentsPerHour": 1.21,
            "isBreakoutPost": false,
            "discoveredVia": [
                "SUBREDDIT_HOT",
                "SUBREDDIT_NEW"
            ],
            "flair": "Artificial Intelligence",
            "postType": "link",
            "crosspostSubreddits": []
        },
        {
            "postId": "1xaa2uj",
            "title": "AI data centre giants sound alarm as building backlash, headwinds grow in Australia — Microsoft told government officials that projects would move to Malaysia or Indonesia, if they were unable to lock in power agreements or navigate planning system",
            "subreddit": "technology",
            "author": "example_user_5",
            "url": "https://www.reddit.com/comments/1xaa2uj/",
            "createdAt": "2026-10-19T21:44:46.173Z",
            "score": 484,
            "commentCount": 161,
            "scorePerHour": 15.89,
            "commentsPerHour": 5.28,
            "isBreakoutPost": false,
            "discoveredVia": [
                "SUBREDDIT_HOT"
            ],
            "flair": "Artificial Intelligence",
            "postType": null,
            "crosspostSubreddits": []
        }
    ],
    "observedWindow": {
        "requested": "7_DAYS",
        "oldestEvidenceAt": "2026-10-19T21:41:57.530Z",
        "newestEvidenceAt": "2026-10-20T15:52:39.324Z"
    }
}
```

#### All fields

The complete row. `evidencePosts` is shortened here to 2 of its 5 posts; the Evidence
posts view above shows them all.

```json
{
    "rowType": "trending_topic",
    "rank": 3,
    "topicId": "0e10e164957d",
    "topic": "Data center",
    "trendScore": 78,
    "trendTier": "BREAKOUT",
    "confidence": "HIGH",
    "trendSignals": [
        "MULTIPLE_BREAKOUT_POSTS",
        "MULTIPLE_AUTHORS",
        "MULTIPLE_SUBREDDITS",
        "RISING_FEED_PRESENCE",
        "HOT_FEED_PRESENCE",
        "RECENT_POST_CLUSTER",
        "REPEATED_TITLE_THEME"
    ],
    "weakeningSignals": [],
    "trendSummary": "Discussion of Data center is breaking out across 2 subreddits: 8 posts by 8 authors, with 3 breakout posts.",
    "metrics": {
        "postCount": 8,
        "rawPostCount": 8,
        "uniqueAuthors": 8,
        "uniqueSubreddits": 2,
        "totalScore": 46454,
        "totalComments": 1906,
        "avgScore": 5806.8,
        "medianScore": 2086.5,
        "avgComments": 238.3,
        "medianComments": 107,
        "avgScorePerHour": 234.4,
        "medianScorePerHour": 84.3,
        "avgCommentsPerHour": 13.1,
        "medianCommentsPerHour": 4.1,
        "breakoutPostCount": 3,
        "hotPostCount": 7,
        "risingPostCount": 2,
        "newPostCount": 5,
        "topPostCount": 0,
        "crosspostCount": 0,
        "medianAgeHours": 24.3
    },
    "scoreBreakdown": {
        "engagementVelocity": 17.7,
        "discussionVelocity": 13.2,
        "breakoutPosts": 15,
        "recency": 12.8,
        "postFrequency": 7.5,
        "authorDiversity": 5,
        "subredditSpread": 1.7,
        "nativeFeedSignals": 5,
        "penalties": {},
        "total": 78
    },
    "topSubreddits": [
        {
            "subreddit": "technology",
            "posts": 7
        },
        {
            "subreddit": "worldnews",
            "posts": 1
        }
    ],
    "topSubreddit": "technology",
    "topSubredditShare": 0.88,
    "topAuthorShare": 0.13,
    "crosspostSubreddits": [],
    "relatedPhrases": [
        "AI data centers"
    ],
    "nativeFeedSignals": [
        "RISING",
        "HOT",
        "NEW"
    ],
    "observedWindow": {
        "requested": "7_DAYS",
        "oldestEvidenceAt": "2026-10-19T21:41:57.530Z",
        "newestEvidenceAt": "2026-10-20T15:52:39.324Z"
    },
    "evidencePosts": [
        {
            "postId": "1xavtj4",
            "title": "US restarts three shut-down nuclear reactors to feed AI data centers — 2.25 GW coming online with backing from Microsoft and Google",
            "subreddit": "technology",
            "author": "example_user_1",
            "url": "https://www.reddit.com/r/technology/comments/1xavtj4/us_restarts_three_shutdown_nuclear_reactors_to/",
            "createdAt": "2026-10-20T15:52:39.324Z",
            "score": 4101,
            "commentCount": 762,
            "scorePerHour": 332.46,
            "commentsPerHour": 61.77,
            "isBreakoutPost": true,
            "discoveredVia": [
                "SUBREDDIT_HOT",
                "SUBREDDIT_NEW",
                "SUBREDDIT_RISING"
            ],
            "flair": "Artificial Intelligence",
            "postType": "link",
            "crosspostSubreddits": []
        },
        {
            "postId": "1xafm3b",
            "title": "Russians Locked Out of Bank Accounts and Apartments as Ukraine Hits Data Centers",
            "subreddit": "worldnews",
            "author": "example_user_2",
            "url": "https://www.reddit.com/r/worldnews/comments/1xafm3b/russians_locked_out_of_bank_accounts_and/",
            "createdAt": "2026-10-20T01:52:52.369Z",
            "score": 22986,
            "commentCount": 568,
            "scorePerHour": 872.94,
            "commentsPerHour": 21.57,
            "isBreakoutPost": true,
            "discoveredVia": [
                "SUBREDDIT_HOT",
                "SUBREDDIT_NEW",
                "SUBREDDIT_RISING"
            ],
            "flair": "Russia/Ukraine",
            "postType": "link",
            "crosspostSubreddits": []
        }
    ],
    "metadataCoverage": 1,
    "mode": "HYBRID",
    "analysisMode": "RULES_CLUSTERING",
    "scrapedAt": "2026-10-21T04:12:51.771Z"
}
```

`discoveredVia` names every feed a post was found on — `POPULAR_HOT`, `SUBREDDIT_RISING`,
`SEED_SEARCH` and so on. A post seen on several feeds is analysed once.

**Signals.** `trendSignals` can include `HIGH_SCORE_VELOCITY`, `HIGH_COMMENT_VELOCITY`,
`MULTIPLE_BREAKOUT_POSTS`, `MULTIPLE_AUTHORS`, `MULTIPLE_SUBREDDITS`, `CROSS_COMMUNITY_SPREAD`,
`RISING_FEED_PRESENCE`, `HOT_FEED_PRESENCE`, `RECENT_POST_CLUSTER`, `REPEATED_TITLE_THEME`,
`REPEATED_KEYPHRASE` and `RAPID_DISCUSSION_GROWTH`. `weakeningSignals` can include
`SINGLE_POST_DOMINANCE`, `SINGLE_AUTHOR_DOMINANCE`, `SINGLE_SUBREDDIT_DOMINANCE`,
`LOW_EVIDENCE_COUNT`, `OLD_POST_DOMINANCE`, `LOW_ENGAGEMENT` and `DUPLICATE_CROSSPOST_DOMINANCE`.

**Run records** in the key-value store:

- `RUN_SUMMARY` — sources requested and read, communities unavailable, posts collected and
  analysed, duplicates removed, crossposts canonicalised, exclusions by reason, metadata coverage,
  breakout posts, topics detected by tier, topics rejected by which minimum, topics delivered.
- `SOURCE_SUMMARY` — one status per source: `SUCCESS`, `NO_RESULTS`, `SUBREDDIT_UNAVAILABLE`,
  `FEED_FAILED`, `SEARCH_FAILED`, `BLOCKED`, `RATE_LIMITED`, `PARTIAL_RESULT` or `PROVIDER_ERROR`.
  One failed source never fails the run.

### Proxy and reliability

The Actor paces itself to Reddit's published logged-out request budget on every proxy session, rests
any session Reddit challenges, and retries transient errors. A source Reddit blocks is read again
through an alternative route where one is available, and is reported in `SOURCE_SUMMARY` when it is
not. Posts pinned by moderators and AutoModerator posts are left out of the analysis — a weekly
thread is not a trend.

#### 🚦 Proxy policy

Use **Apify Datacenter** proxy or **no proxy** for normal runs — both work for Reddit's public feeds
and search at this Actor's paced request rate.

**Apify Residential proxy is not supported.** The Actor fails at startup if `apifyProxyGroups`
includes `RESIDENTIAL`. Reason: in pay-per-event Actors, residential bandwidth is billed to
the developer, not the run user, and Reddit feed pages are large, so a bandwidth-heavy run could
exceed what it earns.

If you genuinely need residential routing, supply your own residential provider via the proxy
editor's **Custom proxy URLs** field — that traffic goes through your provider, not Apify, and is
unaffected:

```
http://user:pass@proxy.iproyal.com:12321
http://user:pass@proxy.brightdata.com:22225
http://user:pass@proxy.oxylabs.io:7777
```

### Limitations

- **A sample, not all of Reddit.** Topics are found in the posts the run reads — `postsPerSource`
  posts from each feed you choose — not in every post on Reddit. More sources and more posts per
  source find smaller topics.
- **Trend scores are this Actor's own analytical metric.** They are not Reddit's ranking, which is
  not reproduced, and they do not predict future virality. Scores are relative to the run's own
  sample.
- **Scores and comment counts change** after the run; the row records them as they were read.
- **Clustering is phrase-based.** Ambiguous themes can be merged or split, and a topic whose posts
  share no common name or phrase in their titles is not found. Very generic words ("AI", "news",
  "game") are not returned as one-word topics, though they appear inside longer ones ("AI agents").
- **The analysis is tuned for English titles.**
- **Reddit's logged-out feeds leave out most NSFW posts**, so `excludeNSFW` rarely has anything to
  remove; a post whose NSFW status Reddit does not publish is kept.
- **Seed-topic searches stop at about 250 results** per seed and sort — Reddit's own search limit.
- **Rising lists are short.** A community's Rising feed often ends after one or two pages.
- **Feeds Reddit refuses to serve are read another way, within a per-run allowance that grows with
  Max topics.** A small Max topics with very many sources can use it up; a feed read after that is
  reported `PROVIDER_ERROR`, or `PARTIAL_RESULT` if part of it was read, and the run analyses the
  rest.
- **The popular feed is Reddit's global popular feed**, not localised. No region or audience
  geography is inferred.
- **No official Reddit trend data and no exact count of people discussing a topic** — posts and
  authors in the sample are what is counted.

### Related Coregent Actors

- **Reddit Posts & Search Scraper** — raw post rows for known queries and communities.
- **Reddit Comments Scraper** — whole comment threads, one row per comment.
- **Reddit Keyword Monitor** — alerts when words you already track appear.

This Actor is for discovering the topics you do not know yet; the others extract or monitor what
you already know.

### Responsible use

This is an unofficial tool, not affiliated with or endorsed by Reddit. It reads only publicly
available Reddit content as a logged-out visitor. You are responsible for how you use the output,
including compliance with Reddit's terms and applicable law.

### Changelog

- **1.0** — First release: popular, community and seed-topic discovery; score and comment velocity;
  breakout detection; crosspost-aware phrase clustering; trend score, tier, confidence, signals and
  evidence posts; optional comment signal.

# Actor input Schema

## `mode` (type: `string`):

Where to look for trends. POPULAR analyses Reddit's popular feed. SUBREDDITS analyses the communities you list. SEEDS searches Reddit for each seed topic and finds the themes inside the results. HYBRID combines the popular feed with every subreddit and seed topic you give — the recommended mode for broad research.

## `subreddits` (type: `array`):

Communities to analyse, one per line (up to 100). Any form works: technology, r/technology or https://www.reddit.com/r/technology/. Used in SUBREDDITS and HYBRID mode.

## `seedTopics` (type: `array`):

Broad themes to search Reddit for, one per line (up to 25) — for example 'AI agents', 'home batteries', 'gaming handhelds'. The Actor finds the specific sub-topics rising inside the results; the seed itself is never returned as a topic. Used in SEEDS and HYBRID mode.

## `timeWindow` (type: `string`):

Only posts created inside this window are analysed. 24 hours suits fast-moving communities; 7 days suits general trend research.

## `postsPerSource` (type: `integer`):

How many recent posts to analyse from each source. A source is one feed: the popular feed's Hot list, one subreddit's Rising list, one seed topic's search results. More posts find smaller topics but take longer. Seed-topic searches stop at Reddit's own limit of about 250 results.

## `sortSources` (type: `array`):

Which of Reddit's own sorts to read for each source. Rising shows early momentum, Hot strong current engagement, New recency, Top the window's most engaged posts. Do not rely on Top alone: high past engagement is not current momentum. Seed-topic searches have no Rising sort and use the others. The form starts with Hot and Rising; add New to read each scope's newest posts too.

## `minimumPostsPerTopic` (type: `integer`):

A topic needs at least this many distinct posts. A single viral post is not a trending topic; 3 is the recommended floor. Copies of the same content (crossposts, reposts) count once.

## `minimumAuthorsPerTopic` (type: `integer`):

A topic needs posts from at least this many different authors, so one account posting repeatedly is not mistaken for a trend.

## `minimumSubredditsPerTopic` (type: `integer`):

A topic needs posts from at least this many communities. 1 keeps single-community trends, which are often the most useful; set 2 or more to see only themes spreading across Reddit.

## `minimumTrendTier` (type: `string`):

Lowest tier to return. BREAKOUT: strong recent acceleration across several posts or communities. RISING: clear positive momentum. ACTIVE: current discussion with limited acceleration. WEAK: low momentum or confidence.

## `maxTopics` (type: `integer`):

The most topics to return, highest trend score first. Each topic delivered is one billable result.

## `minimumScore` (type: `integer`):

Ignore posts with fewer upvotes than this. 0 keeps everything. A post whose score Reddit hides is kept.

## `minimumComments` (type: `integer`):

Ignore posts with fewer comments than this. 0 keeps everything.

## `excludeNSFW` (type: `boolean`):

Leave out posts Reddit marks as NSFW. Reddit's logged-out feeds already omit most of them.

## `excludeCrossposts` (type: `boolean`):

Leave crossposts out entirely. Off by default: a crosspost and its original are counted once as one piece of content, while the communities it spread to still count towards the topic's reach.

## `includeEvidencePosts` (type: `boolean`):

Attach the posts that best support each topic — chosen for recent breakouts and for variety of authors, communities and feeds, not only by score.

## `maxEvidencePosts` (type: `integer`):

How many supporting posts to attach to each topic.

## `includeCommentsSignal` (type: `boolean`):

Read a small sample of top comments on the fastest-moving posts and use them to find emerging phrases. Adds one request per sampled post (at most 60). Off by default; this is a sample, not a comment scraper.

## `maxCommentsPerEvidencePost` (type: `integer`):

How many top comments to read per sampled post. Only used with 'Add a comment signal'.

## `maxConcurrency` (type: `integer`):

How many sources to read at once (1–10). Each runs on its own proxy session with its own Reddit rate budget.

## `debugMode` (type: `boolean`):

Log every page fetched and every exclusion reason.

## `proxyConfiguration` (type: `object`):

Apify Datacenter proxy (the default) or no proxy both work. Apify RESIDENTIAL proxy is refused and fails the run at startup: Reddit feed pages are large and residential bandwidth is billed to the Actor, while Reddit serves the same pages to datacenter addresses. To route through your own residential provider, use Custom proxy URLs — that traffic goes through your account and is honoured.

## Actor input object example

```json
{
  "mode": "HYBRID",
  "subreddits": [
    "technology",
    "gaming",
    "personalfinance"
  ],
  "seedTopics": [
    "AI agents"
  ],
  "timeWindow": "7_DAYS",
  "postsPerSource": 100,
  "sortSources": [
    "HOT",
    "RISING"
  ],
  "minimumPostsPerTopic": 3,
  "minimumAuthorsPerTopic": 2,
  "minimumSubredditsPerTopic": 1,
  "minimumTrendTier": "ACTIVE",
  "maxTopics": 25,
  "minimumScore": 0,
  "minimumComments": 0,
  "excludeNSFW": true,
  "excludeCrossposts": false,
  "includeEvidencePosts": true,
  "maxEvidencePosts": 5,
  "includeCommentsSignal": false,
  "maxCommentsPerEvidencePost": 10,
  "maxConcurrency": 5,
  "debugMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `topics` (type: `string`):

One row per trending topic, ranked by trend score, with tier, confidence, signals and evidence posts.

## `momentum` (type: `string`):

Score and comment velocity, breakout posts and Reddit feed presence behind each score.

## `spread` (type: `string`):

Which subreddits carry each topic, and how concentrated it is.

## `evidence` (type: `string`):

The posts that support each topic.

## `runSummary` (type: `string`):

Coverage and diagnostics: sources read, posts analysed, duplicates, crossposts, topics by tier.

## `sourceSummary` (type: `string`):

One status per source (SUCCESS, NO_RESULTS, SUBREDDIT_UNAVAILABLE, BLOCKED, …).

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "HYBRID",
    "subreddits": [
        "technology",
        "gaming",
        "personalfinance"
    ],
    "seedTopics": [
        "AI agents"
    ],
    "timeWindow": "7_DAYS",
    "postsPerSource": 100,
    "sortSources": [
        "HOT",
        "RISING"
    ],
    "minimumPostsPerTopic": 3,
    "minimumAuthorsPerTopic": 2,
    "minimumSubredditsPerTopic": 1,
    "minimumTrendTier": "ACTIVE",
    "maxTopics": 25,
    "maxEvidencePosts": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("coregent/reddit-trending-topics-finder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "HYBRID",
    "subreddits": [
        "technology",
        "gaming",
        "personalfinance",
    ],
    "seedTopics": ["AI agents"],
    "timeWindow": "7_DAYS",
    "postsPerSource": 100,
    "sortSources": [
        "HOT",
        "RISING",
    ],
    "minimumPostsPerTopic": 3,
    "minimumAuthorsPerTopic": 2,
    "minimumSubredditsPerTopic": 1,
    "minimumTrendTier": "ACTIVE",
    "maxTopics": 25,
    "maxEvidencePosts": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("coregent/reddit-trending-topics-finder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "HYBRID",
  "subreddits": [
    "technology",
    "gaming",
    "personalfinance"
  ],
  "seedTopics": [
    "AI agents"
  ],
  "timeWindow": "7_DAYS",
  "postsPerSource": 100,
  "sortSources": [
    "HOT",
    "RISING"
  ],
  "minimumPostsPerTopic": 3,
  "minimumAuthorsPerTopic": 2,
  "minimumSubredditsPerTopic": 1,
  "minimumTrendTier": "ACTIVE",
  "maxTopics": 25,
  "maxEvidencePosts": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call coregent/reddit-trending-topics-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,coregent/reddit-trending-topics-finder"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ltTPMkdZbJadvX4Dh/builds/XAfF8Wb25OrpHabj8/openapi.json
