ScavioScavio
ProductPricingDocs
Sign InGet Started
Blog
reddit-apilead-generationmarket-research

Mine Reddit for Product Demand That Already Exists

Find where demand for your product already lives on Reddit: search threads by problem keyword, rank by score, then pull comment trees with the API.

June 20, 2026
7 min read

To find where demand for your product already exists on Reddit, query Reddit by the problems you solve, then rank the threads that come back by score and recency. The high-score threads are the ones where real people are already describing your problem in their own words, asking for a tool, or complaining about the alternatives. That's your demand map.

A 810-upvote thread on r/SideProject put it plainly: "Drop your side project and I'll find where Reddit demand might already exist." Over on r/Affiliatemarketing, someone shipped an open-source Reddit lead generator for the same job. The job is the same either way: find the threads where intent is already on the page, instead of guessing what to build.

Here's the two-call workflow. First, search Reddit for an intent phrase and read back the threads with their scores:

Python
import os, requests
H = {"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}", "Content-Type": "application/json"}

r = requests.post("https://api.scavio.dev/api/v1/reddit/search", headers=H,
    json={"query": "looking for an alternative to spreadsheet invoicing"})
threads = r.json()

for t in sorted(threads, key=lambda x: x.get("score", 0), reverse=True)[:10]:
    print(t.get("score"), t.get("title"), t.get("url"))

The reddit/search call costs 1 credit. Sort by score and you get the threads worth your time at the top. Now take the highest-signal URL and pull the full comment tree, because the gold is usually in the replies, not the title:

Python
post = requests.post("https://api.scavio.dev/api/v1/reddit/post", headers=H,
    json={"url": "https://www.reddit.com/r/smallbusiness/comments/abc123/..."})
data = post.json()

def walk(comments, depth=0):
    for c in comments:
        print("  " * depth, c.get("score"), c.get("body", "")[:120])
        walk(c.get("replies", []), depth + 1)

walk(data.get("comments", []))

The reddit/post call costs 2 credits because it returns the whole nested comment tree. Reading the comments is where you learn which competitor people are escaping, what feature they keep asking for, and the exact phrasing they use, which is also your ad copy and landing-page copy.

Turn it into a daily demand monitor

The one-off search is fine for a weekend. The real payoff is running it every morning against a list of intent phrases and only alerting you on what's new and high-scoring:

Python
import json, os, requests
H = {"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}", "Content-Type": "application/json"}

PHRASES = [
    "alternative to spreadsheet invoicing",
    "how do freelancers track unpaid invoices",
    "recommend invoicing tool for solo",
]
SEEN = set(json.load(open("seen.json"))) if os.path.exists("seen.json") else set()
MIN_SCORE = 15

for phrase in PHRASES:
    r = requests.post("https://api.scavio.dev/api/v1/reddit/search", headers=H,
        json={"query": phrase})
    for t in r.json():
        tid = t.get("id") or t.get("url")
        if tid not in SEEN and t.get("score", 0) >= MIN_SCORE:
            print("NEW:", t.get("score"), t.get("title"), t.get("url"))
            SEEN.add(tid)

json.dump(list(SEEN), open("seen.json", "w"))

Dedupe on thread ID so you never see the same thread twice, set a score floor so you skip noise, and pipe the NEW: lines to Slack or email. Three phrases at one search each is 3 credits a day, about 90 a month. At $0.005 per credit that's well under a dollar a month to watch a market.

The honest tradeoff

If this is a hobby script and you're at low volume, use Reddit's official API or PRAW. It's free at low volume and it's the right call when you don't mind doing OAuth, refreshing tokens, and respecting per-endpoint rate limits yourself. There's no reason to pay for a few hundred queries a month.

Scavio earns its keep when the token-juggling stops being fun: you get structured JSON with no OAuth flow, no token refresh, and no per-subreddit rate-limit fights. The bigger reason is the credit pool. The same key and the same credits also hit Google, YouTube, Amazon, Walmart, and TikTok, so a cross-platform demand monitor (the same intent phrase searched on Reddit and YouTube and TikTok) runs through one integration instead of five. Pay-as-you-go has no monthly floor and no minimum deposit, so a quiet month costs almost nothing.

A caution on price: if all you ever need is the cheapest raw Reddit data at a hobby scale, the official API is free and Scavio isn't. Scavio's edge is the structured-JSON-plus-shared-credit-pool story, not undercutting a free API.

Don't be the spam

Reddit punishes drive-by promotion harder than almost any platform, and it should. Use this to find conversations, then actually read them. Reply only where your product is genuinely the answer to the question being asked, disclose that you built it, and add something useful even in threads you don't pitch. A demand monitor that turns you into a link-dropping bot will get you banned and will sour the exact communities you wanted to reach. Find the demand, then earn the reply.

Continue reading

exasearch-api

Why Exa Search Costs So Much (and Cheaper Alternatives) in 2026

7 min read
ragai-agents

Search API vs Scraping for Research Agents (2026)

8 min read
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