Find Email by Name
Setup
Read your credentials from ~/.gooseworks/credentials.json:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login
All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
Find a person's email address when you know their name and company/domain. Essential for sales outreach, recruiting, and professional networking.
When to Use
- User needs to contact someone at a company
- User asks "what's [person]'s email at [company]?"
- User wants to reach out to a specific person
- Sales prospecting or lead generation
- Recruiting outreach
How It Works
Uses Hunter or Tomba APIs to find the most likely email address for a person based on their name and company domain.
Usage
Find Email with Hunter
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"hunter","path":"/v2/email-finder","query":{"domain":"stripe.com","first_name":"Patrick","last_name":"Collison"}}'
Find Email with Tomba
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"tomba","path":"/v1/email-finder","query":{"domain":"intercom.com","company":"Intercom","first_name":"Eoghan","last_name":"McCabe"}}'
Find from LinkedIn Profile
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"tomba","path":"/v1/linkedin","query":{"url":"https://linkedin.com/in/johndoe"}}'
Parameters
Hunter
- domain (required) - Company domain (e.g., stripe.com)
- first_name (required) - Person's first name
- last_name (required) - Person's last name
- company (optional) - Company name (alternative to domain)
Tomba
- domain (required) - Company domain
- company (required) - Company name (3-75 chars)
- first_name / last_name or full_name - Person's name
- enrich_mobile (optional) - Set to
trueto include phone number
Response
Hunter Response
Returns data object:
- email (string) - The found email address
- score (integer) - Confidence 0-100 (higher = more likely correct)
- domain (string) - Company domain searched
- accept_all (boolean) - Whether server accepts any address
- company (string) - Company name
- position (string|null) - Job title if known
- twitter (string|null) - Twitter handle if known
- linkedin_url (string|null) - LinkedIn profile URL if known
- phone_number (string|null) - Phone if known
- sources (array) - Web pages where this email appeared
- verification (object) -
dateandstatus(valid/invalid/unknown)
Tomba Response
Returns data.email object with email address and confidence data. Also includes web sources where the email was found.
Examples
User: "Find the email for Sarah Chen at Notion"
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"hunter","path":"/v2/email-finder","query":{"domain":"notion.so","first_name":"Sarah","last_name":"Chen"}}'
User: "I need to contact John Smith who works at Google"
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"tomba","path":"/v1/email-finder","query":{"domain":"google.com","company":"Google","first_name":"John","last_name":"Smith"}}'
Error Handling
- 400 - Missing required parameters (Hunter needs
domain+first_name+last_name) - 422 - Tomba validation error — ensure both
domainandcompanyare provided - 429 - Rate limit exceeded — wait and retry
- Score of 0 means no match found — try alternate name spellings or a different API
- If Hunter returns
accept_all: true, the email format may be correct but the specific mailbox can't be confirmed
Tips
- Use the company's main domain (not subdomains)
- Try both Hunter and Tomba if one doesn't find results
- Check confidence scores - high confidence means the email is likely correct
- Always verify important emails before sending cold outreach
- For LinkedIn profiles, Tomba's LinkedIn finder is very effective