Switch from Findymail to Tomba for better pricing, more features, and superior data enrichment.
Why Switch from Findymail to Tomba?
| Feature | Findymail | Tomba |
|---|
| Database Size | 450M emails | 500M+ emails |
| Accuracy | 90-95% | 98%+ |
| Email Verification | ✅ Included | ✅ FREE included |
| Data Attributes | 12 fields | 20+ fields |
| Waterfall Enrichment | ✅ | API-based alternative |
| Author Finder | ❌ | ✅ |
| Phone Finder | ⚠️ Limited | ✅ Finder & Validator |
| Technology Detection | ❌ | ✅ 6000+ techs |
| Similar Companies | ❌ | ✅ |
| LinkedIn Finder | ✅ | ✅ Better |
| Chrome Extension | ✅ | ✅ Enhanced |
| Google Sheets | ❌ | ✅ |
| Excel Integration | ❌ | ✅ Native add-in |
| Airtable Extension | ❌ | ✅ Native |
| MCP/AI Integration | ❌ | ✅ Claude, ChatGPT |
| Pricing (10k searches) | $199/mo | $119/mo (40% savings) |
Migration Steps
Step 1: Get Tomba Credentials
- Sign up at app.tomba.io
- Get your API Key and Secret Key
Step 2: Update API Endpoints
Findymail:
POST https://api.findymail.com/v1/search/name
Tomba:
GET https://api.tomba.io/v1/email-finder
Step 3: Update Authentication
Findymail:
{
headers: {
'Authorization': `Bearer ${FINDYMAIL_KEY}`
}
}
Tomba:
{
headers: {
'X-Tomba-Key': TOMBA_KEY,
'X-Tomba-Secret': TOMBA_SECRET
}
}
Code Examples
Node.js
Before (Findymail):
const axios = require("axios");
async function findEmail(domain, firstName, lastName) {
const response = await axios.post(
"https://api.findymail.com/v1/search/name",
{
domain: domain,
first_name: firstName,
last_name: lastName,
},
{
headers: { Authorization: `Bearer ${process.env.FINDYMAIL_KEY}` },
},
);
return response.data;
}
After (Tomba):
const axios = require("axios");
async function findEmail(domain, firstName, lastName) {
const response = await axios.get("https://api.tomba.io/v1/email-finder", {
params: {
domain: domain,
first_name: firstName,
last_name: lastName,
},
headers: {
"X-Tomba-Key": process.env.TOMBA_KEY,
"X-Tomba-Secret": process.env.TOMBA_SECRET,
},
});
const data = response.data.data;
console.log(`Email: ${data.email}`);
console.log(`Verified: ${data.verification.status}`);
console.log(`Score: ${data.score}`);
console.log(`Phone: ${data.phone_number}`);
console.log(`LinkedIn: ${data.linkedin}`);
console.log(`Company Size: ${data.company.size}`);
return data;
}
Using Tomba SDK:
const Tomba = require("tomba");
const client = new Tomba.Client()
.setKey(process.env.TOMBA_KEY)
.setSecret(process.env.TOMBA_SECRET);
const finder = new Tomba.Finder(client);
async function findEmail(domain, firstName, lastName) {
const result = await finder.emailFinder({
domain: domain,
first_name: firstName,
last_name: lastName,
});
return result.data;
}
Python
Before (Findymail):
import requests
def find_email(domain, first_name, last_name):
response = requests.post(
'https://api.findymail.com/v1/search/name',
json={
'domain': domain,
'first_name': first_name,
'last_name': last_name
},
headers={'Authorization': f'Bearer {os.environ["FINDYMAIL_KEY"]}'}
)
return response.json()
After (Tomba):
import requests
def find_email(domain, first_name, last_name):
response = requests.get(
'https://api.tomba.io/v1/email-finder',
params={
'domain': domain,
'first_name': first_name,
'last_name': last_name
},
headers={
'X-Tomba-Key': os.environ['TOMBA_KEY'],
'X-Tomba-Secret': os.environ['TOMBA_SECRET']
}
)
data = response.json()['data']
print(f"Email: {data['email']}")
print(f"Verified: {data['verification']['status']}")
print(f"Phone: {data.get('phone_number', 'N/A')}")
return data
Using Tomba SDK:
from tomba import Client, Finder
client = Client()
client.set_key(os.environ['TOMBA_KEY'])
client.set_secret(os.environ['TOMBA_SECRET'])
finder = Finder(client)
def find_email(domain, first_name, last_name):
result = finder.email_finder(
domain=domain,
first_name=first_name,
last_name=last_name
)
return result['data']
Waterfall Enrichment Alternative
Findymail's waterfall enrichment can be replicated with Tomba's API:
const axios = require("axios");
async function waterfallEnrichment(domain, firstName, lastName, linkedinUrl) {
const headers = {
"X-Tomba-Key": process.env.TOMBA_KEY,
"X-Tomba-Secret": process.env.TOMBA_SECRET,
};
// Try 1: Email Finder
try {
const emailResult = await axios.get(
"https://api.tomba.io/v1/email-finder",
{
params: { domain, first_name: firstName, last_name: lastName },
headers,
},
);
if (emailResult.data.data.email) {
return enrichData(emailResult.data.data);
}
} catch (e) {}
// Try 2: LinkedIn Finder
if (linkedinUrl) {
try {
const linkedinResult = await axios.get(
"https://api.tomba.io/v1/linkedin",
{
params: { url: linkedinUrl },
headers,
},
);
if (linkedinResult.data.data.email) {
return enrichData(linkedinResult.data.data);
}
} catch (e) {}
}
// Try 3: Domain Search (find similar contacts)
try {
const domainResult = await axios.get(
"https://api.tomba.io/v1/domain-search",
{
params: { domain },
headers,
},
);
// Find best match
const match = findBestMatch(
domainResult.data.data.emails,
firstName,
lastName,
);
if (match) {
return enrichData(match);
}
} catch (e) {}
return null;
}
function enrichData(data) {
return {
email: data.email,
verified: data.verification?.status === "valid",
phone: data.phone_number,
linkedin: data.linkedin,
position: data.position,
company: data.company,
score: data.score,
};
}
Cost Comparison
10,000 Emails/Month
Findymail:
- Growth Plan: $199/month (10,000 credits)
- Verification: Included
- Total: $199/month
Tomba:
- Growth Plan: $119/month (10,000 searches)
- Verification: FREE included
- Total: $119/month
💰 Savings: $80/month = $960/year (40% cheaper!)
50,000 Emails/Month
Findymail:
- Scale Plan: $999/month (50,000 credits)
- Total: $999/month
Tomba:
- Enterprise Plan: $599/month (50,000 searches)
- Total: $599/month
💰 Savings: $400/month = $4,800/year (40% cheaper!)
Unique Tomba Features
Author Finder
// Find email from article URL
const author = await axios.get("https://api.tomba.io/v1/author-finder", {
params: { url: "https://example.com/blog/article" },
headers: { "X-Tomba-Key": KEY, "X-Tomba-Secret": SECRET },
});
console.log(`Author: ${author.data.data.email}`);
Technology Detection
// Detect tech stack for targeting
const tech = await axios.get("https://api.tomba.io/v1/technology-finder", {
params: { domain: "stripe.com" },
headers: { "X-Tomba-Key": KEY, "X-Tomba-Secret": SECRET },
});
console.log(`Technologies: ${tech.data.data.technologies.length}`);
// Returns: React, Node.js, AWS, etc.
Similar Companies
// Find lookalike companies
const similar = await axios.get("https://api.tomba.io/v1/similar-finder", {
params: { domain: "stripe.com" },
headers: { "X-Tomba-Key": KEY, "X-Tomba-Secret": SECRET },
});
console.log(`Similar companies: ${similar.data.data.companies.length}`);
Enhanced Phone Finder
// Find verified phone numbers
const phone = await axios.get("https://api.tomba.io/v1/phone-finder", {
params: {
full_name: "John Doe",
domain: "stripe.com",
},
headers: { "X-Tomba-Key": KEY, "X-Tomba-Secret": SECRET },
});
console.log(`Phone: ${phone.data.data.phone_number}`);
Bulk Operations
// Bulk email finding
const axios = require("axios");
async function bulkFind(contacts) {
const response = await axios.post(
"https://api.tomba.io/v1/bulk/email-finder",
{ contacts: contacts },
{
headers: {
"X-Tomba-Key": process.env.TOMBA_KEY,
"X-Tomba-Secret": process.env.TOMBA_SECRET,
},
},
);
const taskId = response.data.task_id;
// Poll for results or use webhook
return taskId;
}
// Process thousands
const contacts = [
{ domain: "stripe.com", first_name: "John", last_name: "Doe" },
{ domain: "shopify.com", first_name: "Jane", last_name: "Smith" },
// ... more
];
const taskId = await bulkFind(contacts);
Migration Checklist
Support
Need help? Contact us for migration assistance.
FAQ
Q: What about waterfall enrichment?
A: Replicate it using Tomba's Email Finder → LinkedIn Finder → Domain Search cascade (see code example above).
Q: Will I save money?
A: Yes! Tomba is 40% cheaper than Findymail at all volume tiers.
Q: Is accuracy comparable?
A: Tomba's accuracy is higher (98%+ vs 90-95%) thanks to our larger database and built-in verification.
Q: Can I test before migrating?
A: Yes! Sign up for a free account with 25 searches to compare results.
Q: How long does migration take?
A: Most teams complete migration in 1-2 days with our code examples and SDK support.
Last modified on