MENTIONS ACROSS SYMBOLS TODAY

Reddit Stock
Sentiment API

JSON API for traders, fintech apps, dashboards and AI agents. Pull Reddit buzz scores, mentions, bullish ratios, trend direction and historical rankings via REST.

12,000+

Tickers monitored

50+

Subreddits tracked

1h

Update frequency
Get API Key View Reddit Top 20
The Problem

Reddit moves fast. You can't track it manually.

Retail investors share ideas across dozens of subreddits. Trending tickers surface and fade within hours. Scanning r/wallstreetbets, r/stocks and r/investing takes time and you still miss signals in niche communities.

Too Many Sources

50+ active trading subreddits with thousands of daily posts. Impossible to track manually.

Noisy Signals

Sarcasm, memes and duplicate posts make raw mention counts unreliable.

No Normalization

You need a single score to compare $TSLA buzz vs $PLTR buzz objectively.

How It Works

Three API calls. Complete Reddit sentiment.

Discover what's trending, analyze any ticker in detail, monitor the market-wide mood and get AI-powered explanations. RESTful JSON endpoints that integrate into trading bots, dashboards, or research tools.

api-demo.sh
# 1. Discover trending tickers
$ curl api.adanos.org/reddit/stocks/v1/trending
[{ "ticker": "TSLA", "buzz_score": 87.5, "trend": "rising", "mentions": 342 }]
# 2. Analyze specific stock
$ curl api.adanos.org/reddit/stocks/v1/stock/TSLA
{ "ticker": "TSLA", "buzz_score": 87.5, "trend": "rising", "bullish_pct": 45 }
# 3. Understand why it's trending
$ curl api.adanos.org/reddit/stocks/v1/stock/TSLA/explain
{ "explanation": "Tesla trending due to strong Q4 delivery numbers..." }

Update Frequency

Posts and comments scraped hourly from 50+ subreddits. Trends calculated on rolling 24h windows.

Sentiment Model

Hybrid VADER + Twitter-RoBERTa ensemble with 1000+ finance terms like "moon", "tendies", "bearish", plus emoji analysis.

Buzz Score Formula

Mention volume, sentiment, upvotes, subreddit spread and momentum combined into one 0-100 score.

Power your trading tools with Reddit sentiment data

Access real-time stock sentiment analytics from Reddit for your trading algorithms, fintech apps, or market research tools.

  • 50+ subreddits including r/wallstreetbets, r/stocks & r/investing
  • Sentiment scores, buzz scores & trend detection
  • AI-powered trend explanations
  • Compare up to 10 stocks side by side
  • Up to 365 days historical data
  • Free tier: 250 requests/month
  • 12,000+ tickers monitored hourly
  • Reddit Crypto Sentiment API also available

Request API Access

Fill out the form below. We'll send you a secure link to retrieve your API key.

Check your email

We've sent a link to retrieve your API key. The link expires in 24 hours and can only be used once.

Endpoints

RESTful JSON API. All requests require authentication via X-API-Key header. View full documentation → · BuzzScore Whitepaper →

Base URL

https://api.adanos.org/reddit/stocks

Authentication

X-API-Key: sk_live_...

Rate Limit

Free: 100 requests/minute · 250 requests/month
Paid: 1000 requests/minute · unlimited requests/month

Response Format

JSON (UTF-8)
GET /v1/stock/{ticker}

Returns detailed sentiment analysis for a specific stock ticker. Includes daily trend data, top mentions by upvotes and top subreddits.

Path Parameters

tickerStock ticker symbol (1-5 uppercase letters, e.g., TSLA)

Query Parameters

daysTime period in days (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 7)

Response

{
  "ticker": "TSLA",
  "company_name": "Tesla, Inc.",
  "found": true,
  "buzz_score": 87.5,
  "trend": "rising",
  "mentions": 342,
  "sentiment_score": 0.23,
  "bullish_pct": 45,
  "bearish_pct": 18,
  "positive_count": 154,
  "negative_count": 62,
  "neutral_count": 126,
  "total_upvotes": 15234,
  "unique_posts": 45,
  "subreddit_count": 8,
  "period_days": 7,
  "daily_trend": [
    { "date": "2024-12-27", "mentions": 52, "sentiment_score": 0.31, "buzz_score": 87.5 },
    { "date": "2024-12-26", "mentions": 48, "sentiment_score": 0.18, "buzz_score": 85.2 }
  ],
  "top_subreddits": [
    { "subreddit": "wallstreetbets", "count": 89 },
    { "subreddit": "stocks", "count": 67 }
  ],
  "top_mentions": [
    {
      "text_snippet": "TSLA looking strong after...",
      "sentiment_score": 0.85,
      "sentiment_label": "positive",
      "upvotes": 1234,
      "subreddit": "wallstreetbets",
      "created_utc": "2024-12-27T10:30:00"
    }
  ]
}

