Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node.js Website Email Extractor

Extract every public email address behind any website, domain, or company in Node.js — name, job title, department, verification status, and the organization's metadata. Powered by the Tomba Domain Search API.

Node.js Website Email Extractor — powered by Tomba Domain Search

A single, dependency-light Node.js file that turns a domain into a full contact list: every person behind the company, with their position, department, seniority, LinkedIn, country, and a verification status — plus the organization's industry, size, location, and email pattern. One domain in, a clean list out.

node index.js stripe.com

Why this one

Most "email extractors" scrape a single page and give you unverified guesses. This Node.js tool queries Tomba's domain search index, so you get the whole company — already de-duplicated, scored, and verified.

  • Three ways in — by website (stripe.com, full URLs are normalized), by bare domain, or by company name (--company "Stripe").
  • Full detail — name, position, department, seniority, type (personal/generic), 0–100 score, verification status, LinkedIn, Twitter, phone presence, country.
  • Org metadata — industry, size, founding year, location, social links, revenue band, detected email pattern.
  • Filters — --type personal|generic, --department executive|sales|it|finance|…, --country US.
  • Pagination — --limit 5|10|50|100, --page N.
  • Pipe-friendly — positional args or stdin; JSON (default) or CSV to stdout, logs to stderr.
  • .env autoload — walks up to the nearest .env; an exported TOMBA_KEY always wins.

HTTP uses Node's built-in fetch (zero dependencies) — so there's nothing extra to install beyond Node.js 18+.

Quickstart

git clone https://github.com/tomba-io/website-email-extractor-nodejs.git
cd website-email-extractor-nodejs
cp .env.example .env      # paste your Tomba key + secret

Get a free key (50 searches/month, no card) at app.tomba.io.

Run it

# by website / domain
node index.js stripe.com

# by company name when you don't have the domain
node index.js --company "Stripe"

# only decision-makers, as CSV
node index.js stripe.com --type personal --department executive --csv

# a whole list on stdin
cat examples/domains.txt | node index.js

Output

A top-level JSON array, one object per target — { query, organization, emails[], meta }. Use --csv for one row per email. See sample_output.json for a real response.

The one API call, raw

curl -sG 'https://api.tomba.io/v1/domain-search' \
     --data-urlencode 'domain=stripe.com' \
     --data-urlencode 'limit=10' \
     -H "X-Tomba-Key: $TOMBA_KEY" \
     -H "X-Tomba-Secret: $TOMBA_SECRET" | jq .

The examples/curl/ directory has one runnable script per feature (search by domain, by company, filter by type/department, paginate) with a real captured response next to each.

More languages

Same extractor, one repo per language — Python · TypeScript · Go · PHP · Ruby · Java · Rust · Perl · C · C++ · Bash

License

MIT — see LICENSE. Use it for consented, lawful outreach and research.

About

Node.js CLI to extract every public email behind a website, domain, or company. Powered by the Tomba Domain Search API.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages