Skip to content

Reddit Mentions Dataset

Track how often stock tickers are discussed across Reddit investing communities. Monitor retail investor attention on WallStreetBets, r/stocks, and other subreddits with mention counts collected every 4 hours.

The Reddit Mentions dataset provides:

  • Per-Subreddit Counts: Mention counts for each tracked subreddit (wallstreetbets, stocks, etc.)
  • Aggregate Total: Combined mentions across all subreddits via the _all entry
  • Intraday Snapshots: Data collected every 4 hours (6 snapshots per day)
  • Cross-Market Screening: Screener endpoint to compare mentions across tickers
SourceDescriptionUpdate Frequency
RedditWallStreetBets, r/stocks, and other investing subredditsEvery 4 hours
from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.reddit_mentions.ticker("TSLA", as_dataframe=True)
print(df)

For complete code examples in Python, JavaScript, C++, Rust, and cURL, see the API Reference.

FieldDescriptionExample
dateSnapshot timestamp (ISO 8601)2026-03-16T14:00:00.000Z
subredditSubreddit name, or _all for aggregate totalwallstreetbets
mentionsNumber of ticker mentions in this snapshot45

Use the screener to find the most-discussed stocks across a market:

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.screener.reddit_mentions(market="S&P 500", as_dataframe=True)
# Sort by total mentions
top = df.sort_values("totalMentions", ascending=False).head(10)
for symbol, row in top.iterrows():
print(f"{symbol}: {row['totalMentions']} total mentions")

See where discussion concentrates for a single ticker:

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.reddit_mentions.ticker("TSLA", as_dataframe=True)
# Filter out the aggregate _all rows and get latest snapshot
latest = df[df["subreddit"] != "_all"].sort_values("date", ascending=False)
latest_date = latest["date"].iloc[0]
snapshot = latest[latest["date"] == latest_date]
for _, row in snapshot.iterrows():
print(f"r/{row['subreddit']}: {row['mentions']} mentions")

Detect sudden spikes in retail attention by comparing snapshots over time:

from finbrain import FinBrainClient
fb = FinBrainClient(api_key="YOUR_API_KEY")
df = fb.reddit_mentions.ticker("GME", as_dataframe=True)
# Focus on aggregate totals
totals = df[df["subreddit"] == "_all"].sort_values("date")
# Calculate change between consecutive snapshots
totals["prev_mentions"] = totals["mentions"].shift(1)
totals["change_pct"] = (
(totals["mentions"] - totals["prev_mentions"]) / totals["prev_mentions"] * 100
)
for _, row in totals.dropna().iterrows():
if abs(row["change_pct"]) > 50:
print(f"{row['date']}: {row['mentions']} mentions "
f"({row['change_pct']:+.0f}% change)")