HN/Reddit Sentiment Analyzer avatar

HN/Reddit Sentiment Analyzer

Pricing

from $10.00 / 1,000 post analyseds

Go to Apify Store
HN/Reddit Sentiment Analyzer

HN/Reddit Sentiment Analyzer

Reddit sentiment and Hacker News analysis with VADER: fetch posts, score sentiment, output structured results with sentiment scores, keywords and metadata. Perfect for brand monitoring, trend detection and market research.

Pricing

from $10.00 / 1,000 post analyseds

Rating

0.0

(0)

Developer

Oaida Adrian

Oaida Adrian

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

3 days ago

Last modified

Categories

Share

HN / Reddit Sentiment Analyzer — Community Mood, Structured

Pull posts from Hacker News and any subreddit, score each one with VADER sentiment analysis, and get back one clean JSON item per post — sentiment label, numeric scores, top keywords, and engagement. Perfect for tracking how a technology, product, or topic is being received across the two most influential tech communities.

Why this Actor?

  • Two sources, one schema — Hacker News (public Firebase API) and Reddit, normalised into identical records so you can merge both feeds in one dataset.
  • Real sentiment, not guesses — VADER (Valence Aware Dictionary and sEntiment Reasoner) gives calibrated compound, positive, negative, and neutral scores tuned for social/short-form text.
  • Filter at the source — return only positive/negative/neutral posts, or only those above a minimum upvote count.
  • Keyword extraction — top content terms per post so you can pivot straight into topic analysis without extra processing.
  • No API keys — both sources use public endpoints; the Apify proxy (default) keeps Reddit rate limits at bay on large runs.

Who is this for?

  • Brand & product teams — monitor how your launch, feature, or company is being discussed on launch day and after.
  • Founders & PMs — read the room on a technology before betting on it; spot a negative shift in community sentiment early.
  • Market & trend researchers — quantify community mood over time from a scheduled run; compare sentiment across competing projects.
  • Content curators & newsletters — surface the most positive (or most heated) threads automatically for round-ups.
  • Investors & analysts — track sentiment deltas around funding announcements, releases, or incidents.

How it works

  1. Fetches top/new HN stories and/or hot/new/top/rising posts from the subreddits you list.
  2. Runs VADER on each title (and body text where available) — no external NLP service, everything runs inside the Actor.
  3. Extracts top keywords and applies your sentiment / minimum-score filters.
  4. Writes one dataset item per post with scores, metadata, and an analysedAt timestamp.

Input

{
"sources": "both",
"subreddit": "technology, programming",
"sortBy": "hot",
"hnSort": "top",
"maxPosts": 100,
"sentimentFilter": "",
"minScore": 10
}
OptionDescription
sourceshackernews, reddit, or both
subredditComma-separated subreddits (required when sources includes reddit)
sortByReddit sort: hot, new, top, rising
hnSortHN sort: top or new
maxPostsMax posts to analyse (default 50, up to 500)
sentimentFilterReturn only positive, negative, or neutral posts
minScoreMinimum upvotes required

Example: track one subreddit only

{
"sources": "reddit",
"subreddit": "startups",
"sortBy": "new",
"maxPosts": 200,
"sentimentFilter": "positive",
"minScore": 5
}

Output (one item per post)

{
"source": "reddit",
"title": "Our team switched to Rust and shipped 40% fewer bugs",
"author": "somedev",
"postedAt": "2026-07-18T14:22:05.000Z",
"sentiment": "positive",
"compound": 0.6486,
"positive": 0.4521,
"neutral": 0.5479,
"negative": 0.0,
"score": 1250,
"keywords": ["rust", "team", "bugs", "shipped"],
"analysedAt": "2026-07-19T20:00:00.000Z"
}
FieldMeaning
sentimentOverall label: positive, negative, or neutral
compoundVADER compound score, -1.0 (most negative) to +1.0 (most positive)
positive / negative / neutralNormalised proportion scores (sum to 1)
scorePost upvotes (Reddit) or points (HN)
keywordsTop content terms after stop-word removal
analysedAtWhen the Actor ran the analysis (for time-series joins)

Real-world workflows

Launch-day brand watch

Run once an hour on sources: "both" with subreddit: "technology, programming, startups" and sentimentFilter: "". Filter the dataset for your product name in title or keywords and chart compound over time — you'll see the launch spike and any backlash forming in near-real time.

Competitor sentiment comparison

Run twice a week with the same settings for each competitor's community (e.g. subreddit: "rust" vs subreddit: "golang"). Join on analysedAt and compare average compound per community — a steady negative drift is often the earliest sign of churn risk.

Automated alerting

Schedule a daily run and pipe the dataset into a simple rule: flag any post with compound < -0.5 and score > 100 in the last 24 hours. That's your "this blew up and it's bad" alert — no manual thread-reading.

Run it on a schedule or from your app

curl -X POST "https://api.apify.com/v2/acts/darknezz~sentiment-analyzer/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "sources": "reddit", "subreddit": "startups", "sortBy": "new", "maxPosts": 100 }'

Python SDK

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("darknezz~sentiment-analyzer").call(
run_input={"sources": "hackernews", "hnSort": "top", "maxPosts": 50}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["sentiment"], item["compound"])

Schedule a daily run in the Apify Console and read new items straight from the dataset to build a sentiment time series.

Pricing

Pay per event — a small fee per post analysed. No subscription: scan 20 posts or 500 and pay only for what you process. Great for bursty workloads — a launch-day surge costs proportionally more, but idle days cost nothing.

FAQ

What sentiment model is used? VADER (Valence Aware Dictionary and sEntiment Reasoner), purpose-built for social-media and short-form text. It returns a normalised compound score from -1 (most negative) to +1 (most positive) and handles emoji, slang, and intensifiers ("very good" ≠ "good").

Do I need Reddit or HN API keys? No. It uses the public Hacker News Firebase API and Reddit's public JSON endpoints. Enable the Apify proxy (default) to avoid rate limits on large runs.

Can I track sentiment over time? Yes — schedule the Actor and each run appends fresh, timestamped items (analysedAt) to the dataset, ready to chart as a trend.

How are keywords chosen? The top content terms per post after stop-word removal, so you can group and filter posts by topic without extra processing.

How many posts can I analyse per run? Up to 500 (maxPosts), across any number of subreddits. For larger volumes, run the Actor on a schedule and aggregate across runs.

Does it handle non-English text? VADER is English-focused. Non-English posts are still returned with scores, but they should be treated as lower-confidence — consider a language filter on your side for strict accuracy.

What does the Apify proxy add? Reddit rate-limits aggressively on datacenter IPs. With the proxy enabled (default), requests rotate through residential/mobile IPs so large runs don't hit 429s and miss posts.