npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@buzzlead/lookalike-finder

v0.1.0

Published

Drop your best client's domain. Get N lookalike companies with verified contacts and personalized 2-email sequences as a CSV. Free CLI from BuzzLead.

Downloads

108

Readme

Lookalike Finder

Drop one of your best client's domains. Get N lookalike companies with verified contacts and personalized 2-email sequences as a CSV. Free CLI from BuzzLead.

npm version license

The same engine that powers the free web tool — but without caps. Find 5–100 lookalikes per run, get a real decision-maker contact at each, and a 2-email sequence written for them.

npx @buzzlead/lookalike-finder \
  --seed vodacleaning.com \
  --my-site myagency.com \
  --target-title "VP Operations" \
  --count 25 \
  --out prospects.csv

In ~5–10 minutes you get a CSV with 25 verified contacts at 25 lookalike companies, each with personalized 4T (Email 1) + tight-mechanism (Email 2) copy ready to import into any sender.


What it does

Five steps, fully automated:

  1. Reads your site — Jina Reader pulls clean markdown, Claude extracts your company profile (offer, ICP, value prop, services, case studies).
  2. Finds lookalikes — DiscoLike's auto-ICP discovery surfaces N companies that match your seed client's firmographics, tech stack, and intent signals.
  3. Expands the target title — Claude generates 4–6 title variants so AI Ark search captures every flavor of the decision-maker (e.g. "VP Sales" → "Head of Sales" + "Director of Sales" + "CRO" + …).
  4. Finds a real contact per lookalike — AI Ark people search by domain + title returns the best-match decision-maker with email + LinkedIn.
  5. Writes 2 personalized emails per prospect — Claude crawls each prospect's site, builds a research brief, then generates Email 1 (4T framework, <70 words) and Email 2 (problem frame + mechanism + soft CTA, <90 words). Both peer-to-peer, no buzzwords, no em dashes.

Install

One-shot via npx (no install)

npx @buzzlead/lookalike-finder --seed yourclient.com --my-site youragency.com --target-title "VP Sales"

Or install globally

npm install -g @buzzlead/lookalike-finder
lookalike --seed yourclient.com --my-site youragency.com --target-title "VP Sales"

Or use as a library

import { runLookalike } from "@buzzlead/lookalike-finder";

const result = await runLookalike({
  seedDomain: "vodacleaning.com",
  mySiteUrl: "myagency.com",
  targetTitle: "VP Operations",
  count: 25,
  onProgress: (step) => console.log(step.kind, step.status),
});

console.log(result.results);

API keys

Three keys required. Copy .env.example to .env and fill them in.

| Key | Why | Where | |---|---|---| | ANTHROPIC_API_KEY | Company profile, research briefs, email generation | https://console.anthropic.com | | DISCOLIKE_API_KEY | Lookalike company discovery | https://discolike.com | | AIARK_API_KEY | Contact lookup at each lookalike company | https://ai-ark.com |

Optional:

  • JINA_API_KEY — faster lane on the site scrapes (anonymous works)

Cost per run

Approximate, at 25 prospects:

| Provider | Calls | ~Cost | |---|---|---| | Anthropic | 1 + 1 + 1 + 25×2 = ~53 calls (sonnet + haiku mix) | $0.20–0.60 | | DiscoLike | 1 call | varies by plan | | AI Ark | 25 lookups | ~25 credits | | Jina | 26 scrapes | ~$0.03 | | Total | | ~$0.50–1.00 + 25 AI Ark credits + DiscoLike usage |

Scales roughly linearly with --count.


CLI usage

Usage: lookalike [options]

Required:
  -s, --seed <domain>          Your best client's domain (the lookalike seed)
  -m, --my-site <url>          Your own company's URL (sender context)
  -t, --target-title <title>   Target decision-maker title at lookalikes

Optional:
  -c, --count <n>              Lookalike count (5-100). Default: 25
  -o, --out <path>             Output CSV path. Default: ./prospects.csv
      --silent                 Suppress progress output
      --json                   Print full result as JSON instead of writing CSV
  -h, --help                   Display help
  -V, --version                Display version

Examples

Standard 25-prospect run:

lookalike --seed vodacleaning.com --my-site myagency.com --target-title "VP Operations"

Smaller, faster run:

lookalike --seed stripe.com --my-site myagency.com --target-title "Head of Payments" --count 10

Pipe JSON into another tool:

lookalike -s yourclient.com -m yoursite.com -t "VP Sales" --json | jq '.results[].email1'

CSV output

Columns:

first_name, last_name, email, job_title, company, domain, linkedin_url,
research_summary, email_1, email_2, skipped, skip_reason

Every text field is double-quoted. Newlines inside cells are escaped as \n. Skipped rows (no contact found or scrape failed) include a reason so you can audit.


Data-coverage notes

A few real things to know about this pipeline:

  1. Seed quality drives output quality. DiscoLike's auto_icp_text mode discovers lookalikes by reading the seed domain's site copy. A well-defined seed (mid-market SaaS with clear positioning) returns better lookalikes than a vague one.

  2. AI Ark coverage skews to established companies. For 100+ employee companies, AI Ark almost always has decision-maker records. For tiny startups (<10 employees) it often doesn't. If your lookalike list is mostly indie SaaS, expect skipped rows.

  3. Emails come from AI Ark's people search. They are not separately verified by the CLI. If you need bounce-verified emails for high-volume sends, pipe the output through your verification provider.

If you see a high skip rate, try a more recognizable seed company. The script always shows you which lookalikes were skipped and why.


How it differs from the web tool

| | Web tool | CLI | |---|---|---| | Lookalike cap | 25 | 5–100 per run | | Email gate | Required | None | | Auth | Shared keys | Your keys | | Cost | Free | Your API spend | | Runtime | ~5 min for 25 | ~5–10 min for 25 |

The web tool is a taste. The CLI is the working tool.


Library API

import {
  runLookalike,                  // end-to-end pipeline
  scrapeWebsite,                  // step 1 helper
  findLookalikes,                 // step 2 (DiscoLike)
  findContactAtCompany,           // step 4 (AI Ark)
  consolidateCompanyProfile,      // sender profile from your site
  consolidateProspectProfile,     // research brief per prospect
  expandTitles,                   // title broadening
  generateEmail1,                 // 4T framework
  generateEmail2,                 // problem-frame follow-up
  buildCsv,                       // CSV output
} from "@buzzlead/lookalike-finder";

Each step is a pure async function — swap one out, plug into your own pipeline, run individually for debugging.


Want this at scale?

Lookalike Finder is a single-shot tool. It runs once, gives you a list, you take it from there.

BuzzLead the agency runs this kind of work continuously — with deliverability infrastructure, reply handling, and meetings-booked SLAs. 10M+ cold emails sent. $8M+ in client revenue.

If you want the version with humans behind it, talk to us at buzzlead.io.


License

MIT. Use it however you want.