Response Fields

tickerStock ticker symbol
company_nameCompany name (null if not found)
foundWhether mentions were found
buzz_scoreOverall buzz score (0-100)
trendrising, falling, or stable (rolling 24h window)
mentionsTotal number of mentions
sentiment_scoreAverage sentiment (-1 to +1)
bullish_pctPercentage of bullish mentions
bearish_pctPercentage of bearish mentions
positive_countNumber of positive mentions
negative_countNumber of negative mentions
neutral_countNumber of neutral mentions
total_upvotesTotal upvotes across all mentions
unique_postsNumber of unique posts
subreddit_countNumber of subreddits with mentions
period_daysAnalysis period in days
daily_trendArray of daily mentions, sentiment_score and buzz_score
top_subredditsTop subreddits by mention count
top_mentionsTop mentions by upvotes

Error Codes

404No mentions found for ticker in the specified period
401Missing or invalid API key
GET /v1/stock/{ticker}/explain

Returns an AI-generated explanation of why a stock is trending based on recent Reddit user-comments.

Path Parameters

tickerStock ticker symbol (1-5 uppercase letters, e.g., TSLA)

Response

{
  "ticker": "TSLA",
  "company_name": "Tesla, Inc.",
  "explanation": "Tesla is trending due to strong Q4 delivery numbers and renewed investor optimism about EV demand.",
  "cached": false,
  "generated_at": "2025-01-14T12:30:00Z",
  "model": "llama-3.1-8b-instant"
}

Response Fields

tickerStock ticker symbol
company_nameCompany name (null if not found)
explanation1-2 sentence AI-generated summary of why the stock is trending
cachedWhether the response was served from cache
generated_atISO timestamp when the explanation was generated
modelLLM model used for generation (null if unavailable)

Error Codes

404No mentions found for ticker
401Missing or invalid API key
503Explanation service temporarily unavailable
GET /v1/compare

Compare sentiment metrics for up to 10 stocks side by side.

Query Parameters

tickersComma-separated list of tickers (max 10, required)
daysTime period in days (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 7)

Response

{
  "period_days": 7,
  "stocks": [
    {
      "ticker": "TSLA",
      "company_name": "Tesla, Inc.",
      "buzz_score": 87.5,
      "trend": "rising",
      "mentions": 342,
      "unique_posts": 45,
      "subreddit_count": 8,
      "sentiment_score": 0.23,
      "bullish_pct": 45,
      "bearish_pct": 18,
      "total_upvotes": 15234
    },
    {
      "ticker": "NVDA",
      "company_name": "NVIDIA Corporation",
      "buzz_score": 72.3,
      "trend": "stable",
      "mentions": 189,
      "unique_posts": 31,
      "subreddit_count": 6,
      "sentiment_score": 0.45,
      "bullish_pct": 52,
      "bearish_pct": 17,
      "total_upvotes": 8921
    }
  ]
}

Response Fields

period_daysAnalysis period in days
stocksArray of stock comparison data
stocks[].tickerStock ticker symbol
stocks[].company_nameCompany name (null if not found)
stocks[].buzz_scoreOverall buzz score (0-100)
stocks[].trendRecent activity trend
stocks[].mentionsTotal number of mentions
stocks[].unique_postsNumber of unique posts in the selected period
stocks[].subreddit_countNumber of subreddits with mentions
stocks[].sentiment_scoreAverage sentiment (-1 to +1)
stocks[].bullish_pctPercentage of bullish mentions
stocks[].bearish_pctPercentage of bearish mentions
stocks[].total_upvotesTotal upvotes across all mentions

Error Codes

400Maximum 10 tickers allowed
401Missing or invalid API key
GET /v1/market-sentiment

Returns a one-call snapshot of overall Reddit stock sentiment, including activity breadth, sentiment balance and the tickers currently driving discussion.

Query Parameters

daysTime period in days (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 1)

Response

{
  "buzz_score": 63.4,
  "trend": "rising",
  "mentions": 12840,
  "unique_posts": 1904,
  "subreddit_count": 34,
  "total_upvotes": 284531,
  "active_tickers": 412,
  "sentiment_score": 0.18,
  "positive_count": 5210,
  "negative_count": 2489,
  "neutral_count": 5141,
  "bullish_pct": 41,
  "bearish_pct": 19,
  "trend_history": [52.1, 54.7, 57.3, 59.9, 60.4, 61.8, 63.4],
  "drivers": [
    { "ticker": "TSLA", "mentions": 342, "buzz_score": 87.5, "sentiment_score": 0.23 },
    { "ticker": "NVDA", "mentions": 189, "buzz_score": 72.3, "sentiment_score": 0.45 }
  ]
}

Response Fields

