DEV Community

Short Play Skits
Short Play Skits

Posted on

How I Found 47 B2B Customers on Reddit Using Python and Zero Ad Spend

How I Found 47 B2B Customers on Reddit Using Python and Zero Ad Spend

Three months ago, I was burning $2,400/month on Google Ads.

Got 127 clicks. Three signups. One was my mom testing the product.

The math wasn't working. So I tried something different: Reddit + automation + zero ad spend.

Result: 47 genuine conversations. 12 demo calls. 4 paying customers.

Here's the technical breakdown.

The Problem with Traditional Marketing

Google Ads works if you have budget. But for bootstrapped founders, the unit economics don't make sense:

Cost per click: $18.90
Conversion rate: 2.4%
Cost per customer: $787.50
LTV: $119.88 (12 months at $9.99/month)
Enter fullscreen mode Exit fullscreen mode

Yeah. That's a problem.

Why Reddit?

Reddit has 430 million monthly active users. Your customers are already there, asking questions and describing their pain points.

The challenge: finding these conversations before they get buried.

The Manual Approach (And Why It Doesn't Scale)

I started manually:

  1. Search Reddit for keywords
  2. Filter by "New"
  3. Read through posts
  4. Respond to relevant ones
  5. Repeat 3 hours a day

This worked for about two weeks. Then I burned out.

Problems with manual search:

  • Time-consuming (3+ hours daily)
  • Easy to miss conversations
  • No way to track what you've already seen
  • Inconsistent results

The Automated Approach

I built a Python script to automate the search part. Here's the logic:

Step 1: Define Target Subreddits

target_subreddits = [
    'SaaS',
    'startups', 
    'Entrepreneur',
    'smallbusiness',
    'marketing'
]
Enter fullscreen mode Exit fullscreen mode

Step 2: Define Search Queries

Don't search for your product. Search for the problem:

search_queries = [
    'reddit lead generation manual',
    'finding customers reddit time consuming',
    'alternative to [competitor]',
    'frustrated with [pain point]'
]
Enter fullscreen mode Exit fullscreen mode

Step 3: Filter by Engagement

Not all posts are equal. Filter by:

filters = {
    'min_comments': 5,
    'max_age_days': 7,
    'min_upvotes': 3,
    'exclude_deleted': True
}
Enter fullscreen mode Exit fullscreen mode

Step 4: Export to CSV

Export results with:

  • Post title
  • URL
  • Author
  • Subreddit
  • Comment count
  • Upvotes
  • Post age

This lets you prioritize which conversations to join.

The Response Strategy

Finding conversations is half the battle. Responding correctly is the other half.

Bad Response (Gets Downvoted)

"Check out my tool! It solves this problem. 
Here's the link: [url]"
Enter fullscreen mode Exit fullscreen mode

Good Response (Gets Upvoted)

"I had this exact problem last month. Tried doing 
it manually for two weeks - burned out fast. Also 
tested [competitor] but it was too expensive. 

Ended up building something simple that filters 
by engagement and exports to CSV. Not perfect but 
saves me about 8 hours a week. Happy to share if 
it helps."
Enter fullscreen mode Exit fullscreen mode

Key differences:

  • Shows you understand the problem
  • Mentions trying other solutions
  • Admits limitations
  • Offers help instead of selling

The Tool I Built

After proving the concept with Python scripts, I built a Reddit marketing tool - a desktop app that does all this automatically.

Features:

  • Multi-subreddit search
  • Engagement filtering
  • CSV export
  • Keyword tracking
  • Duplicate detection

The UI isn't pretty but it works. 3-day trial, then $9.99/month. Saves me about 8 hours a week, which pays for itself.

The Numbers

After 90 Days

Metric Result
Conversations 47
Demo calls 12
Paying customers 4
Trial users 8
Ad spend $0
Time investment 10 hrs/week

Compare to Google Ads

Metric Result
Ad spend $2,400
Clicks 127
Signups 3
Paying customers 0
Stress level High

The Reddit approach takes more time upfront but the quality of leads is incomparably better.

Technical Challenges

Challenge 1: Rate Limiting

Reddit's API has rate limits. Solution: implement exponential backoff.

import time

def search_with_backoff(query, max_retries=3):
    for i in range(max_retries):
        try:
            return reddit.search(query)
        except RateLimitError:
            wait_time = 2 ** i
            time.sleep(wait_time)
    return None
Enter fullscreen mode Exit fullscreen mode

Challenge 2: Duplicate Detection

Same posts appear in multiple searches. Solution: track post IDs.

seen_posts = set()

def is_duplicate(post_id):
    if post_id in seen_posts:
        return True
    seen_posts.add(post_id)
    return False
Enter fullscreen mode Exit fullscreen mode

Challenge 3: Shadowban Detection

Reddit can shadowban you without notice. Solution: periodically check if your posts are visible.

def check_shadowban(username):
    user_posts = reddit.user(username).posts
    for post in user_posts:
        if post.removed_by_category:
            return True
    return False
Enter fullscreen mode Exit fullscreen mode

Mistakes I Made

1. Using a Brand New Account

Accounts under 30 days old get filtered automatically. Had to wait and build karma first.

2. Posting the Same Comment Everywhere

Reddit's spam filters caught this instantly. Got shadowbanned for a week. Now I customize every response.

3. Being Too Promotional

If more than 10% of your comments mention your product, you're doing it wrong.

4. Ignoring Subreddit Rules

Got banned from r/entrepreneur for not reading the rules. Each community has different rules. Read them.

Advanced Tactics

Monitor Competitor Mentions

Set up alerts for competitor names. When someone complains, offer a genuine alternative.

competitor_keywords = [
    'competitor_name',
    'alternative to competitor',
    'competitor too expensive'
]
Enter fullscreen mode Exit fullscreen mode

Track Keywords Over Time

Reddit conversations have a lifecycle. Getting in early means your comment stays near the top.

I check every 4-6 hours. Takes 5 minutes. The ROI is ridiculous.

Build Credibility First

I spent a month just helping people in r/SaaS. Answered questions. Shared what worked. Didn't mention my product once.

Built up karma and credibility. Then when I did share my tool, people actually listened.

The Subreddits That Convert

Not all subreddits are equal:

Subreddit Members Engagement Conversion
r/SaaS 100K High Best
r/startups 1.5M Medium Good
r/Entrepreneur 3.2M Low Poor
Industry-specific 10K-50K High Excellent

Smaller, focused communities beat massive generic ones every time.

Is This Sustainable?

Honest answer: I don't know yet.

Three months in, it's working. But I'm spending 10 hours a week on this. That's not scalable long-term.

My plan:

  • Automate search (done)
  • Build response templates (in progress)
  • Hire help for monitoring (considering)

The goal isn't to spam Reddit at scale. It's to have genuine conversations at scale.

Should You Try This?

Yes if:

  • You're bootstrapped with more time than money
  • You can commit 2-3 months to building credibility
  • You're willing to be genuinely helpful

No if:

  • You need fast results
  • You can't resist being promotional
  • You're looking for a growth hack

Getting Started

  1. Pick 3 subreddits where your customers hang out
  2. Spend 30 minutes reading top posts from this month
  3. Search for one pain point your product solves
  4. Find 3-5 recent posts
  5. Write genuine, helpful responses
  6. Don't mention your product yet

Do this for two weeks. Build karma. Build credibility. Then start naturally mentioning your solution when relevant.

It's not a growth hack. It's not a shortcut. It's showing up, being helpful, and building trust.

But if you do it right, it's one of the highest ROI channels available in 2025.

Just don't burn $2,400 on Google Ads first like I did.

Tech Stack

For those interested:

  • Python 3.9+
  • PRAW (Python Reddit API Wrapper)
  • Pandas for data processing
  • SQLite for tracking seen posts
  • PyQt5 for desktop UI

The code isn't open source (yet) but the approach is straightforward. Start with PRAW and build from there.


Found this helpful? I share more bootstrapping tactics on Wappkit. No spam, just real experiences.

Top comments (0)