The #1 Rated Email Intelligence Platform — Find professional emails with unmatched accuracy.
This is the official Rust client library for the Tomba.io Email Finder API, providing access to all Tomba services including domain search, email finder, email verifier, enrichment, phone lookup, leads management, 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 Rust SDK.
Add tomba to your Cargo.toml:
[dependencies]
tomba = "1.0"Or install with Cargo:
cargo add tombaGet your API key and secret by signing up for a free account at https://app.tomba.io/auth/register.
use tomba::{Tomba, TombaConfig};
let config = TombaConfig {
key: "ta_xxxx".to_string(),
secret: "ts_xxxx".to_string(),
};
let tomba = Tomba::init(config).expect("should construct");use tomba::{Tomba, TombaConfig};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = TombaConfig {
key: "ta_xxxx".to_string(),
secret: "ts_xxxx".to_string(),
};
let tomba = Tomba::init(config)?;
// Search emails by domain
let result = tomba.domain_search("example.com", None, None)?;
println!("{}", result);
// Find a specific email
let result = tomba.email_finder("example.com", "John", "Doe", None)?;
println!("{}", result);
Ok(())
}Search emails for a domain. Returns all email addresses found on the internet for the given domain.
let result = tomba.domain_search("example.com", None, None)?;
println!("{}", result);Find the most likely email address from a domain name, first name, and last name.
let result = tomba.email_finder("example.com", "John", "Doe", None)?;
println!("{}", result);Verify the deliverability of a given email address.
let result = tomba.email_verifier("john@example.com", None, None)?;
println!("{}", result);Find the email address of the author of a blog post or article.
let result = tomba.author_finder("https://tomba.io/blog", None)?;
println!("{}", result);Find the email address associated with a LinkedIn profile URL.
let result = tomba.linkedin_finder(
"https://www.linkedin.com/in/johndoe",
None,
None,
None,
)?;
println!("{}", result);Enrich a person by email address -- get job title, company, location, and social profiles.
let result = tomba.email_enrichment("john@example.com", None)?;
println!("{}", result);Find a phone number using an email address.
let result = tomba.phone_finder("john@example.com", None)?;
println!("{}", result);Validate a phone number and get additional information.
let result = tomba.phone_validator("+1234567890")?;
println!("{}", result);Get the total number of email addresses Tomba has for a domain.
let result = tomba.count("example.com")?;
println!("{}", result);Check whether a domain is a webmail or disposable email provider.
let result = tomba.status("example.com")?;
println!("{}", result);Auto-complete company names and retrieve logo and domain information.
let result = tomba.autocomplete("exampl")?;
println!("{}", result);Find the web sources where an email address has been found.
let result = tomba.email_sources("john@example.com")?;
println!("{}", result);Detect the email format used by a company.
let result = tomba.email_format("example.com")?;
println!("{}", result);Find domains similar to the given one.
let result = tomba.similar_domains("example.com")?;
println!("{}", result);Check what technologies a website uses.
let result = tomba.technology_check("example.com")?;
println!("{}", result);Get location details for a country code.
let result = tomba.get_location("US")?;
println!("{}", result);Person, company, and combined enrichment APIs.
// Person enrichment
let result = tomba.person_find("john@example.com")?;
println!("{}", result);
// Company enrichment
let result = tomba.company_find("example.com")?;
println!("{}", result);
// Combined enrichment
let result = tomba.combined_find("john@example.com")?;
println!("{}", result);Search for companies matching given criteria.
use serde_json::json;
let body = json!({
"query": "technology",
"limit": 10
});
let result = tomba.companies_search(&body)?;
println!("{}", result);Manage your saved leads -- list, get, create, update, and delete.
use serde_json::json;
// List leads
let result = tomba.list_leads(None)?;
println!("{}", result);
// Get a single lead
let result = tomba.get_lead("lead_id")?;
println!("{}", result);
// Create a lead
let body = json!({
"email": "john@example.com",
"first_name": "John",
"last_name": "Doe"
});
let result = tomba.create_lead(&body)?;
println!("{}", result);
// Update a lead
let body = json!({ "first_name": "Jane" });
let result = tomba.update_lead("lead_id", &body)?;
println!("{}", result);
// Delete a lead
let result = tomba.delete_lead("lead_id")?;
println!("{}", result);Manage your leads lists -- list, get, create, update, and delete.
use serde_json::json;
// List all leads lists
let result = tomba.list_leads_lists()?;
println!("{}", result);
// Get a single leads list
let result = tomba.get_leads_list("list_id")?;
println!("{}", result);
// Create a leads list
let body = json!({ "name": "My List" });
let result = tomba.create_leads_list(&body)?;
println!("{}", result);
// Update a leads list
let body = json!({ "name": "Updated List" });
let result = tomba.update_leads_list("list_id", &body)?;
println!("{}", result);
// Delete a leads list
let result = tomba.delete_leads_list("list_id")?;
println!("{}", result);Manage custom lead attributes -- list, get, create, update, and delete.
use serde_json::json;
// List all attributes
let result = tomba.list_leads_attributes()?;
println!("{}", result);
// Get a single attribute
let result = tomba.get_leads_attribute("attr_id")?;
println!("{}", result);
// Create an attribute
let body = json!({ "name": "Company Size", "type": "string" });
let result = tomba.create_leads_attribute(&body)?;
println!("{}", result);
// Update an attribute
let body = json!({ "name": "Company Revenue" });
let result = tomba.update_leads_attribute("attr_id", &body)?;
println!("{}", result);
// Delete an attribute
let result = tomba.delete_leads_attribute("attr_id")?;
println!("{}", result);Manage your API keys.
use serde_json::json;
// List all keys
let result = tomba.list_keys()?;
println!("{}", result);
// Get a single key
let result = tomba.get_key("key_id")?;
println!("{}", result);
// Create a key
let body = json!({});
let result = tomba.create_key(&body)?;
println!("{}", result);
// Reset a key
let result = tomba.reset_key("key_id")?;
println!("{}", result);
// Delete a key
let result = tomba.delete_key("key_id")?;
println!("{}", result);Return your monthly API request usage.
let result = tomba.usage()?;
println!("{}", result);Return the last 1,000 API requests made in the past 3 months.
let result = tomba.logs(None, None)?;
println!("{}", result);List and create email address flags.
use serde_json::json;
// List flags
let result = tomba.list_flags(None, None)?;
println!("{}", result);
// Create a flag
let body = json!({
"email": "john@example.com",
"flag": "invalid"
});
let result = tomba.create_flag(&body)?;
println!("{}", result);Manage bulk email operations -- list, get, create, launch, archive, rename, check progress, and download.
use serde_json::json;
// List all bulk tasks
let result = tomba.list_bulk()?;
println!("{}", result);
// Get a bulk task
let result = tomba.get_bulk("bulk_id")?;
println!("{}", result);
// Create a bulk task
let body = json!({ "name": "My Bulk Task" });
let result = tomba.create_bulk(&body)?;
println!("{}", result);
// Launch a bulk task
let result = tomba.launch_bulk("bulk_id")?;
println!("{}", result);
// Check bulk progress
let result = tomba.bulk_progress("bulk_id")?;
println!("{}", result);
// Download bulk results
let result = tomba.bulk_download("bulk_id")?;
println!("{}", result);
// Rename a bulk task
let result = tomba.rename_bulk("bulk_id", "New Name")?;
println!("{}", result);
// Archive a bulk task
let result = tomba.archive_bulk("bulk_id")?;
println!("{}", result);
// Delete a bulk task
let result = tomba.delete_bulk("bulk_id")?;
println!("{}", result);cargo 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 -- see LICENSE for details.