buzz_scoreRelative Reddit market heat vs. the trailing 90-day Reddit stocks baseline (~50 is normal)
trendrising, falling, or stable for the aggregate market snapshot
mentionsTotal Reddit stock mentions across the selected window
unique_postsNumber of distinct Reddit posts represented in the aggregate snapshot
subreddit_countNumber of subreddits contributing to the aggregate snapshot
total_upvotesTotal upvotes across all matched mentions
active_tickersNumber of tickers active in the selected window
sentiment_scoreAverage sentiment across all matched mentions (-1 to +1)
positive_countNumber of bullish mentions in the aggregate window
negative_countNumber of bearish mentions in the aggregate window
neutral_countNumber of neutral mentions in the aggregate window
bullish_pctPercentage of bullish mentions across the whole Reddit stocks universe
bearish_pctPercentage of bearish mentions across the whole Reddit stocks universe
trend_historyDaily aggregate buzz-score history (oldest to newest)
driversTop tickers driving the current aggregate Reddit market mood
Pricing

Simple, transparent pricing

All plans include access to the same powerful API.

Free

$0 /month

Perfect for quick tests, API exploration and early prototypes. No credit card required.

  • 100 requests/minute
  • 250 requests/month
  • Access to all API endpoints
  • 30 days historical data
  • Community support
Non-commercial use only
Get Started

Hobby

$19.99 /month

For professional traders, personal trading bots, academic research & side projects

  • 1000 requests/minute
  • Unlimited requests/month
  • Access to all API endpoints
  • 90 days historical data
  • Email support
Non-commercial use only
Get Hobby

Non-profit & Education: Free access for qualifying organizations. Learn more →

FAQ

Frequently Asked Questions

Everything you need to know about the Reddit Stock Sentiment API.

Which subreddits do you track?

We monitor 50+ subreddits including r/wallstreetbets, r/stocks, r/investing, r/stockmarket, r/options, r/Finanzen and r/mauerstrassenwetten. These communities represent the most active retail trading discussions on Reddit.

How is sentiment calculated?

We use a hybrid VADER + Twitter-RoBERTa sentiment ensemble, with VADER enhanced by a finance-specific lexicon of 1000+ terms. Examples: moon (+3.5), tendies (+2.5), bearish (-3.0), short squeeze (+3.5). Emojis are also analyzed: 🚀 (+3.0), 🐻 (-2.5), 💎🙌 (+2.0). Scores range from -1.0 (bearish) to +1.0 (bullish).

How is buzz score calculated?

Buzz score (0-100) combines five weighted factors: volume (log₁₀(mentions + 1) × 20), mood (sentiment × 20), quality (log₁₀(upvotes/mentions + 1) × 10), diversity (log₁₀(subreddits + 1) × 14) and momentum (trend boost from -10 to +20). Scores above 50 use asymptotic scaling to prevent ceiling clustering.

How is trend calculated?

Trend compares rolling 24h windows using a weighted activity score: 60% mentions ratio, 25% upvotes ratio, 15% subreddit spread. Result: rising (>+10%), falling (<-10%), or stable (±10%).

How often is data updated?

Our scraper runs every 60 minutes, processing posts and comments from all tracked subreddits. The worker health endpoint shows scrape status, success rate and last scrape timestamp. Historical data is available for up to 365 days.

What's included in the free tier?

The free tier includes 250 API calls per month, 100 requests per minute, access to all endpoints including market-wide sentiment snapshots and 30 days historical data. Perfect for personal projects and prototyping. Upgrade for unlimited monthly usage and higher per-minute limits.

What format is the API response?

All responses are JSON (UTF-8). The /v1/stock/{ticker} endpoint returns the richest per-ticker data: daily_trend, top_subreddits, top_mentions and sentiment distribution counts. For a broader view, /v1/market-sentiment returns aggregate buzz, breadth and the top drivers of the current Reddit market mood.

Is there rate limiting?

Yes. Free tier keys are limited to 100 requests per minute and 250 requests per month. Paid tiers allow 1000 requests per minute with unlimited monthly usage. Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response. Exceeding limits returns HTTP 429.

How does the AI explanation work?

The /v1/stock/{ticker}/explain endpoint uses Groq's llama-3.1-8b-instant model to analyze top mentions and generate a 1-2 sentence explanation of why a stock is trending. Explanations are cached for 6 hours. Only available for tickers with ≥10 mentions.

Can I use this for trading decisions?

Our data is for informational purposes only. Sentiment is one signal among many. It reflects retail discussion, not institutional activity or fundamentals. Many traders use it as a contrarian indicator or for timing. Past sentiment is not indicative of future performance. Always do your own research.

For Professionals

Need more API requests?

Running a hedge fund, building a fintech product, or need high-volume access for your trading platform? Our Enterprise plan offers significantly higher rate limits for professional use cases.

View Pricing