Tomba Dart SDK
The #1 Rated Email Intelligence Platform — Find professional emails with unmatched accuracy.
This is the official Dart 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.
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
Below you will find the steps to install and start using the Tomba Dart SDK.
Installation
Add tomba to your pubspec.yaml:
dependencies:
tomba: ^1.0.3
Or install from the command line:
dart pub add tomba
Authentication
Get your API key and secret by signing up for a free account at https://app.tomba.io/auth/register.
import 'package:tomba/tomba.dart';
Client client = Client();
client
.setKey('ta_xxxx') // Your Key
.setSecret('ts_xxxx'); // Your Secret
Quick Start
import 'package:tomba/tomba.dart';
void main() async {
Client client = Client();
client
.setKey('ta_xxxx')
.setSecret('ts_xxxx');
// Search emails by domain
Domain domain = Domain(client);
var result = await domain.domainSearch(domain: 'example.com');
print(result);
// Find a specific email
Finder finder = Finder(client);
var email = await finder.emailFinder(
domain: 'example.com',
firstName: 'John',
lastName: 'Doe',
);
print(email);
}
Services
Domain Search
Search emails for a domain. Returns all email addresses found on the internet for the given domain.
Domain domain = Domain(client);
var result = await domain.domainSearch(domain: 'example.com');
print(result);
Email Finder
Find the most likely email address from a domain name, first name, and last name.
Finder finder = Finder(client);
var result = await finder.emailFinder(
domain: 'example.com',
firstName: 'John',
lastName: 'Doe',
);
print(result);
Email Verifier
Verify the deliverability of a given email address.
Verifier verifier = Verifier(client);
var result = await verifier.emailVerifier(email: 'john@example.com');
print(result);
Author Finder
Find the email address of the author of a blog post or article.
Finder finder = Finder(client);
var result = await finder.authorFinder(url: 'https://tomba.io/blog');
print(result);
LinkedIn Finder
Find the email address associated with a LinkedIn profile URL.
Finder finder = Finder(client);
var result = await finder.linkedinFinder(
url: 'https://www.linkedin.com/in/johndoe',
);
print(result);
Email Enrichment (Person / Company / Combined)
Person, company, and combined enrichment APIs.
Enrichment enrichment = Enrichment(client);
// Person enrichment
var person = await enrichment.person(email: 'john@example.com');
print(person);
// Company enrichment
var company = await enrichment.company(domain: 'example.com');
print(company);
// Combined enrichment
var combined = await enrichment.combined(email: 'john@example.com');
print(combined);
Phone Finder
Find a phone number using an email address.
Finder finder = Finder(client);
var result = await finder.phoneFinder(email: 'john@example.com');
print(result);
// Or using the PhoneFinder service directly
PhoneFinder phone = PhoneFinder(client);
var result2 = await phone.finder(email: 'john@example.com');
print(result2);
Phone Validator
Validate a phone number and get additional information.
PhoneFinder phone = PhoneFinder(client);
var result = await phone.validator(phone: '+1234567890');
print(result);
Email Count
Get the total number of email addresses Tomba has for a domain.
Count count = Count(client);
var result = await count.emailCount(domain: 'example.com');
print(result);
Domain Status
Check whether a domain is a webmail or disposable email provider.
Status status = Status(client);
var result = await status.domainStatus(domain: 'example.com');
print(result);
Domain Suggestions (Autocomplete)
Auto-complete company names and retrieve logo and domain information.
Status status = Status(client);
var result = await status.autoComplete(query: 'exampl');
print(result);
Email Sources
Find the web sources where an email address has been found.
Sources sources = Sources(client);
var result = await sources.emailSources(email: 'john@example.com');
print(result);
Email Format
Detect the email format used by a company.
Format format = Format(client);
var result = await format.emailFormat(email: 'example.com');
print(result);
Similar Domains
Find domains similar to the given one.
Similar similar = Similar(client);
var result = await similar.websites(domain: 'example.com');
print(result);
Technology Checker
Check what technologies a website uses.
Technology technology = Technology(client);
var result = await technology.list(domain: 'example.com');
print(result);
Location
Get location information based on IP address.
Location location = Location(client);
var result = await location.getLocation();
print(result);
Reveal (Companies Search)
Search for companies by various criteria.
Reveal reveal = Reveal(client);
var result = await reveal.companiesSearch(query: 'technology');
print(result);
Leads
Manage your saved leads -- list, get, create, update, and delete.
Leads leads = Leads(client);
// List leads
var list = await leads.listLeads();
print(list);
// Get a single lead
var lead = await leads.getLead(id: 'lead_id');
print(lead);
// Create a lead
var created = await leads.createLead(data: {
'email': 'john@example.com',
'first_name': 'John',
'last_name': 'Doe',
});
print(created);
// Update a lead
var updated = await leads.updateLead(
id: 'lead_id',
data: {'first_name': 'Jane'},
);
print(updated);
// Delete a lead
var deleted = await leads.deleteLead(id: 'lead_id');
print(deleted);
Leads Lists
Manage your leads lists -- list, create, update, and delete.
LeadsLists leadsLists = LeadsLists(client);
// List all leads lists
var lists = await leadsLists.getLists();
print(lists);
// Create a leads list
var created = await leadsLists.createList(name: 'My List');
print(created);
// Update a leads list
var updated = await leadsLists.updateListId(id: 'list_id', name: 'Updated List');
print(updated);
// Delete a leads list
var deleted = await leadsLists.deleteListId(id: 'list_id');
print(deleted);
Leads Attributes
Manage custom lead attributes -- list, create, update, and delete.
LeadsAttributes attrs = LeadsAttributes(client);
// List all attributes
var list = await attrs.getLeadAttributes();
print(list);
// Create an attribute
var created = await attrs.createLeadAttribute(
name: 'Company Size',
type: 'string',
);
print(created);
// Update an attribute
var updated = await attrs.updateLeadAttribute(
id: 'attr_id',
name: 'Company Revenue',
);
print(updated);
// Delete an attribute
var deleted = await attrs.deleteLeadAttribute(id: 'attr_id');
print(deleted);
Keys
Manage your API keys.
Keys keys = Keys(client);
// List all keys
var list = await keys.getKeys();
print(list);
// Create a key
var created = await keys.createKey();
print(created);
// Reset a key
var reset = await keys.resetKey(id: 'key_id');
print(reset);
// Delete a key
var deleted = await keys.deleteKey(id: 'key_id');
print(deleted);
Usage
Return your monthly API request usage.
Usage usage = Usage(client);
var result = await usage.getUsage();
print(result);
Logs
Return the last 1,000 API requests made in the past 3 months.
Logs logs = Logs(client);
var result = await logs.getLogs();
print(result);
Flag
List and create email address flags.
Flag flag = Flag(client);
// List flags
var list = await flag.listFlags();
print(list);
// Create a flag
var created = await flag.createFlag(
email: 'john@example.com',
flag: 'invalid',
);
print(created);
Bulk
Manage bulk email operations -- list, get, create, launch, archive, rename, check progress, and download.
Bulk bulk = Bulk(client);
// List all bulk tasks
var list = await bulk.list();
print(list);
// Get a bulk task
var task = await bulk.get(id: 'bulk_id');
print(task);
// Create a bulk task
var created = await bulk.create(data: {'name': 'My Bulk Task'});
print(created);
// Launch a bulk task
var launched = await bulk.launch(id: 'bulk_id');
print(launched);
// Check bulk progress
var progress = await bulk.progress(id: 'bulk_id');
print(progress);
// Download bulk results
var download = await bulk.download(id: 'bulk_id');
print(download);
// Rename a bulk task
var renamed = await bulk.rename(id: 'bulk_id', name: 'New Name');
print(renamed);
// Archive a bulk task
var archived = await bulk.archive(id: 'bulk_id');
print(archived);
// Delete a bulk task
var deleted = await bulk.delete(id: 'bulk_id');
print(deleted);
Testing
dart test
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
- 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
Browser Extensions & Add-ons
- 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
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 -- see LICENSE for details.