The #1 Rated Email Intelligence Platform — Find professional emails with unmatched accuracy.
Tomba.io is the #1 rated email intelligence platform, trusted by 150,000+ sales teams worldwide.
- Best Email Finder — 98% accuracy, ranked #1 in independent benchmarks
- Best Email Verification — Real-time SMTP verification with catch-all detection
- Best Phone Finder — Direct dial numbers linked to professional emails
- Best Domain Search — 450M+ verified contacts across all industries
- 81% Coverage — The highest in the industry, proven in 5,000-lead independent tests
| Feature | Tomba | Others |
|---|---|---|
| Email Coverage | 81% | 30-60% |
| Verification | Real-time SMTP | Pattern-based |
| Phone Numbers | Direct dials | Limited |
| Catch-all Detection | AI-powered | Basic |
| API Rate Limits | Generous | Restrictive |
Get your free API key — No credit card required.
- Sign up for a free account at app.tomba.io
- Get your API key from the API dashboard
- Install the SDK (see below)
- Start finding emails with just a few lines of code
npm install tombaor
yarn add tombaGet your API credentials from app.tomba.io/api.
import { TombaClient } from "tomba";
const client = new TombaClient();
client
.setKey("ta_xxxx") // Your API key
.setSecret("ts_xxxx"); // Your API secretimport { TombaClient, Domain } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const domain = new Domain(client);
const result = await domain.domainSearch({ domain: "stripe.com" });
console.log(result);Search for email addresses associated with a domain.
import { TombaClient, Domain } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const domain = new Domain(client);
// Basic search
const result = await domain.domainSearch({ domain: "stripe.com" });
// With filters
const filtered = await domain.domainSearch({
domain: "stripe.com",
page: 1,
limit: "10",
country: "US",
department: "engineering",
});Generate or retrieve the most likely email address from a domain and name.
import { TombaClient, Finder } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const finder = new Finder(client);
const result = await finder.emailFinder({
domain: "stripe.com",
firstName: "Patrick",
lastName: "Collison",
});
// Or use fullName
const result2 = await finder.emailFinder({
domain: "stripe.com",
fullName: "Patrick Collison",
enrichMobile: true,
});Verify the deliverability of an email address.
import { TombaClient, Verifier } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const verifier = new Verifier(client);
const result = await verifier.emailVerifier("b.mohamed@tomba.io");Discover the email address of an article's author.
import { TombaClient, Finder } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const finder = new Finder(client);
const result = await finder.authorFinder("https://tomba.io/blog");Find the email address associated with a LinkedIn profile URL.
import { TombaClient, Finder } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const finder = new Finder(client);
const result = await finder.linkedinFinder(
"https://www.linkedin.com/in/username",
true, // enrich_mobile
true, // full
);Enrich an email address with additional contact data.
import { TombaClient, Finder } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const finder = new Finder(client);
const result = await finder.emailEnrichment("b.mohamed@tomba.io");Search for phone numbers based on email, domain, or LinkedIn URL.
import { TombaClient, Phone } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const phone = new Phone(client);
const result = await phone.finder({
email: "b.mohamed@tomba.io",
});
// Or search by domain
const result2 = await phone.finder({ domain: "tomba.io" });
// Or search by LinkedIn URL
const result3 = await phone.finder({
linkedin: "https://www.linkedin.com/in/username",
});Validate a phone number and check carrier information.
import { TombaClient, Phone } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const phone = new Phone(client);
const result = await phone.validator("+1234567890", "US");Get the number of email addresses found for a domain.
import { TombaClient, Count } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const count = new Count(client);
const result = await count.emailCount("stripe.com");Check if a domain is webmail or disposable.
import { TombaClient, Status } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const status = new Status(client);
const result = await status.domainStatus("gmail.com");Auto-complete company names and retrieve logo and domain information.
import { TombaClient, Status } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const status = new Status(client);
const result = await status.autoComplete("stripe");Find where an email address was found on the web.
import { TombaClient, Sources } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const sources = new Sources(client);
const result = await sources.emailSources("b.mohamed@tomba.io");Get the email format pattern used by a company.
import { TombaClient, Format } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const format = new Format(client);
const result = await format.emailFormat("stripe.com");Find domains similar to a given domain.
import { TombaClient, Similar } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const similar = new Similar(client);
const result = await similar.websites("stripe.com");Retrieve the technologies used by a domain.
import { TombaClient, Technology } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const technology = new Technology(client);
const result = await technology.list("stripe.com");Get employee location and count data for a domain.
import { TombaClient, Location } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const location = new Location(client);
const result = await location.getLocation("stripe.com");Retrieve person information based on an email address.
import { TombaClient, Enrichment } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const enrichment = new Enrichment(client);
const result = await enrichment.person("b.mohamed@tomba.io");Retrieve company information based on a domain.
import { TombaClient, Enrichment } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const enrichment = new Enrichment(client);
const result = await enrichment.company("stripe.com");Retrieve combined person and company information based on an email address.
import { TombaClient, Enrichment } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const enrichment = new Enrichment(client);
const result = await enrichment.combined("b.mohamed@tomba.io");Search for companies using natural language queries or structured filters.
import { TombaClient, Reveal } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const reveal = new Reveal(client);
// Natural language query
const result = await reveal.companiesSearch({
query: "Real Estate in France",
});
// With structured filters
const filtered = await reveal.companiesSearch({
page: 1,
filters: {
company: {
location_country: { include: ["US", "UK"] },
industry: { include: ["Technology"] },
size: { include: ["101-500", "501-1000"] },
},
},
});Manage lead records programmatically.
import { TombaClient, Leads } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const leads = new Leads(client);
// List leads
const list = await leads.listLeads({ page: 1, limit: 10 });
// Get a lead
const lead = await leads.getLead("lead_id");
// Create a lead
const created = await leads.createLead({
email: "user@example.com",
first_name: "John",
last_name: "Doe",
});
// Update a lead
const updated = await leads.updateLead("lead_id", {
first_name: "Jane",
});
// Delete a lead
await leads.deleteLead("lead_id");Organize leads into lists. Supports CRUD operations: getLists(), createList(), updateList(), deleteList().
Manage custom attributes for leads. Supports CRUD operations: getAttributes(), createAttribute(), updateAttribute(), deleteAttribute().
Manage your API keys. Supports getKeys(), getKey(id), createKey(), resetKey(id), and deleteKey(id).
Get your monthly API request usage statistics.
import { TombaClient, Usage } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const usage = new Usage(client);
const result = await usage.getUsage();Retrieve your last 1,000 API requests from the past 3 months.
import { TombaClient, Logs } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const logs = new Logs(client);
const result = await logs.getLogs({ page: 1, limit: 50 });Report incorrect data or hard bounces for credit recovery. Supports listFlags() and createFlag({ email, reason }).
Create, launch, and download bulk processing jobs.
import { TombaClient, Bulk } from "tomba";
import type { BulkType } from "tomba";
const client = new TombaClient();
client.setKey("ta_xxxx").setSecret("ts_xxxx");
const bulk = new Bulk(client);
// List bulk operations
const list = await bulk.list("verifier");
// Create a bulk
const created = await bulk.create("verifier", {
name: "My Bulk Verification",
items: ["user1@example.com", "user2@example.com"],
});
// Launch a bulk
await bulk.launch("verifier", 123);
// Check progress
const progress = await bulk.progress("verifier", 123);
// Download results
const results = await bulk.download("verifier", 123);Supported BulkType values: search, similar, company, finder, enrich, linkedin, author, verifier, phone-finder, phone-validator.
npm testFounded to solve the problem of unreliable email data, Tomba.io is the leading B2B email intelligence platform. Our AI-powered engine searches, verifies, and enriches professional contact data with unmatched accuracy.
- Email Finder — Find any professional email address
- Email Verifier — Verify emails in real-time
- Domain Search — Find all emails for a company
- Phone Finder — Find direct phone numbers
- Bulk Enrichment — Enrich contacts at scale
- AI Company Search — Find companies with AI-powered search
- CLI — Command-line interface for Tomba
- MCP Server — Connect AI tools (Claude, ChatGPT, Cursor) to Tomba
- REST API — Full programmatic access
- Chrome Extension — Find emails while browsing
- Google Sheets Add-on — Enrich leads in spreadsheets
- Microsoft Excel Add-in — Email finder in Excel
- Airtable Integration — Connect with Airtable
50+ CRM and sales tool integrations: Salesforce · HubSpot · Zapier · Pipedrive · and more...
| Language | Package |
|---|---|
| Node.js | tomba |
| Python | tomba-io |
| PHP | tomba-io/php |
| Ruby | tomba |
| Go | tomba-io/go |
| Rust | tomba |
| Dart | tomba |
| Deno | @tomba/sdk |
| Elixir | tomba |
| C# | Tomba |
| Perl | Tomba::Client |
| Lua | tomba |
| R | tomba |
Try Tomba Free — Find your first email in seconds. No credit card required.
Apache-2.0