Tomba Elixir SDK

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

Hex.pmHex.pm DownloadsLicenseBuild Status

Official Elixir client library for the Tomba.io Email Finder API.

About Tomba

Tomba.io is the #1 rated email intelligence platform, trusted by 150,000+ sales teams worldwide.

Why Tomba?

FeatureTombaOthers
Email Coverage81%30-60%
VerificationReal-time SMTPPattern-based
Phone NumbersDirect dialsLimited
Catch-all DetectionAI-poweredBasic
API Rate LimitsGenerousRestrictive

Get your free API key — No credit card required.

Installation

Add tomba to your list of dependencies in mix.exs:

def deps do
[
{:tomba, "~> 1.0"}
]
end

Then fetch your dependencies:

mix deps.get

Authentication

Sign up for a free account at https://app.tomba.io/auth/register to get your API key and secret.

client = Tomba.client("ta_xxxx", "ts_xxxx")

Quick Start

# Create a client
client = Tomba.client("ta_xxxx", "ts_xxxx")
# Search emails by domain
{:ok, result} = Tomba.Domain.domain_search(client, %{"domain" => "example.com"})
# Find an email address
{:ok, result} = Tomba.Finder.email_finder(client, %{
"domain" => "example.com",
"first_name" => "John",
"last_name" => "Doe"
})
# Verify an email
{:ok, result} = Tomba.Verifier.email_verifier(client, %{"email" => "john@example.com"})

Services

Account

Get information about the current account.

{:ok, result} = Tomba.Account.account(client)

Search emails based on a website domain.

{:ok, result} = Tomba.Domain.domain_search(client, %{"domain" => "example.com"})

Email Finder

Find the most likely email address from a domain, first name, and last name.

{:ok, result} = Tomba.Finder.email_finder(client, %{
"domain" => "example.com",
"first_name" => "John",
"last_name" => "Doe"
})

Email Verifier

Verify the deliverability of an email address.

{:ok, result} = Tomba.Verifier.email_verifier(client, %{"email" => "john@example.com"})

Author Finder

Find the email address of an article author from a blog post URL.

{:ok, result} = Tomba.Finder.author_finder(client, %{
"url" => "https://clearbit.com/blog/company-name-to-domain-api"
})

LinkedIn Finder

Find the email address associated with a LinkedIn profile URL.

{:ok, result} = Tomba.Finder.linkedin_finder(client, %{
"url" => "https://www.linkedin.com/in/alex-maccaw-ab592978"
})

Email Enrichment

Look up person and company data based on an email address.

{:ok, result} = Tomba.Finder.email_enrichment(client, %{"email" => "john@example.com"})

Phone Finder

Find the phone number associated with an email address.

{:ok, result} = Tomba.Phone.phone_finder(client, %{"email" => "john@example.com"})

Phone Validator

Validate a phone number.

{:ok, result} = Tomba.Phone.phone_validator(client, %{"phone" => "+1234567890"})

Email Count

Get the number of email addresses found for a domain.

{:ok, result} = Tomba.Count.count(client, %{"domain" => "example.com"})

Domain Status

Check if a domain is webmail, disposable, or a regular email provider.

{:ok, result} = Tomba.Status.status(client, %{"domain" => "example.com"})

Domain Suggestions

Auto-complete company names and get domain suggestions.

{:ok, result} = Tomba.Status.autocomplete(client, %{"query" => "google"})

Email Sources

Find web sources where an email address has been found.

{:ok, result} = Tomba.Sources.email_sources(client, %{"email" => "john@example.com"})

Email Format

Get the email format pattern used by a domain.

{:ok, result} = Tomba.Format.email_format(client, %{"domain" => "example.com"})

Similar

Find domains similar to a given domain.

{:ok, result} = Tomba.Similar.similar(client, %{"domain" => "example.com"})

Technology

Discover technologies used by a domain.

{:ok, result} = Tomba.Technology.technology(client, %{"domain" => "example.com"})

Location

Get the employee location breakdown for a domain.

{:ok, result} = Tomba.Location.location(client, %{"domain" => "example.com"})

Person API

Get person data from an email address (Clearbit-compatible).

{:ok, result} = Tomba.Enrichment.person(client, %{"email" => "john@example.com"})

Company API

Get company data from a domain (Clearbit-compatible).

{:ok, result} = Tomba.Enrichment.company(client, %{"domain" => "example.com"})

Combined API

Get combined person and company data from an email address (Clearbit-compatible).

{:ok, result} = Tomba.Enrichment.combined(client, %{"email" => "john@example.com"})

Search companies using reverse lookup (e.g., by IP address).

{:ok, result} = Tomba.Reveal.companies_search(client, %{"ip" => "1.2.3.4"})

Usage

Get your account's monthly API usage statistics.

