Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Discover and verify professional emails using names + domains
| Date | Stars |
|---|---|
| 2026-07-24 | 414 |
| 2026-07-25 | 414 |
| 2026-07-28 | 415 |
| 2026-07-30 | 415 |
| 2026-08-06 | 415 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Email Sleuth
A Rust application to discover and verify professional email addresses based on contact names and company websites. This tool helps you find valid email addresses for business contacts when you have their name and company domain.
## Installation and Setup
### One-Line Unified Installation
Our unified installer handles everything you need:
```bash
curl -fsSL https://raw.githubusercontent.com/buyukakyuz/email-sleuth/main/setup.sh | bash
```
This will:
1. Install the Email Sleuth binary
2. Install ChromeDriver for enhanced verification (if desired)
3. Set up service management scripts
4. Create a default configuration
### Verify Installation
```bash
# Check if email-sleuth is properly installed
es --version
```
### Alternative Installation Methods
#### Manual Binary Download (All Platforms)
If you prefer not to use the script, or are on Windows:
1. Go to the [**Releases page**](https://github.com/buyukakyuz/email-sleuth/releases).
2. Find the latest release and locate the correct archive under "Assets" for your Operating System and Architecture.
3. Download and extract the archive.
4. Move the extracted `email-sleuth` (or `email-sleuth.exe` on Windows) executable to a directory in your system's `PATH`.
5. **(Linux/macOS only)** Make the binary executable: `chmod +x /path/to/email-sleuth`.
6. Verify by opening a **new** terminal and running: `email-sleuth --version`.
#### Build from Source (Developers)
Requires the Rust toolchain (>= 1.70 recommended).
```bash
# 1. Install Rust: https://www.rust-lang.org/tools/install
# 2. Clone the repository
git clone https://github.com/buyukakyuz/email-sleuth.git
cd email-sleuth
# 3. Build the optimized release binary
cargo build --release
# 4. The executable is at target/release/email-sleuth (or .exe)
# Copy it to your PATH
```
## Usage
### Simple Single Contact Lookup
```bash
# Basic search (SMTP verification only)
es "John Doe" example.com
# Enhanced search (using API checks)
es -m enhanced "John Doe" example.com
# Comprehensive search (using all verification methods)
es -m comprehensive "John Doe" example.com
```
### Batch Processing
```bash
# Process all contacts in input.json with basic verification
es -i contacts.json -o results.json
# Process with comprehensive verification
es -m comprehensive -i contacts.json -o results.json
```
### Managing ChromeDriver Service
```bash
# Check status
es --service status
# Start the service
es --service start
# Stop the service
es --service stop
# Restart the service
es --service restart
```
## Verification Modes
Email Sleuth offers three verification modes to balance speed, accuracy, and resource usage:
| Mode | Description | Methods Used | Best For |
|------|-------------|--------------|----------|
| **basic** | SMTP verification only | DNS, SMTP | Quick checks, most reliable when port 25 is open |
| **enhanced** | Adds API-based checks | DNS, SMTP, API | Better accuracy, works when SMTP is partially blocked |
| **comprehensive** | Full verification suite | DNS, SMTP, API, Headless Browser | Highest accuracy, especially for major email providers |
## Input File Format (`input.json`) for Batch Mode
A JSON array of objects. Each object needs name fields (`first_name` and `last_name`) and a `domain`.
```json
[
{
"first_name": "John",
"last_name": "Smith",
"domain": "example.com"
},
{
"first_name": "Jane",
"last_name": "Doe",
"domain": "acme.com"
}
]
```
*(See `examples/example-contacts.json` for a more detailed example)*
## Output Format (`results.json`)
The tool produces a detailed JSON output for each contact processed. In CLI mode with `--stdout true`, a simplified summary is printed. When outputting to a file, the full structure is saved.
```json
[
{
"contact_input": { /* Original input contact data */ },
"email": "[email protected]", // Best guess found (or null)
"confidence_score": 8, // Confidence (0-10) for 'email'
"fExcerpt of 5,690 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:751a20d248afcbec, topic:web-scraping