Back to Blog
Reddit

Find Winning Products on Reddit Before They Hit TikTok

December 6, 2025
5 min read
S
By SociaVault Team
RedditProduct ResearchDropshippingE-commerce

Find Winning Products on Reddit Before They Hit TikTok

Here's the timing problem with product research: if you find a product on AliExpress, you're too late — so is everyone. If you find it on TikTok, you're too late and paying competitive ad prices. The interesting layer is upstream of both. Communities like r/ShutUpAndTakeMyMoney and r/DidntKnowIWantedThat are where notoriously hard-to-impress people get genuinely excited about things — often weeks before those things blow up elsewhere. If Redditors are upvoting a product and asking where to buy it, that's validation money can't fake.

This guide builds a product scout: scrape product subreddits, filter for genuine "wow factor," and — the key move — score posts by purchase intent from the comments. Code in JavaScript.

Step 1: Scrape the subreddits

The subreddit endpoint takes a subreddit, a sort, and a timeframe.

const API_KEY = process.env.SOCIAVAULT_API_KEY;
const BASE = "https://api.sociavault.com/v1/scrape/reddit";

async function scrapeSubreddit(subreddit) {
  const res = await fetch(
    `${BASE}/subreddit?subreddit=${subreddit}&sort=top&timeframe=week`,
    { headers: { "x-api-key": API_KEY } },
  );
  const json = await res.json();
  if (!json.success) return [];
  // Container may be an array or under .posts/.items — handle all.
  return Array.isArray(json.data)
    ? json.data
    : json.data.posts || json.data.items || [];
}

Step 2: Filter for "wow factor"

Not every post is a product. Keep the ones with media and real traction — a high score plus a healthy comment count usually signals something people reacted to.

function filterCandidates(posts) {
  return posts
    .filter((p) => {
      const url = p.url || "";
      const hasMedia = /i\.redd\.it|v\.redd\.it|imgur/.test(url);
      return hasMedia && (p.score || 0) >= 500;
    })
    .map((p) => ({
      title: p.title,
      score: p.score,
      comments: p.num_comments,
      permalink: `https://reddit.com${p.permalink}`,
      media: p.url,
    }));
}

Step 3: Score purchase intent (the real signal)

A high upvote count means "cool." Comments asking where to buy mean "money is ready." That distinction is everything for product research.

const BUY_SIGNALS = [
  "link",
  "buy",
  "where can i",
  "take my money",
  "need this",
  "shipping",
  "in stock",
  "how much",
];

async function purchaseIntent(permalink) {
  const res = await fetch(
    `${BASE}/post/comments?url=${encodeURIComponent(permalink)}`,
    { headers: { "x-api-key": API_KEY } },
  );
  const json = await res.json();
  if (!json.success) return 0;
  const comments = Array.isArray(json.data)
    ? json.data
    : json.data.comments || [];
  return comments.filter((c) => {
    const t = (c.body || "").toLowerCase();
    return BUY_SIGNALS.some((s) => t.includes(s));
  }).length;
}

Step 4: Run the scout

async function findWinners() {
  const subs = ["ShutUpAndTakeMyMoney", "DidntKnowIWantedThat"];
  for (const sub of subs) {
    const candidates = filterCandidates(await scrapeSubreddit(sub));
    for (const p of candidates.slice(0, 5)) {
      const intent = await purchaseIntent(p.permalink);
      if (intent >= 3) {
        console.log(`\n💰 ${p.title}`);
        console.log(`   score ${p.score} · intent ${intent} · ${p.permalink}`);
      }
    }
  }
}

findWinners();

Why upstream wins

Finding products on Reddit first gives you a real head start: you can run the first TikTok ads before the market saturates, build a landing page while CPMs are still cheap, and — this is underrated — write your ad copy straight from the Reddit comments. The exact questions people ask ("is it waterproof?", "does it ship to the UK?") are the objections your ad needs to answer. The comments are free copywriting research.

One honest note: a high score and buy-intent comments validate demand, not margins or sourcing. You still have to find a reliable supplier and a price that works. Reddit tells you people want it; it doesn't tell you that you can sell it profitably.

Frequently Asked Questions

Scrape product-focused subreddits (like r/ShutUpAndTakeMyMoney) sorted by top posts of the week, filter for posts with media and strong engagement, then score the comments for purchase intent. Posts where people are actively asking where to buy are your strongest candidates — the code here automates exactly that.

Why look on Reddit instead of TikTok for products?

Reddit is upstream — products often surface there before they trend on TikTok. Finding them earlier means cheaper ad costs, less competition, and time to build before the market saturates. By the time a product is obviously trending on TikTok, the easy money is gone.

What's "purchase intent" and how do you measure it?

It's the share of commenters signaling they want to buy — phrases like "where can I get this," "take my money," or "does it ship to…". You measure it by scraping a post's comments and counting buy-signal keywords. High intent separates a genuinely sellable product from one that's merely interesting.

Do I need a Reddit account to do this?

No. A scraping API reads public subreddit posts and comments without you managing a Reddit account or API credentials. Stick to public communities and use the data responsibly.

Does a popular Reddit post guarantee a profitable product?

No. It validates demand, not your margins or supply chain. You still need a reliable supplier and a price that leaves room for ad spend and profit. Use Reddit to find what people want, then do the sourcing math separately.

How often should I run the scout?

Weekly fits the "top of the week" sort nicely and keeps your pipeline fresh without over-spending credits. Each subreddit scan plus comment checks on the top candidates is only a handful of credits per run.

The bottom line

Get upstream of the trend. Scrape the product subreddits, score posts by real purchase intent, and you'll surface winners while ad costs are low and competitors are still asleep — with the comment section handing you your ad copy for free.

Want to start scouting? Start free with SociaVault with 50 credits.

Found this helpful?

Share it with others who might benefit

Ready to Try SociaVault?

Start extracting social media data with our powerful API. No credit card required.