The #1 Rated Email Intelligence Platform — Find professional emails with unmatched accuracy.
This is the official Ruby client library for the Tomba.io Email Finder API, providing access to all Tomba services including domain search, email finding, verification, enrichment, phone lookup, bulk operations, and more.
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.
Below you will find the steps to install and start using the Tomba Ruby SDK.
Install via RubyGems:
gem install tombaOr add to your Gemfile:
gem 'tomba'Requirements: Ruby >= 2.5.0
Get your API keys from https://app.tomba.io/auth/register.
You can authenticate using environment variables or by setting keys directly:
require 'tomba'
client = Tomba::Client.new
# Option 1: Set keys directly
client
.set_key('ta_xxxx') # Your API Key
.set_secret('ts_xxxx') # Your Secret Key
# Option 2: Use environment variables TOMBA_API_KEY and TOMBA_SECRET_KEY
client
.set_key(ENV['TOMBA_API_KEY'])
.set_secret(ENV['TOMBA_SECRET_KEY'])require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
domain = Tomba::Domain.new(client)
result = domain.domain_search(domain: 'stripe.com')
puts resultSearch emails by domain name. Returns all email addresses found on the internet for a given domain.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
domain = Tomba::Domain.new(client)
result = domain.domain_search(domain: 'stripe.com')Generate or retrieve the most likely email address from a domain name, a first name, and a last name.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
finder = Tomba::Finder.new(client)
result = finder.email_finder(domain: 'stripe.com', first_name: 'John', last_name: 'Doe')Verify the deliverability of a given email address.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
verifier = Tomba::Verifier.new(client)
result = verifier.email_verifier(email: 'john@example.com')Discover the email address of an article's author from a blog post URL.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
finder = Tomba::Finder.new(client)
result = finder.author_finder(url: 'https://tomba.io/blog')Retrieve the email address associated with a LinkedIn profile URL.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
finder = Tomba::Finder.new(client)
result = finder.linkedin_finder(url: 'https://www.linkedin.com/in/johndoe')Enrich data associated with an email address (person, company, or combined).
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
enrichment = Tomba::Enrichment.new(client)
# Person enrichment
result = enrichment.person('john@example.com')
# Company enrichment
result = enrichment.company('stripe.com')
# Combined enrichment (person + company)
result = enrichment.combined('john@example.com')Search for phone numbers associated with an email, domain, or LinkedIn profile.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
# Via Finder service
finder = Tomba::Finder.new(client)
result = finder.phone_finder(email: 'john@example.com')
# Via Phone service
phone = Tomba::Phone.new(client)
result = phone.finder({ email: 'john@example.com' })Validate a phone number and retrieve additional information.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
phone = Tomba::Phone.new(client)
result = phone.validator('+1234567890', country_code: 'US')Get the total number of email addresses found for a domain.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
count = Tomba::Count.new(client)
result = count.email_count(domain: 'stripe.com')Check if a domain is a webmail or disposable domain.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
status = Tomba::Status.new(client)
result = status.domain_status(domain: 'stripe.com')Auto-complete company names and retrieve logo and domain information.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
status = Tomba::Status.new(client)
result = status.auto_complete(query: 'stripe')Find where an email address has been found on the web.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
sources = Tomba::Sources.new(client)
result = sources.email_sources(email: 'john@example.com')Discover the email format used by a domain (e.g., first.last, first_last).
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
format = Tomba::Format.new(client)
result = format.email_format('stripe.com')Find websites similar to a given domain.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
similar = Tomba::Similar.new(client)
result = similar.websites('stripe.com')Detect the technologies used by a website.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
technology = Tomba::Technology.new(client)
result = technology.list('stripe.com')Get geographic location information for a domain.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
location = Tomba::Location.new(client)
result = location.get_location('stripe.com')Search for companies using various filters and criteria.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
reveal = Tomba::Reveal.new(client)
result = reveal.companies_search({ query: 'technology', page: 1 })Manage your leads: list, get, create, update, and delete.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
leads = Tomba::Leads.new(client)
# List leads
result = leads.list_leads(page: 1, limit: 10)
# Get a single lead
result = leads.get_lead('lead_id')
# Create a lead
result = leads.create_lead(
email: 'john@example.com',
first_name: 'John',
last_name: 'Doe'
)
# Update a lead
result = leads.update_lead('lead_id', first_name: 'Jane')
# Delete a lead
result = leads.delete_lead('lead_id')Manage your leads lists: list, create, update, and delete.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
leads_lists = Tomba::LeadsLists.new(client)
# Get all lists
result = leads_lists.get_lists
# Create a list
result = leads_lists.create_list
# Update a list
result = leads_lists.update_list_id(id: 'list_id')
# Delete a list
result = leads_lists.delete_list_id(id: 'list_id')Manage custom lead attributes: list, create, update, and delete.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
attributes = Tomba::LeadsAttributes.new(client)
# Get all attributes
result = attributes.get_lead_attributes
# Create an attribute
result = attributes.create_lead_attribute
# Update an attribute
result = attributes.update_lead_attribute(id: 'attribute_id')
# Delete an attribute
result = attributes.delete_lead_attribute(id: 'attribute_id')Manage your API keys: list, create, reset, and delete.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
keys = Tomba::Keys.new(client)
# List all keys
result = keys.get_keys
# Create a key
result = keys.create_key
# Reset a key
result = keys.reset_key(id: 'key_id')
# Delete a key
result = keys.delete_key(id: 'key_id')Retrieve your monthly API request usage statistics.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
usage = Tomba::Usage.new(client)
result = usage.get_usageRetrieve your last 1,000 API requests made during the last 3 months.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
logs = Tomba::Logs.new(client)
result = logs.get_logs(page: 1, limit: 20)Flag email addresses as invalid or incorrect.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
flag = Tomba::Flag.new(client)
# List all flags
result = flag.list_flags
# Create a flag
result = flag.create_flag(email: 'invalid@example.com', reason: 'Email bounced')Manage bulk tasks for domain search, email finding, and verification.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
bulk = Tomba::Bulk.new(client)
# List bulk tasks
result = bulk.list('finder')
# Create a bulk task
result = bulk.create('verifier', { emails: ['a@example.com', 'b@example.com'] })
# Get bulk task details
result = bulk.get('verifier', '123')
# Launch a bulk task
result = bulk.launch('verifier', '123')
# Check progress
result = bulk.progress('verifier', '123')
# Download results
result = bulk.download('verifier', '123')
# Rename a bulk task
result = bulk.rename('verifier', '123', 'My Batch')
# Archive a bulk task
result = bulk.archive('verifier', '123')
# Delete a bulk task
result = bulk.delete('verifier', '123')Retrieve information about the current account.
require 'tomba'
client = Tomba::Client.new
client.set_key('ta_xxxx').set_secret('ts_xxxx')
account = Tomba::Account.new(client)
result = account.get_accountRun the test suite with RSpec:
bundle exec rspecFounded 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.
Licensed under the Apache 2.0 license.