DEV Community

Brad
Brad

Posted on

How I Find Warm Sales Leads From HN 'Who is Hiring' Threads (Not Just Jobs)

Every month, thousands of companies post in Hacker News "Who is Hiring?" threads. They share their tech stack, team size, funding status, and direct contact emails — voluntarily, publicly, for free.

Job seekers know about this. Founders targeting B2B customers mostly don't.

Here's why these threads are underrated for sales prospecting — and how I built a tool to mine them systematically.

Why HN Hiring Threads Are B2B Gold

When a company posts "We're hiring," they're signaling:

  1. They have budget — no company hires without money
  2. They're in growth mode — likely buying tools and services
  3. Their tech stack is public — you can filter for your exact ICP
  4. They're reachable — direct contact email in the post

Compare this to cold calling from a LinkedIn search. With HN hiring threads, you know:

  • The company is funded (most Series A+ companies appear)
  • What stack they use (find Python shops if you sell a Python tool)
  • Who to contact (often the founder or CTO posted directly)
  • They're actively scaling (hiring = growth = buying)

The Setup: Parsing HN Hiring Threads

HN's Algolia API makes this straightforward:

import requests

def get_hiring_threads(months=6):
    """Get recent Who is Hiring threads."""
    url = "https://hn.algolia.com/api/v1/search"
    params = {
        "query": "Ask HN: Who is hiring",
        "tags": "story,ask_hn",
        "numericFilters": f"created_at_i>{int(time.time()) - months*30*86400}"
    }
    results = requests.get(url, params=params).json()
    return [h for h in results['hits'] if 'who is hiring' in h['title'].lower()]
Enter fullscreen mode Exit fullscreen mode

Then parse the comments for company listings:

def parse_hiring_comments(thread_id):
    """Extract company listings from a hiring thread."""
    url = f"https://hn.algolia.com/api/v1/items/{thread_id}"
    thread = requests.get(url).json()

    companies = []
    for comment in thread.get('children', []):
        text = comment.get('text', '')
        if not text:
            continue

        # Extract email addresses
        import re
        emails = re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', text)

        # Extract tech stack mentions
        stacks = []
        for tech in ['Python', 'Go', 'Rust', 'TypeScript', 'React', 'Django', 'FastAPI']:
            if tech.lower() in text.lower():
                stacks.append(tech)

        if emails:
            companies.append({
                'text': text[:200],
                'emails': emails,
                'stack': stacks
            })

    return companies
Enter fullscreen mode Exit fullscreen mode

Filtering for Your ICP

Now the interesting part. If you sell something to Python shops:

companies = parse_hiring_comments(thread_id)

# Filter: Python companies with direct emails
python_companies = [
    c for c in companies 
    if 'Python' in c['stack'] and c['emails']
]

print(f"Found {len(python_companies)} Python companies with direct contacts")
Enter fullscreen mode Exit fullscreen mode

For a 6-month window, this typically surfaces 200-400 Python-stack companies actively hiring — and therefore actively growing and buying.

What I Actually Do With This

I built HN Startup Hunter — a web app that runs this pipeline live. You enter your skills or your target tech stack, and it returns filtered companies with direct emails from the last 6 months of HN threads.

Use cases I've seen:

  • Freelancers: find companies hiring your exact stack and pitch contract work
  • Tool founders: find your ideal customers (Python devs who buy dev tools)
  • Recruiters: source companies before they hit LinkedIn
  • B2B SaaS: find startups in growth mode who buy SaaS

The "Warm Lead" Angle

Here's what makes this different from a generic lead list:

The person who posted the HN hiring thread is almost always the founder or a senior engineer. They're already plugged into the tech community. They respond to thoughtful outreach.

A message like: "I saw your hiring post in the October 2025 HN thread — you're building with FastAPI and hiring backend engineers. I help FastAPI teams with [X]. Would a 1-paragraph scope be useful?" gets 5-10x better response rates than cold LinkedIn.

The hiring thread gives you context. Context makes cold outreach warm.

Getting the Data

If you want to run this yourself:

  1. Self-serve: HN Startup Hunter — free, filter by skills, get 20 results
  2. Full dataset: Pro plan ($9/month) — all 200+ results, CSV export with emails
  3. Done-for-you: I'll run a custom report for your ICP — $75, delivered in 24h

What's your use case? Job seeking, sales prospecting, or something else? Drop a comment.

Top comments (0)