Skip to content

Repository files navigation

Email Pipeline

Autonomous 24/7 email enrichment engine. Turns (firstName, lastName, domain) into verified B2B emails at scale.

How it works

  1. Feed — Drop a CSV in /data/inbox/ or let automated feeders pull from Crunchbase, GitHub, state registries
  2. Permute — Generate 8-20 email variations per contact, ordered by probability
  3. Verify — Check each variation via mailtester.ninja API + M365 GetCredentialType (free)
  4. Cache — Learn domain patterns. stripe.com uses {fn}@? Next Stripe contact = 1 API call
  5. Score — Confidence score 0-100. A+ (verified), A (likely), B (probable), C (catch-all), D (not found)
  6. Deliver — REST API, CSV export, webhooks to your CRM/outreach tool

Quick start

cp .env.example .env    # add your mailtester API key
npm install
npm run migrate
npm run dev             # starts worker + API

Import contacts

# Drop a CSV with columns: firstName, lastName, domain
cp my-contacts.csv data/inbox/

# Or use the API
curl -X POST http://localhost:3000/api/contacts/enrich \
  -H "Authorization: Bearer $API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"firstName":"John","lastName":"Smith","domain":"stripe.com"}'

Architecture

See ARCHITECTURE.md for full system design.

Stack

Node.js 22 · TypeScript · BullMQ · PostgreSQL · Redis · Hono · PM2

Cost

~48€/month for infrastructure + API. Produces ~150K-190K verified emails/month.

About

Autonomous 24/7 email enrichment engine. Turns (firstName, lastName, domain) into verified B2B emails at scale.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages