contact-finder
Find professional emails and contacts from a name + company/domain. Combines SerpAPI (Google Search) and OpenAI GPT-4o-mini to search, extract, and validate contacts.
Usage
python3 scripts/find_contacts.py --company "Acme Corp" --domain "acme.com" --name "John Doe"
python3 scripts/find_contacts.py --company "Stripe" --domain "stripe.com"
python3 scripts/find_contacts.py --company "OpenAI" --domain "openai.com" --name "Sam Altman" --output json
Options
| Flag | Description | Required |
|---|---|---|
--company | Company name | ✅ |
--domain | Email domain (e.g. acme.com) | ✅ |
--name | Full name to search (optional) | ❌ |
--output | Output format: table (default) or json | ❌ |
Output
Returns a list of contacts with:
- email — Found or guessed email address
- linkedin — LinkedIn profile URL (if found)
- title — Job title (if found)
- confidence —
high/medium/low
Setup
pip3 install openai requests
Set credentials in environment or edit scripts/find_contacts.py:
SERPAPI_KEYOPENAI_API_KEY
How It Works
- Search Google via SerpAPI:
"name" site:domain email, LinkedIn profiles - Generate common email format guesses (firstname@, f.lastname@, firstname.lastname@...)
- Use GPT-4o-mini to extract/validate emails from search snippets
- Score confidence based on source (direct find = high, pattern guess = low/medium)
References
See references/patterns.md for email pattern documentation and sources.