Reddit Brand Monitoring via Search API: A Practical Guide
Reddit's search API returns threads with scores and comment counts for brand queries. Daily monitoring surfaces mentions, competitor comparisons, and feature requests before they trend elsewhere. The signal is high-value because Reddit discussions are often the first place users articulate product pain points in their own words.
Why Reddit Monitoring Matters for Product Teams
Reddit users talk differently than Twitter users. On Reddit:
- Threads are longer and more detailed
- Users explain the context of their problem ("I tried X, it didn't work because...')
- Upvote/downvote reveals community consensus on whether a complaint is widespread
- Old threads surface when someone has the same problem — months-old discussions stay relevant
For product teams, a thread asking "does [your product] support X feature?" with 50 upvotes and 20 comments is stronger signal than 100 tweets. The upvote concentration shows the need is real and shared.
Basic Monitoring Pipeline
import requests
from datetime import date, timedelta
def search_reddit(query: str, days_back: int = 1) -> list[dict]:
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={
"query": query,
"engine": "reddit",
"time_range": f"{days_back}d"
}
)
return resp.json().get("reddit_results", [])
def daily_brand_monitor(brand_name: str) -> dict:
queries = [
brand_name,
f"{brand_name} review",
f"{brand_name} vs",
f"{brand_name} alternative",
f"{brand_name} problem"
]
results = []
for q in queries:
threads = search_reddit(q, days_back=1)
for t in threads:
results.append({
"query": q,
"title": t.get("title"),
"url": t.get("link"),
"score": t.get("score", 0),
"comments": t.get("num_comments", 0),
"subreddit": t.get("subreddit"),
"date": t.get("date")
})
# Sort by score to surface most-upvoted first
results.sort(key=lambda x: x["score"], reverse=True)
return {
"brand": brand_name,
"check_date": date.today().isoformat(),
"thread_count": len(results),
"top_threads": results[:10]
}5 queries per day = 5 credits = $0.025/day = $0.75/month.
Categorizing Mentions
Raw thread titles tell you there is a mention. An LLM pass categorizes what kind:
import anthropic
client = anthropic.Anthropic()
def categorize_threads(threads: list[dict], brand: str) -> list[dict]:
titles = [f"{i}. {t['title']}" for i, t in enumerate(threads, 1)]
prompt = f"""Categorize each Reddit thread about {brand} into one of:
- feature_request: user wants a feature that doesn't exist
- bug_report: user reporting something broken
- comparison: comparing to alternatives
- positive: general positive mention
- negative: general complaint
- question: user asking how to do something
- other
Threads:
{chr(10).join(titles)}
Return JSON array: [{{"index": 1, "category": "..."}}]"""
resp = client.messages.create(
model="claude-haiku-4-5",
max_tokens=500,
messages=[{"role": "user", "content": prompt}]
)
import json
categories = json.loads(resp.content[0].text)
cat_map = {c["index"]: c["category"] for c in categories}
return [{**t, "category": cat_map.get(i+1, "other")}
for i, t in enumerate(threads)]This costs ~$0.0003 per categorization run (Haiku pricing). Negligible relative to the search cost.
High-Signal Queries
Beyond direct brand mentions, monitor:
Competitor comparisons: "[your brand] vs [competitor]" — these threads are purchase-decision moments where your framing matters
Category queries: "best [your category] tool 2026" — your brand may or may not appear; absence from highly-upvoted threads is a content gap signal
Problem-first queries: "[problem your product solves] reddit" — users describing the problem in their own words, often without knowing your product exists
Subreddit targeting: If your product serves a specific community (developers: r/programming, r/webdev; marketers: r/marketing, r/SEO), monitor those subreddits specifically for higher-signal results.
Responding to Reddit Threads
If you respond to Reddit threads as a brand, do it sparingly and helpfully. The community norms: disclose you work for the company, answer the specific question, do not promote. Threads where someone is comparing you to a competitor are opportunities to answer factually — what you do better, what your competitor does better (be honest), and what each is best for. Honest comparisons build more trust than defensive deflection.