The "Reddit Test" for Products
Before a product goes viral on TikTok, it often starts on Reddit. Communities like r/ShutUpAndTakeMyMoney and r/DidntKnowIWantedThat are goldmines for product validation. If Redditors—who are notoriously critical—are upvoting a product, it's a winner.
In this guide, we'll build a Product Scout Bot that:
- Scrapes top posts from product-focused subreddits.
- Filters for high "Purchase Intent" (comments asking "Where can I buy this?").
- Extracts links to the actual products.
The Tech Stack
We'll use the SociaVault API to access Reddit data without needing a personal Reddit account or API credentials.
Prerequisites
- Node.js installed
- A SociaVault API Key
axiosfor API requests
Step 1: Scraping the Subreddits
We'll target three key subreddits:
r/ShutUpAndTakeMyMoney(The classic)r/DidntKnowIWantedThat(Viral gadgets)r/Gadgets(Tech focus)
const axios = require('axios');
const API_KEY = 'YOUR_SOCIAVAULT_API_KEY';
const BASE_URL = 'https://api.sociavault.com/v1/scrape/reddit';
async function scrapeSubreddit(subreddit) {
try {
console.log(`\n🔍 Scanning r/${subreddit}...`);
const response = await axios.get(`${BASE_URL}/subreddit`, {
params: {
subreddit,
sort: 'top',
timeframe: 'week' // Find this week's winners
},
headers: { 'x-api-key': API_KEY }
});
return response.data.data.items || [];
} catch (error) {
console.error(`Error scraping r/${subreddit}:`, error.response?.data || error.message);
return [];
}
}
Step 2: Filtering for "Viral Velocity"
We don't just want any post. We want posts with a high Upvote-to-Comment ratio, which usually indicates a "wow factor" product.
function filterWinningProducts(posts) {
return posts
.filter(post => {
// Filter 1: Must have an image or video
if (!post.url || (!post.url.includes('i.redd.it') && !post.url.includes('v.redd.it') && !post.url.includes('imgur'))) {
return false;
}
// Filter 2: Minimum engagement threshold
if (post.score < 500) return false;
return true;
})
.map(post => ({
title: post.title,
score: post.score,
comments: post.num_comments,
url: `https://reddit.com${post.permalink}`,
image: post.url
}));
}
Step 3: The "Purchase Intent" Scanner
This is the secret sauce. We'll check the comments of the top posts to see if people are actually trying to buy it.
async function checkPurchaseIntent(postUrl) {
try {
const response = await axios.get(`${BASE_URL}/post/comments`, {
params: { url: postUrl, sort: 'top' },
headers: { 'x-api-key': API_KEY }
});
const comments = response.data.data || [];
// Keywords that signal money is ready to be spent
const buyKeywords = ['link', 'buy', 'where', 'take my money', 'need this', 'shipping'];
let intentScore = 0;
comments.forEach(comment => {
const text = comment.body.toLowerCase();
if (buyKeywords.some(keyword => text.includes(keyword))) {
intentScore++;
}
});
return intentScore;
} catch (error) {
return 0;
}
}
Step 4: Running the Scout
Now, let's combine it all into a script that outputs a list of potential winning products.
async function findWinningProducts() {
const subreddits = ['ShutUpAndTakeMyMoney', 'DidntKnowIWantedThat'];
for (const sub of subreddits) {
const posts = await scrapeSubreddit(sub);
const candidates = filterWinningProducts(posts);
console.log(`Found ${candidates.length} candidates in r/${sub}. Checking intent...`);
for (const product of candidates.slice(0, 5)) { // Check top 5
const intentScore = await checkPurchaseIntent(product.url);
if (intentScore > 3) { // If at least 3 people asked to buy
console.log(`\n💰 POTENTIAL WINNER FOUND!`);
console.log(`Product: ${product.title}`);
console.log(`Score: ${product.score} | Intent Score: ${intentScore}`);
console.log(`Link: ${product.url}`);
console.log(`Image: ${product.image}`);
}
}
}
}
findWinningProducts();
Why This Matters in 2025
Dropshipping in 2025 is competitive. If you're finding products on AliExpress, you're too late. If you're finding them on TikTok, you're competing with everyone else.
Reddit is "upstream." By finding products here first, you can:
- Launch the first TikTok ads for that product.
- Build a simple landing page before the market is saturated.
- Use the Reddit comments to write your ad copy (addressing the exact questions people asked).
Next Steps
Start scouting for your next bestseller.
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.