{:ok, result} = Tomba.Usage.usage(client)

Logs

Get your account's API request logs.

{:ok, result} = Tomba.Logs.logs(client)

Keys

Manage your API keys.

# List all keys
{:ok, result} = Tomba.Keys.list_keys(client)
# Get a specific key
{:ok, result} = Tomba.Keys.get_key(client, "key_id")
# Create a new key
{:ok, result} = Tomba.Keys.create_key(client)
# Reset a key
{:ok, result} = Tomba.Keys.reset_key(client, "key_id")
# Delete a key
{:ok, result} = Tomba.Keys.delete_key(client, "key_id")

Flag

Report incorrect email data.

# List submitted flags
{:ok, result} = Tomba.Flag.list_flags(client, %{})
# Create a flag
{:ok, result} = Tomba.Flag.create_flag(client, %{
"email" => "john@example.com",
"reason" => "invalid"
})

Leads

Manage leads in your Tomba CRM.

# List leads
{:ok, result} = Tomba.Leads.list_leads(client, %{})
# Get a specific lead
{:ok, result} = Tomba.Leads.get_lead(client, "lead_id")
# Create a lead
{:ok, result} = Tomba.Leads.create_lead(client, %{
"email" => "lead@example.com",
"first_name" => "John",
"last_name" => "Doe"
})
# Update a lead
{:ok, result} = Tomba.Leads.update_lead(client, "lead_id", %{
"first_name" => "Jane"
})
# Delete a lead
{:ok, result} = Tomba.Leads.delete_lead(client, "lead_id")

Leads Lists

Manage lead lists for organizing your leads.

# List all lead lists
{:ok, result} = Tomba.LeadsLists.list_leads_lists(client)
# Get a specific list
{:ok, result} = Tomba.LeadsLists.get_leads_list(client, "list_id")
# Create a list
{:ok, result} = Tomba.LeadsLists.create_leads_list(client, %{"name" => "My List"})
# Update a list
{:ok, result} = Tomba.LeadsLists.update_leads_list(client, "list_id", %{
"name" => "Updated Name"
})
# Delete a list
{:ok, result} = Tomba.LeadsLists.delete_leads_list(client, "list_id")

Leads Attributes

Manage custom attributes for your leads.

# List all attributes
{:ok, result} = Tomba.LeadsAttributes.list_attributes(client)
# Get a specific attribute
{:ok, result} = Tomba.LeadsAttributes.get_attribute(client, "attr_id")
# Create an attribute
{:ok, result} = Tomba.LeadsAttributes.create_attribute(client, %{
"name" => "Company Size"
})
# Update an attribute
{:ok, result} = Tomba.LeadsAttributes.update_attribute(client, "attr_id", %{
"name" => "Updated Name"
})
# Delete an attribute
{:ok, result} = Tomba.LeadsAttributes.delete_attribute(client, "attr_id")

Bulk Operations

Create and manage bulk processing jobs for domain search, email finder, verifier, and more.

# List bulk operations
{:ok, result} = Tomba.Bulk.list(client, "domain-search", %{})
# Get a specific bulk operation
{:ok, result} = Tomba.Bulk.get(client, "domain-search", "bulk_id")
# Create a bulk operation
{:ok, result} = Tomba.Bulk.create(client, "domain-search", %{
"domains" => ["example.com"]
})
# Launch a bulk operation
{:ok, result} = Tomba.Bulk.launch(client, "domain-search", "bulk_id")
# Get progress
{:ok, result} = Tomba.Bulk.progress(client, "domain-search", "bulk_id")
# Download results
{:ok, result} = Tomba.Bulk.download(client, "domain-search", "bulk_id")
# Rename a bulk operation
{:ok, result} = Tomba.Bulk.rename(client, "domain-search", "bulk_id", "New Name")
# Archive a bulk operation
{:ok, result} = Tomba.Bulk.archive(client, "domain-search", "bulk_id")
# Delete a bulk operation
{:ok, result} = Tomba.Bulk.delete(client, "domain-search", "bulk_id")

Supported bulk types: domain-search, email-finder, author-finder, email-verifier, enrichment, linkedin-finder, phone-finder, department-search, technology-search, name-finder.

Testing

mix test

To run the linter:

mix lint

Documentation

About Tomba

Founded to solve the problem of unreliable email data, Tomba.io is the leading B2B email intelligence platform.

Products

Browser Extensions & Add-ons

Integrations

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

Other Tomba SDKs

LanguagePackage
Node.jstomba
Pythontomba-io
PHPtomba-io/php
Rubytomba
Gotomba-io/go
Rusttomba
Darttomba
Deno@tomba/sdk
Elixirtomba
C#Tomba
PerlTomba::Client
Luatomba
Rtomba

Resources


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

License

Apache 2.0 -- see LICENSE for details.