Skip to content

Repository files navigation

Tomba Tomba PHP SDK

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

Latest Stable Version Total Downloads 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

Install via Composer:

composer require tomba-io/php

Requirements: PHP >= 8.1, ext-curl, ext-json

Authentication

Get your API keys from https://app.tomba.io/auth/register.

You can authenticate using environment variables or by setting keys directly:

<?php

use Tomba\Client;

$client = new Client();

// Option 1: Set keys directly
$client
    ->setKey('ta_xxxx')    // Your API Key
    ->setSecret('ts_xxxx') // Your Secret Key
;

// Option 2: Use environment variables TOMBA_API_KEY and TOMBA_SECRET_KEY
$client
    ->setKey(getenv('TOMBA_API_KEY'))
    ->setSecret(getenv('TOMBA_SECRET_KEY'))
;

Quick Start

<?php

use Tomba\Client;
use Tomba\Services\Domain;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$domain = new Domain($client);
$result = $domain->domainSearch('stripe.com');

print_r($result);

Services

Domain Search

Search emails by domain name. Returns all email addresses found on the internet for a given domain.

<?php

use Tomba\Client;
use Tomba\Services\Domain;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$domain = new Domain($client);
$result = $domain->domainSearch('stripe.com');

Email Finder

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

<?php

use Tomba\Client;
use Tomba\Services\Finder;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$finder = new Finder($client);
$result = $finder->emailFinder('stripe.com', 'John', 'Doe');

Email Verifier

Verify the deliverability of a given email address.

<?php

use Tomba\Client;
use Tomba\Services\Verifier;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$verifier = new Verifier($client);
$result = $verifier->emailVerifier('john@example.com');

Author Finder

Discover the email address of an article's author from a blog post URL.

<?php

use Tomba\Client;
use Tomba\Services\Finder;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$finder = new Finder($client);
$result = $finder->authorFinder('https://tomba.io/blog');

LinkedIn Finder

Retrieve the email address associated with a LinkedIn profile URL.

<?php

use Tomba\Client;
use Tomba\Services\Finder;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$finder = new Finder($client);
$result = $finder->linkedinFinder('https://www.linkedin.com/in/johndoe');

Email Enrichment

Enrich data associated with an email address (person, company, or combined).

<?php

