← Builds
Competitors

Turn a competitor's case studies into leads

A competitor lists its clients as case studies on its own website. Every company on that page already bought from the category. We turned six pages of marketing copy into 32 CRM leads, 20 of them with a verified email and a draft.

Works ifYour competitors publish case studies or logo walls.

Built for · B2B SaaS · Europe
TypeScriptRapidAPILushaApolloPerplexityHubSpot
Get the prompt for your coding agent

The system

~/builds/competitor-customer-list
01Source

Competitor site

Case-study pages

6 pages of client cards, names hidden in titles.

TypeScript
39 titles
11 regex patternsnames out of sentences
02Resolve

Match + dedup

One record per company

Two spellings of the same company caught.

33 bridged
03Enrich

Contact

Email waterfall

Lusha 7Apollo 12SMTP 1
LushaApollo
20 of 27

Context

Company research

What they did in the category, sourced.

Perplexity
32 notes
04Activate

CRM

Lead + context note, tagged by source

HubSpot
32 leads
Leads that already bought from the category.

The signal

A company is featured as a customer on a competitor's website.

Why it predicts a purchase

They have budget for the category, a proven buying process and a vendor you can compare against. It is the warmest outside-in list there is.

How it works

01

Read the real HTML

The first run found zero companies because it assumed heading tags. The page used RDF title spans. Open the source before you write the parser.

02

Pull names out of prose

Case titles never list the company cleanly. Eleven patterns cover colon splits, possessives, “how we helped X”, “together with X” and more, with 14 real titles as the test spec.

03

Three providers and a probe

Lusha found 7 emails and 0 of the next 21. Apollo found 12 more. For the rest, generate the common patterns for the domain and verify with an SMTP handshake. That found 1 more and ruled out 7.

04

Deliver it where the rep works

Each company lands in the CRM with a researched context note, tagged with the competitor as the source, and a draft on the client's own template where a verified email was found.

Build notes

  • Case sensitivity is load-bearing. The capital-letter check is how the parser tells a name from an ordinary word, so the case-insensitive flag breaks it.
  • An unverified pattern email from one provider pointed to a completely different organisation. Only keep verified addresses.
  • The first version ran on a job orchestrator. For a pipeline that runs by hand, plain async scripts were simpler, so it came off again.

Questions

Is it OK to use a competitor's public customer list?

It is public information. Use it to know who already buys the category, and lead with a comparison the prospect can check. Never say you scraped the page.

What if the company names are hidden in the titles?

Parse them out. Here eleven patterns covered colon splits, possessives and phrases like “how we helped X”, tested against real titles.

More builds

All builds →
Competitors

Reach people engaging with competitor posts

Your buyers follow competitors or category voices on LinkedIn.

Open→
Competitors

Find out which competitor tool they run

You replace a tool your buyers already run.

Open→
Public data

Detect 163 B2B tools from a company's website and DNS

Your product replaces, integrates with or sells to users of specific tools.

Open→

The next step

Let's get started.