MyDealList · Guides
The Reverse-Engineering Acquisition Strategy: Sourcing Unlisted SaaS Gems
Off-market SaaS sourcing masterclass: BuiltWith and Product Hunt data scrapers, high-conversion programmatic outbound sequences, early-intent discovery workflows, and OIS scoring before founders list on brokers.
By the time a micro-SaaS appears on Acquire.com or Empire Flippers, the best economics are often gone. Brokered listings attract multiple qualified buyers, normalize multiples upward, and compress your diligence window into a seven-day exclusivity sprint. The operators who consistently win sub-4× ARR deals in 2026 do something different: they source unlisted saas assets months before sellers hire brokers, using technographic intelligence, launch-history signals, and disciplined cold outreach software founders sequences that feel like partnership conversations—not spam.
This is reverse-engineering acquisition strategy. Instead of scrolling marketplaces and bidding against syndicates, you build a prospecting machine that identifies founders showing early exit intent—declining commit velocity, pricing-page experiments, burnout posts, stale Product Hunt launches—and reaches them with a credible LOI framework before they list. The goal is not volume outreach. It is signal-weighted contact at the moment a founder is mentally ready to sell but has not yet paid a 10–15% broker success fee.
This masterclass covers three operational layers: (1) off-market data scrapers using BuiltWith API and Product Hunt historical datasets; (2) programmatic outbound sequences with conversion math and deliverability guardrails; and (3) early-intent discovery workflows that score prospects before they hit broker intake forms. Pair it with our marketplace comparison guide, micro-acquisition playbook, and valuation framework, technical due diligence checklist, saas security audit for outbound targets, and saas copyright audit before LOI for a complete off-market stack.
Not legal, tax, or investment advice. Scraping and outreach must comply with applicable privacy laws (CAN-SPAM, GDPR, CCPA) and platform Terms of Service. Verify API licensing before production deployment.
1. The Off-Market Thesis: Why Listed Deals Are the Lagging Indicator
Public marketplaces are lagging indicators of seller intent. A founder typically follows this timeline: (a) first consideration of exit, (b) informal conversations with peers, (c) broker or marketplace intake, (d) public listing, (e) LOI and close. Buyers who enter at stage (d) compete with everyone else. Buyers who enter at stage (a)–(b) negotiate from a position of scarcity—you are often the only serious acquirer in the room.
1.1 The off-market vs listed economics gap
| Deal source | Typical multiple (micro-SaaS) | Buyer competition | Diligence window |
|---|---|---|---|
| Direct off-market outreach | 2.5×–3.5× ARR | 0–2 serious buyers | 14–45 days |
| Acquire.com / Micron listing | 3.5×–5.0× ARR | 5–15 LOIs | 7–14 days |
| Empire Flippers curated | 4.0×–6.0× SDE/ARR | Pre-qualified pool | First-come broker queue |
| Flippa open auction | 1.5×–4.0× (high variance) | Retail + pros mixed | Auction clock |
Off-Market Intent Score (OIS)
Use the OIS formula to rank prospects before you spend outreach credits. Score each signal 0–10; weight and sum to 100.
The best off-market deals are not hidden—they are unlisted. Founders who have not yet paid a broker success fee are often more flexible on price, more transparent in diligence, and more willing to seller-finance than the same founder six weeks later on a curated marketplace.
1.2 Who sells off-market—and why they respond
Off-market sellers in the $10k–$500k band fall into predictable archetypes. Your outreach copy should mirror their motivation, not your desire for a discount.
| Seller archetype | Trigger signal | Outreach angle | Close probability |
|---|---|---|---|
| Burned-out indie hacker | IH “winding down” post | Clean exit + customer continuity | High (60–75%) |
| Agency side-project owner | No commits 6+ months | Respect the build; ops takeover | Medium-high (45–60%) |
| Failed growth experiment | Pricing page churn | Distribution partner offer | Medium (30–45%) |
| Stealth pre-broker | Advisor LinkedIn activity | Pre-empt broker fees | Medium (35–50%) |
| Distressed but proud | Declining MRR, active support | Turnaround operator credibility | Low-medium (20–35%) |
2. Building Off-Market Data Scrapers: BuiltWith API and Product Hunt Historical Datasets
Manual LinkedIn scrolling does not scale. Professional acquirers run technographic pipelines that answer one question: which domains recently added Stripe, Intercom, or PostHog—and then stopped shipping? BuiltWith and Product Hunt archives provide complementary signal layers.
2.1 BuiltWith API: technographic prospecting
BuiltWith tracks technology adoption across domains. For acquisition sourcing, filter for SaaS stacks that indicate real revenue (Stripe, Paddle, Chargebee) combined with stagnation signals (old Next.js version, removed analytics, deprecated payment provider).
BuiltWith query parameters for micro-SaaS hunting
| Filter | BuiltWith tech tag | Acquisition signal |
|---|---|---|
| Payment processor | Stripe, Paddle, LemonSqueezy | Monetized product exists |
| Auth / backend | Supabase, Firebase, Auth0 | SaaS not static site |
| Support stack | Intercom, Crisp, Help Scout | Active customer base |
| Analytics | PostHog, Plausible, Mixpanel | Founder tracks metrics |
| Framework age | Next.js / React version drift | Tech stagnation proxy |
Node.js BuiltWith enrichment script
#!/usr/bin/env node
/**
* builtwith-prospect-enricher.js
* Enriches domain list with technographics + OIS pre-score.
* Requires: BUILTWITH_API_KEY env var
*/
const DOMAINS = ['example-saas.io', 'niche-tool.app']; // from PH export or CSV
async function enrichDomain(domain) {
const res = await fetch(
`https://api.builtwith.com/v21/api.json?KEY=${process.env.BUILTWITH_API_KEY}&LOOKUP=${domain}`
);
const data = await res.json();
const techs = (data.Results?.[0]?.Result?.Paths?.[0]?.Technologies ?? [])
.map((t) => t.Name);
const hasPayment = techs.some((t) =>
/Stripe|Paddle|Chargebee|LemonSqueezy/i.test(t)
);
const hasAuth = techs.some((t) =>
/Supabase|Firebase|Auth0|Clerk/i.test(t)
);
const stackScore = (hasPayment ? 4 : 0) + (hasAuth ? 3 : 0);
return {
domain,
techs,
stackScore,
tier: stackScore >= 6 ? 'A-candidate' : 'B-monitor'
};
}
(async () => {
const results = await Promise.all(DOMAINS.map(enrichDomain));
console.table(results);
// Pipe to Airtable / Postgres prospects table
})();2.2 Product Hunt historical datasets: launch archaeology
Product Hunt archives reveal products that launched with traction but never scaled distribution—the classic find off-market digital business profile. Cross-reference launch date, upvote count, maker Twitter handle, and current site status to build a decay cohort.
Product Hunt signal decay matrix
| Launch age | Upvotes at launch | Current site status | Off-market probability |
|---|---|---|---|
| 18–36 months | 200–800 | Live + Stripe, no blog since launch | Very high |
| 12–24 months | 50–200 | Live, pricing unchanged 12mo+ | High |
| 6–18 months | 800+ | Active shipping, hiring paused | Medium (monitor) |
| 36+ months | Any | Domain parking / redirect | Dead—exclude |
Bash pipeline: PH CSV → domain health check
#!/usr/bin/env bash
# ph-prospect-health.sh — filter Product Hunt export for live SaaS candidates
# Input: ph_launches.csv (columns: name,website,maker_twitter,upvotes,launch_date)
INPUT="ph_launches.csv"
OUTPUT="prospects_qualified.csv"
echo "domain,http_status,has_stripe,launch_date,upvotes" > "$OUTPUT"
tail -n +2 "$INPUT" | while IFS=, read -r name website maker upvotes date; do
domain=$(echo "$website" | sed -E 's|https?://||; s|/.*||')
status=$(curl -s -o /dev/null -w "%{http_code}" "https://$domain" --max-time 8)
stripe=$(curl -s "https://$domain/pricing" | grep -ci stripe || true)
if [[ "$status" == "200" && "$stripe" -gt 0 ]]; then
echo "$domain,$status,yes,$date,$upvotes" >> "$OUTPUT"
fi
done
echo "Qualified prospects: $(wc -l < "$OUTPUT")"2.3 Supplementary signal sources
- GitHub commit velocity: API scan for org repos with last push > 120 days and active homepage
- Indie Hackers posts: keyword alerts for “selling”, “winding down”, “acquisition”
- LinkedIn Sales Navigator: founder title + “open to opportunities” + SaaS company size 1–5
- MyDealList feed: cross-reference scraped domains against marketplace listings to avoid duplicate outreach
- Crunchbase / Harmonic: competitor funding events that pressure bootstrapped adjacent tools
2.4 Prospect database schema
| Field | Type | Source |
|---|---|---|
| domain | PK string | PH / BuiltWith / manual |
| founder_email | string | Hunter.io / site / WHOIS |
| ois_score | integer 0–100 | Calculated nightly |
| tech_stack_json | JSONB | BuiltWith API |
| last_contacted_at | timestamp | Outbound CRM |
| sequence_status | enum | idle / active / replied / closed |
3. Designing High-Conversion Programmatic Outbound Sequences
Programmatic outbound is not mail-merge spam. It is templated credibility—each touch references a specific signal (Product Hunt launch date, tech stack choice, pricing tier) while preserving human tone. The conversion math below governs how many prospects you need in Tier A to close one deal per quarter.
3.1 Outbound funnel mathematics
3.2 The four-touch acquisition sequence
| Touch | Day | Channel | Objective |
|---|---|---|---|
| T1 — Signal hook | 0 | Prove you researched; soft interest | |
| T2 — Value offer | 4 | Distribution or ops help angle | |
| T3 — Direct ask | 9 | Email + Twitter DM | 15-min call; mention escrow readiness |
| T4 — Breakup | 16 | Leave door open; no pressure close |
Touch 1 template (personalization tokens in braces)
Subject: {product_name} — respect the build
Hi {first_name},
I came across {product_name} via your {launch_source} launch
({launch_date}) and spent time in the product this week. The
{specific_feature} workflow is sharper than most tools in {vertical}.
I acquire and operate micro-SaaS businesses full-time—not a broker,
not a PE fund. When founders move on to the next chapter, I offer
clean exits: escrow, APA, 30-day transition, customer continuity.
No pitch deck attached. If you've ever considered a sale—or might in
the next 12 months—I'd welcome a brief conversation.
— {your_name}
{proof_link} (recent acquisition or operator profile)3.3 Deliverability and compliance guardrails
- Warm dedicated sending domain (SPF, DKIM, DMARC) — never send from primary corporate domain
- Cap at 40–60 cold emails per inbox per day; rotate 2–3 inboxes for 150/day throughput
- Include physical address and one-click unsubscribe (CAN-SPAM); honor opt-outs within 48 hours
- GDPR: legitimate interest basis for B2B founder outreach; document data source and deletion requests
- Never claim affiliation with Product Hunt, BuiltWith, or marketplaces
JavaScript sequence orchestrator (simplified)
// outbound-sequence.js — cron via GitHub Actions or Vercel Cron
const TOUCH_SCHEDULE = [0, 4, 9, 16]; // days after enrollment
async function processSequence(prospect) {
const daysSinceEnroll = daysBetween(prospect.enrolled_at, new Date());
const touchIndex = TOUCH_SCHEDULE.findIndex((d) => d === daysSinceEnroll);
if (touchIndex < 0 || prospect.last_touch >= touchIndex) return;
if (prospect.ois_score < 55 && touchIndex > 0) return; // Tier A only after T1
const template = loadTemplate(`touch_${touchIndex + 1}`, prospect);
await sendEmail({
to: prospect.founder_email,
subject: render(template.subject, prospect),
body: render(template.body, prospect),
trackOpens: false // deliverability best practice for cold
});
await db.prospects.update(prospect.id, { last_touch: touchIndex });
}Founders reply to operators who prove they used the product—not buyers who copy-paste “I acquire SaaS businesses” into 500 inboxes without naming a single feature.
4. Early-Intent Discovery Workflows Before Broker Listing
The highest-leverage window is pre-broker—when a founder has mentally decided to exit but has not signed a representation agreement. These workflows detect that window and trigger outreach before competitive bidding begins.
4.1 The 72-hour early-intent sprint
| Hour block | Action | Output |
|---|---|---|
| 0–8 | Run PH + BuiltWith batch; dedupe domains | 500–2,000 raw prospects |
| 8–16 | Health check + Stripe detection + OIS score | 80–200 Tier A/B |
| 16–24 | Enrich emails; manual review top 30 | 30 verified contacts |
| 24–48 | Product trial + note 3 specific features each | Personalization pack |
| 48–72 | Launch T1 sequence to top 30; enroll rest | Active pipeline week 1 |
4.2 Pre-broker intent signals ranked by predictive power
| Signal | Detection method | Lead time vs listing | Weight in OIS |
|---|---|---|---|
| Indie Hackers exit post | RSS + keyword alert | 0–14 days | +25 instant Tier A |
| M&A advisor LinkedIn follow | Manual / PhantomBuster | 30–90 days | +15 |
| Pricing page removed tiers | Visual diff monitor | 14–60 days | +12 |
| GitHub archive / read-only | GitHub API | 30–120 days | +10 |
| Acquire.com profile created (unlisted) | Network intel / seller DM | 7–21 days | +20 |
4.3 From reply to LOI: off-market deal process
- Discovery call (20 min): motivation, timeline, customer count, tech stack—no price anchor yet
- Data request: Stripe read-only, GA/Plausible, churn export—use our cohort analysis guide
- Indicative offer: 2.5×–3.5× ARR for off-market; adjust for churn and founder dependency
- LOI + exclusivity: 21-day exclusivity, escrow deposit, APA template from legal framework guide
- Close: Escrow.com or attorney-managed; 30-day transition per 90-day handover playbook
Off-market fair offer formula
4.4 Weekly operating rhythm for off-market hunters
| Day | Activity | Time budget |
|---|---|---|
| Monday | Scraper refresh + OIS recalculation | 2 hr |
| Tuesday | Reply triage + discovery calls | 2 hr |
| Wednesday | Product trials for new Tier A (top 10) | 1.5 hr |
| Thursday | Diligence on active LOI candidates | 3 hr |
| Friday | MyDealList feed cross-check + syndicate sync | 1 hr |
5. Integration with Listed Deal Flow: Hybrid 70/30 Sourcing Rule
Off-market hunting does not replace marketplaces—it front-runs them. Elite operators run a hybrid pipeline: 70% of closed deals from proactive outreach, 30% from listed feeds where speed and verification justify premium multiples. When an off-market prospect ghosted you lists on Acquire three months later, you arrive with prior product knowledge and a warm intro—a structural advantage over cold marketplace bidders.
Configure MyDealList alerts for domains already in your prospect database. When a tracked domain surfaces as a listing, auto-escalate to Tier S (speed LOI within 48 hours). This is the operational bridge between undervalued deal discovery and proactive founder outreach.
6. FAQ: Off-Market SaaS Sourcing
Is cold outreach to founders legal?
B2B cold email to business founders is permitted under CAN-SPAM (US) with identification, physical address, and unsubscribe. GDPR requires legitimate interest documentation for EU founders. Consult counsel for your jurisdiction and volume. Never scrape personal emails from non-business sources.
How many prospects do I need to close one deal?
With signal-rich Tier A outreach (OIS ≥ 55), expect 400–600 prospects per closed acquisition. Generic outreach requires 2,000+ and damages domain reputation. Quality of signal beats quantity of sends.
BuiltWith vs Wappalyzer vs SimilarTech?
BuiltWith has the broadest API and historical tech tracking—best for batch enrichment. Wappalyzer browser extension excels for manual one-off checks. SimilarTech offers competitive overlap views. Most operators standardize on one API and spot-check with a browser tool.
What reply rate should I expect?
8–15% reply rate on four-touch sequences with genuine product usage notes. Below 5% indicates weak personalization or deliverability problems. Above 20% suggests your list is too warm (prior relationships) or your volume is too low to measure.
Should I disclose I am talking to other founders?
Never create false urgency. Do disclose you are an active acquirer with escrow ready—that builds credibility. Multiple parallel conversations are standard; exclusivity begins at LOI, not at first email.
Comments from Pro members
Selected feedback from verified Pro subscribers. Timestamps update while you read.
- Jordan K.…
Switched to Pro mainly for the extra analyses and Reddit/X coverage. This workflow section matches how I screen listings now—saves me hours every week.
Pro
- Priya S.…
The cross-marketplace point is huge. I used to miss duplicates across sites. Premium paid for itself after one decent lead I would have skipped.
Pro
- Marcus T.…
As a Pro user I appreciate the emphasis on red flags before diligence. If you are still on Free, at least read the checklist twice before you wire funds.
Pro
- Elena R.…
I send founders here when they ask how I find sub-$10k deals. The internal link to pricing is honest—you really do need Premium or Pro if you are serious.
Pro
- Chris V.…
MyDealList + a simple spreadsheet is my stack for 2026. Dynamic feed + alerts beats refreshing five marketplaces manually. Worth upgrading from Premium to Pro if you scale volume.
Pro
Leave a Reply
Your email address will not be published.