use Tomba\Client;
use Tomba\Services\Enrichment;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$enrichment = new Enrichment($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');

Phone Finder

Search for phone numbers associated with an email, domain, or LinkedIn profile.

<?php

use Tomba\Client;
use Tomba\Services\Finder;
use Tomba\Services\Phone;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

// Via Finder service
$finder = new Finder($client);
$result = $finder->phoneFinder('john@example.com');

// Via Phone service
$phone = new Phone($client);
$result = $phone->phoneFinder(['email' => 'john@example.com']);

Phone Validator

Validate a phone number and retrieve additional information.

<?php

use Tomba\Client;
use Tomba\Services\Phone;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$phone = new Phone($client);
$result = $phone->phoneValidator('+1234567890', 'US');

Email Count

Get the total number of email addresses found for a domain.

<?php

use Tomba\Client;
use Tomba\Services\Count;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$count = new Count($client);
$result = $count->emailCount('stripe.com');

Domain Status

Check if a domain is a webmail or disposable domain.

<?php

use Tomba\Client;
use Tomba\Services\Status;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$status = new Status($client);
$result = $status->domainStatus('stripe.com');

Domain Suggestions (Autocomplete)

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

<?php

use Tomba\Client;
use Tomba\Services\Status;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$status = new Status($client);
$result = $status->autoComplete('stripe');

Email Sources

Find where an email address has been found on the web.

<?php

use Tomba\Client;
use Tomba\Services\Sources;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$sources = new Sources($client);
$result = $sources->emailSources('john@example.com');

Email Format

Discover the email format used by a domain (e.g., first.last, first_last).

<?php

use Tomba\Client;
use Tomba\Services\Format;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$format = new Format($client);
$result = $format->emailFormat('stripe.com');

Similar Domains

Find websites similar to a given domain.

<?php

use Tomba\Client;
use Tomba\Services\Similar;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$similar = new Similar($client);
$result = $similar->websites('stripe.com');

Technology Finder

Detect the technologies used by a website.

<?php

use Tomba\Client;
use Tomba\Services\Technology;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$technology = new Technology($client);
$result = $technology->list('stripe.com');

Location

Get geographic location information for a domain.

<?php

use Tomba\Client;
use Tomba\Services\Location;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$location = new Location($client);
$result = $location->getLocation('stripe.com');

Companies Search (Reveal)

Search for companies using various filters and criteria.

<?php

use Tomba\Client;
use Tomba\Services\Reveal;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$reveal = new Reveal($client);
$result = $reveal->companiesSearch(['query' => 'technology', 'page' => 1]);

Leads

Manage your leads: list, get, create, update, and delete.

<?php

use Tomba\Client;
use Tomba\Services\Leads;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$leads = new Leads($client);

// List leads
$result = $leads->listLeads(page: 1, limit: 10);

// Get a single lead
$result = $leads->getLead('lead_id');

// Create a lead
$result = $leads->createLead([
    'email' => 'john@example.com',
    'first_name' => 'John',
    'last_name' => 'Doe',
]);

// Update a lead
$result = $leads->updateLead('lead_id', ['first_name' => 'Jane']);

// Delete a lead
$result = $leads->deleteLead('lead_id');

Leads Lists

Manage your leads lists: list, create, update, and delete.

<?php

use Tomba\Client;
use Tomba\Services\LeadsLists;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$leadsLists = new LeadsLists($client);

// Get all lists
$result = $leadsLists->getLists();

// Create a list
$result = $leadsLists->createList();

// Update a list
$result = $leadsLists->updateListId('list_id');

// Delete a list
$result = $leadsLists->deleteListId('list_id');

Lead Attributes

Manage custom lead attributes: list, create, update, and delete.

<?php

use Tomba\Client;
use Tomba\Services\LeadsAttributes;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$attributes = new LeadsAttributes($client);

// Get all attributes
$result = $attributes->getLeadAttributes();

// Create an attribute
$result = $attributes->createLeadAttribute();

// Update an attribute
$result = $attributes->updateLeadAttribute('attribute_id');

// Delete an attribute
$result = $attributes->deleteLeadAttribute('attribute_id');

Keys

Manage your API keys: list, create, reset, and delete.

<?php

use Tomba\Client;
use Tomba\Services\Keys;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$keys = new Keys($client);

// List all keys
$result = $keys->getKeys();

// Create a key
$result = $keys->createKey();

// Reset a key
$result = $keys->resetKey('key_id');

// Delete a key
$result = $keys->deleteKey('key_id');

Usage

Retrieve your monthly API request usage statistics.

<?php

use Tomba\Client;
use Tomba\Services\Usage;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$usage = new Usage($client);
$result = $usage->getUsage();

Logs

Retrieve your last 1,000 API requests made during the last 3 months.

<?php

use Tomba\Client;
use Tomba\Services\Logs;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$logs = new Logs($client);
$result = $logs->getLogs(page: 1, limit: 20);

Flag

Flag email addresses as invalid or incorrect.

<?php

use Tomba\Client;
use Tomba\Services\Flag;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$flag = new Flag($client);

// List all flags
$result = $flag->listFlags();

// Create a flag
$result = $flag->createFlag('invalid@example.com', 'Email bounced');

Bulk Operations

Manage bulk tasks for domain search, email finding, and verification.

<?php

use Tomba\Client;
use Tomba\Services\Bulk;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$bulk = new Bulk($client);

// List bulk tasks
$result = $bulk->listBulks('finder');

// Create a bulk task
$result = $bulk->createBulk('verifier', ['emails' => ['a@example.com', 'b@example.com']]);

// Get bulk task details
$result = $bulk->getBulk('verifier', 123);

// Launch a bulk task
$result = $bulk->launchBulk('verifier', 123);

// Check progress
$result = $bulk->bulkProgress('verifier', 123);

// Download results
$result = $bulk->downloadBulk('verifier', 123);

// Rename a bulk task
$result = $bulk->renameBulk('verifier', 123, 'My Batch');

// Archive a bulk task
$result = $bulk->archiveBulk('verifier', 123);

// Delete a bulk task
$result = $bulk->deleteBulk('verifier', 123);

Account

Retrieve information about the current account.

<?php

use Tomba\Client;
use Tomba\Services\Account;

$client = new Client();
$client->setKey('ta_xxxx')->setSecret('ts_xxxx');

$account = new Account($client);
$result = $account->getAccount();

Testing

Run the test suite with PHPUnit:

composer test

Lint and format code:

composer lint
composer format

Documentation

See the official 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

Licensed under the Apache 2.0 license.

About

Official PHP library for Tomba Email Finder

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages