Skip to content

Repository files navigation

Tomba Tomba Go SDK

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

Go Reference 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

go get github.com/tomba-io/go

Authentication

Get your API credentials from app.tomba.io/api.

import "github.com/tomba-io/go/tomba"

client := tomba.New("ta_xxxx", "ts_xxxx")

Quick Start

package main

import (
	"fmt"

	"github.com/tomba-io/go/tomba"
)

func main() {
	client := tomba.New("ta_xxxx", "ts_xxxx")

	result, err := client.DomainSearch(tomba.Params{
		"domain": "stripe.com",
	})
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	fmt.Println(result)
}

Services

Domain Search

Search for email addresses associated with a domain.

// Basic search
result, err := client.DomainSearch(tomba.Params{
	"domain": "stripe.com",
})

// With filters
result, err := client.DomainSearch(tomba.Params{
	"domain":     "stripe.com",
	"page":       1,
	"limit":      50,
	"country":    "US",
	"department": "engineering",
})

Email Finder

Generate or retrieve the most likely email address from a domain and name.

// Using first_name + last_name
result, err := client.EmailFinder(tomba.Params{
	"domain":     "stripe.com",
	"first_name": "Patrick",
	"last_name":  "Collison",
})

// Using full_name with enrich_mobile
result, err := client.EmailFinder(tomba.Params{
	"domain":        "stripe.com",
	"full_name":     "Patrick Collison",
	"enrich_mobile": true,
})

Email Verifier

Verify the deliverability of an email address.

result, err := client.EmailVerifier(tomba.Params{
	"email": "b.mohamed@tomba.io",
})

Author Finder

Discover the email address of an article's author.

result, err := client.AuthorFinder(tomba.Params{
	"url": "https://tomba.io/blog",
})

LinkedIn Finder

Find the email address associated with a LinkedIn profile URL.

result, err := client.LinkedinFinder(tomba.Params{
	"url":          "https://www.linkedin.com/in/username",
	"enrich_mobile": true,
	"full":          true,
})

Email Enrichment

Enrich an email address with additional contact data.

result, err := client.Enrichment(tomba.Params{
	"email": "b.mohamed@tomba.io",
})

Phone Finder

Search for phone numbers based on email, domain, or LinkedIn URL.

// By email
result, err := client.PhoneFinder(tomba.Params{
	"email": "b.mohamed@tomba.io",
})

// By domain
result, err := client.PhoneFinder(tomba.Params{
	"domain": "tomba.io",
})

// By LinkedIn URL
result, err := client.PhoneFinder(tomba.Params{
	"linkedin": "https://www.linkedin.com/in/username",
})

Phone Validator

Validate a phone number and check carrier information.

result, err := client.PhoneValidator(tomba.Params{
	"phone": "+1234567890",
})

Email Count

Get the number of email addresses found for a domain.

result, err := client.Count("stripe.com")

Domain Status

Check if a domain is webmail or disposable.

result, err := client.Status("gmail.com")

Domain Suggestions

Auto-complete company names and retrieve logo and domain information.

result, err := client.AutoComplete("stripe")

Email Sources

Find where an email address was found on the web.

result, err := client.Sources("b.mohamed@tomba.io")

Email Format

Get the email format pattern used by a company.

result, err := client.EmailFormat("stripe.com")

Similar Domains

Find domains similar to a given domain.

result, err := client.SimilarDomains("stripe.com")

Technology Finder

Retrieve the technologies used by a domain.

result, err := client.TechnologyCheck("stripe.com")

Location

Get employee location and count data for a domain.

result, err := client.EmployeesCount("stripe.com")

Person API (Enrichment)

Retrieve person information based on an email address.

result, err := client.PersonFind(tomba.Params{
	"email": "b.mohamed@tomba.io",
})

Company API (Enrichment)

Retrieve company information based on a domain.

result, err := client.CompanyFind(tomba.Params{
	"domain": "stripe.com",
})

Combined API (Enrichment)

Retrieve combined person and company information based on an email address.

result, err := client.CombinedFind(tomba.Params{
	"email": "b.mohamed@tomba.io",
})

Companies Search (Reveal)

Search for companies using natural language queries or structured filters.

import "github.com/tomba-io/go/tomba/models"

// Natural language query
result, err := client.SearchCompanies(&models.RevealSearchRequest{
	Query: "Real Estate in France",
})

// With structured filters
result, err := client.SearchCompanies(&models.RevealSearchRequest{
	Page: 1,
	Filters: &models.RevealSearchFilters{
		Company: &models.RevealCompanyFilters{
			LocationCountry: &models.RevealCircularFilter{
				Include: []string{"US", "UK"},
			},
			Industry: &models.RevealCircularFilter{
				Include: []string{"Technology"},
			},
			Size: &models.RevealCircularFilter{
				Include: []string{"101-500", "501-1000"},
			},
		},
	},
})

Leads

Manage lead records programmatically.

// List leads
result, err := client.ListLeads(tomba.Params{"page": 1, "limit": 10})

// Get a lead
result, err := client.GetLead("lead_id")

// Create a lead
result, err := client.CreateLead(tomba.Params{
	"email":      "user@example.com",
	"first_name": "John",
	"last_name":  "Doe",
})

// Update a lead
result, err := client.UpdateLead("lead_id", tomba.Params{
	"first_name": "Jane",
})

// Delete a lead
result, err := client.DeleteLead("lead_id")

Leads Lists

Organize leads into lists. Supports CRUD operations: ListLeadsLists(), GetLeadsList(), CreateLeadsList(), UpdateLeadsList(), DeleteLeadsList().

Lead Attributes

Manage custom attributes for leads. Supports CRUD operations: ListAttributes(), GetAttribute(), CreateAttribute(), UpdateAttribute(), DeleteAttribute().

Keys

Manage your API keys. Supports ListKeys(), GetKey(), CreateKey(), ResetKey(), and DeleteKey().

Usage

Get your monthly API request usage statistics.

result, err := client.Usage()

Logs

Retrieve your last 1,000 API requests from the past 3 months.

result, err := client.Logs(tomba.Params{"page": 1, "limit": 50})

Flag

Report incorrect data for credit recovery.

// List flags
result, err := client.ListFlags(tomba.Params{"page": "1", "limit": "10"})

// Create a flag
result, err := client.CreateFlag(tomba.Params{
    "flag_type": "email",           // email, organization, phone, author_url, website
    "value":     "bounce@example.com",
    "reason":    "hard_bounce",     // depends on flag_type (see below)
    "comment":   "Bounced 3 times", // optional, max 1000 chars
})

Valid reasons by flag type:

Flag Type Valid Reasons
email hard_bounce, invalid_email, wrong_person, outdated, other
organization wrong_company, outdated, other
phone wrong_phone, outdated, other
author_url broken_url, wrong_person, outdated, other
website broken_url, wrong_company, outdated, other

Bulk Operations

Create, launch, and download bulk processing jobs.

import "github.com/tomba-io/go/tomba/models"

// List bulk operations
result, err := client.GetAllBulks(models.BulkTypeVerifier, &models.BulkGetParams{
	Page:  1,
	Limit: 10,
})

// Create a bulk with file upload
result, err := client.CreateBulkWithFile(
	models.BulkTypeVerifier,
	&models.BulkCreateParams{Name: "My Bulk Verification"},
	"/path/to/emails.csv",
)

// Launch a bulk
result, err := client.LaunchBulk(models.BulkTypeVerifier, 123)

// Check progress
progress, err := client.GetBulkProgress(models.BulkTypeVerifier, 123)

// Download results
data, err := client.DownloadBulk(models.BulkTypeVerifier, 123, nil)

// Save results to file
err := client.SaveBulkResults(models.BulkTypeVerifier, 123, "results.csv", "csv")

Supported BulkType values: BulkTypeSearch, BulkTypeSimilar, BulkTypeCompany, BulkTypeFinder, BulkTypeEnrich, BulkTypeLinkedIn, BulkTypeAuthor, BulkTypeVerifier, BulkTypePhoneFinder, BulkTypePhoneValidator.

Testing

go test ./tomba/...

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 Go library for Tomba Email Finder

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages