All posts
· 12 min read·Tutorial · Signals

Reddit + X public-social pain mining: a tutorial

Step by step: turning public posts into qualified pipeline. Subreddit selection, intent classifier prompts, ICP matching, and a calm answer to "is this allowed" — yes, with caveats.

By Bora Esen

Public-social pain mining is the most under-rated B2B signal source in 2026. Buyers post their problems in real time on Reddit and X, in language the marketing team would never write. Most outbound tools ignore the whole channel because the data is messy and unstructured. The teams that do not ignore it tend to win on reply rate by a factor of four to eight.

This is a step-by-step tutorial on the pattern we use at Leafer. It works for any B2B niche and you do not need a data-science team to run it.

Step 1: build the subreddit and keyword universe

For each ICP, pick five to fifteen subreddits where your buyer hangs out. For Leafer’s ICP — B2B SaaS founders plus marketing agencies — the universe looks like this: r/SaaS, r/Entrepreneur, r/marketing, r/sales, r/devops, r/sysadmin, r/EntrepreneurRideAlong. Add a layer of keyword filters on top: “cold email,” “sales tool,” “outbound burnout,” “Apollo alternative.”

For X (formerly Twitter), the universe is harder to define because there are no subreddits. You build it instead with saved searches. Three patterns that consistently pull intent: “anyone using [competitor] for [use case],” “looking for [category] that does [feature],” “our [tool] just broke again.”

Step 2: intent classifier

Every matched post goes through a small LLM classifier. We use a fine-tuned GPT-4o-mini prompt that returns a JSON with three fields: intent_type (pain | recommendation_request | buying_intent | noise),confidence (0–1), reasoning (one short sentence).

Filter at confidence >= 0.7 and discard everything else. You will throw away roughly 60% of what you scraped. That is the point. The remaining 40% is the signal that matters.

Step 3: ICP match

A post matches an intent topic but the author might not match your ICP. Pull the author’s last 20 posts and comments and pass them through a second prompt that maps them to your ICP traits — company size, function, role, geography. If the author fingerprint is clearly outside your ICP, drop the post.

Anonymous accounts (throwaway usernames, no profile data) are common on Reddit. You cannot ICP-match them directly, so you fall back to evidence-only signals — you can still cite the post in outreach to other people working on the same problem, even if you cannot reach the original poster.

Step 4: cite when you reach out

Once a post clears intent and ICP, write the email or DM with a direct cite. “Saw your post in r/SaaS about cold email tooling burning out your team — Leafer was built specifically for that case. Three minutes if you want to see it.”

The cite changes the reply rate dramatically. Our measured difference: cited messages reply at 14–22% depending on the niche. Uncited cold messages on the same list reply at 2–4%. The cite is doing all the work; the rest of the message is the same.

Step 5: respect the ethics

Reddit’s TOS bans cold DMs from non-friends. If you DM a Reddit user without prior engagement, they can and will report you and your account will be suspended within hours. The pattern that works instead is commenting in the public thread first — “hey, this is the exact problem we built X for, happy to share what we learned” — and letting the user reach out via DM if they want to.

X is more permissive. DMs are open if the user opted in at the account level (most B2B accounts do). The cite-first message still works because it reads as a peer reaching out rather than an automation firing.

What this looks like in volume

A focused setup running across six subreddits and twelve X saved searches surfaces 200–400 signals per week for a typical B2B niche. After the intent + ICP filter you keep 60–100. After the SDR scans for the ones worth replying to publicly, you send 25–40 messages a week. That cadence books two to four meetings on a normal week and five to eight on a good one.

It is not a fire-hose. It is a small, ICP-tight pool of people who are actively talking about the problem you solve. Leafer runs the whole loop end to end if you do not want to write the classifier prompts yourself. The pattern is the point either way.

Try it

Ready to run this in your workspace?

Start free for 14 days. $99/month after — transparent tiers.

Start free trial
Reddit + X public-social pain mining: a tutorial — Leafer Blog · Leafer