Project index
ResearchpublicOSINT & Email Discovery

OSINT email discovery CLI tool

Email Harvester

Email Harvester automates the discovery of publicly visible email addresses for category-relevant businesses. It chains SerpApi → Bing → DuckDuckGo as fallback search backends, crawls candidate pages with robots.txt respect, follows contact/about links, extracts mailto: addresses, and optionally verifies them via Hunter.io and MX record lookups. Every discovered address is scored High/Medium/Low by quality criteria, and results are written to a structured CSV. The project ships as a modular Python package with linting, tests, GitHub Actions CI, and a backward-compatible legacy entrypoint.

Email Harvester CLI output showing multi-backend search, robots.txt-aware page scanning progress bar, and final tally of 71 unique emails written to results.csv.

Problem

Growth teams and engineers needed a reproducible, auditable lead-discovery workflow that respects ethical crawling constraints — existing tools were either aggressive scrapers with no rate limiting or opaque SaaS black boxes.

Solution

A fully open-source Python CLI with a polite fallback search chain, configurable worker concurrency, robots.txt gate, optional Hunter.io enrichment, MX-based validation, and a full CI pipeline — giving teams a transparent, testable baseline for outbound lead discovery.

Outcome

A portfolio-grade OSINT tool demonstrating Python package architecture, multi-provider API integration, ethical crawling design, and CI-tested tooling — ready for authorized lead generation and data research workflows.

Standout Features

  • Multi-backend search chain: SerpApi → Bing → DuckDuckGo with automatic fallback
  • Polite crawling with robots.txt awareness, configurable workers, and progress tracking
  • Optional Hunter.io domain search and verification with MX-based mail validation
  • Deterministic quality scoring (High / Medium / Low) with CSV output and full CI pipeline

Stack & Signals

  • Python 3.10–3.13
  • SerpApi
  • Hunter.io
  • DuckDuckGo
  • GitHub Actions CI

Canonical destination

github.com/SagarBiswas-MultiHAT/Email-Harvester

View on GitHub