ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Workflows
  3. Reddit Stock Sentiment Tracker Workflow
Workflow

Reddit Stock Sentiment Tracker Workflow

Track stock ticker mentions on Reddit, score sentiment with an LLM, plot trends over time. Daily automated pipeline.

Start FreeAPI Docs

Overview

Search Reddit for stock ticker mentions daily, score each thread's sentiment with an LLM, aggregate by ticker, and track sentiment trends over a rolling 30-day window.

Trigger

Daily cron (e.g. 18:00 UTC, after market close)

Schedule

Daily after market close

Workflow Steps

1

Define ticker watchlist

List of tickers to track: AAPL, TSLA, NVDA, etc.

2

Search Scavio Reddit endpoint per ticker

POST /api/v1/search with platform=reddit, query='$TICKER'. Top-20 threads.

3

Score sentiment per thread

Send thread title + top comment to LLM: 'Rate sentiment -1 to +1 for this stock discussion. Return JSON {score, reasoning}.'

4

Aggregate daily score per ticker

Average sentiment scores across all threads for that ticker.

5

Append to rolling 30-day log

Store in SQLite or CSV: date, ticker, avg_sentiment, thread_count.

6

Optional: alert on sentiment spikes

If today's score deviates > 0.5 from 7-day average, send Slack alert.

Python Implementation

Python
import requests, os, json

key = os.environ["SCAVIO_API_KEY"]
tickers = ["AAPL", "TSLA", "NVDA"]

for ticker in tickers:
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": key},
        json={"query": f"${ticker}", "platform": "reddit", "limit": 20})
    threads = resp.json().get("results", [])
    scores = []
    for t in threads:
        result = call_llm(f"Rate sentiment -1 to +1: {t['title']}. JSON: score, reasoning.")
        scores.append(json.loads(result)["score"])
    avg = sum(scores) / len(scores) if scores else 0
    print(f"{ticker}: avg sentiment {avg:.2f} across {len(threads)} threads")

JavaScript Implementation

JavaScript
const tickers = ["AAPL", "TSLA", "NVDA"];
for (const ticker of tickers) {
  const resp = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST",
    headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: `$${ticker}`, platform: "reddit", limit: 20 })
  });
  const threads = (await resp.json()).results;
  const scores = [];
  for (const t of threads) {
    const r = await callLLM(`Rate sentiment -1 to +1: ${t.title}. JSON: {score, reasoning}.`);
    scores.push(JSON.parse(r).score);
  }
  const avg = scores.reduce((a, b) => a + b, 0) / (scores.length || 1);
  console.log(`${ticker}: avg sentiment ${avg.toFixed(2)} across ${threads.length} threads`);
}

Platforms Used

Reddit

Community, posts & threaded comments from any subreddit

Frequently Asked Questions

Search Reddit for stock ticker mentions daily, score each thread's sentiment with an LLM, aggregate by ticker, and track sentiment trends over a rolling 30-day window.

This workflow uses a daily cron (e.g. 18:00 utc, after market close). Daily after market close.

This workflow uses the following Scavio platforms: reddit. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 50 credits on signup with no credit card required. That is enough to test and validate this workflow before scaling it.

Reddit Stock Sentiment Tracker Workflow

Track stock ticker mentions on Reddit, score sentiment with an LLM, plot trends over time. Daily automated pipeline.

Get Your API KeyRead the Docs
ScavioScavio

Real-time search API for AI agents. Search every platform, not just Google.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative

Tools

  • JSON Formatter
  • cURL to Code
  • Token Counter
  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy