Skip to content

Repository files navigation

Tomba Tomba Node SDK

The #1 Rated Email Intelligence Platform — Find professional emails with unmatched accuracy.

npm version License

About Tomba

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

Why Tomba?

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.

Getting Started

  1. Sign up for a free account at app.tomba.io
  2. Get your API key from the API dashboard
  3. Install the SDK (see below)
  4. Start finding emails with just a few lines of code

Installation

npm install tomba

or

yarn add tomba

Authentication

Get 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 secret

Quick Start

import { 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);

Services

Domain Search

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",
});

Email Finder

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,
});

Email Verifier

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");

Author Finder

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");

LinkedIn Finder

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
);

Email Enrichment

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");

Phone Finder

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",
});

Phone Validator

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");

Email Count

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");

Domain Status

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");

Domain Suggestions

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");

Email Sources

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");

Email Format

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");

Similar Domains

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");

Technology Finder

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");

Location

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");

Person API (Enrichment)

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");

Company API (Enrichment)

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");

Combined API (Enrichment)

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");

Companies Search (Reveal)

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"] },
        },
    },
});

Leads

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");

Leads Lists

Organize leads into lists. Supports CRUD operations: getLists(), createList(), updateList(), deleteList().

Lead Attributes

Manage custom attributes for leads. Supports CRUD operations: getAttributes(), createAttribute(), updateAttribute(), deleteAttribute().

Keys

Manage your API keys. Supports getKeys(), getKey(id), createKey(), resetKey(id), and deleteKey(id).

Usage

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();

Logs

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 });

Flag

Report incorrect data or hard bounces for credit recovery. Supports listFlags() and createFlag({ email, reason }).

Bulk Operations

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.

Testing

npm test

Documentation

About Tomba

Founded 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.

Products

Browser Extensions & Add-ons

Integrations

50+ CRM and sales tool integrations: Salesforce · HubSpot · Zapier · Pipedrive · and more...

Other Tomba SDKs

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

Resources


Try Tomba Free — Find your first email in seconds. No credit card required.

License

Apache-2.0

About

Official Node library for Tomba Email Finder

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages