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.

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