NAV
cURL Python Node.js Ruby JAVA PHP Rlang Dart CLI

Introduction

We are maintaining a Public API. This service allows any developers to retrieve and manage TOmba data with HTTP requests.

This documentation will show you how to query.

The main calls are available:

API endpoint

https://api.tomba.io/v1/

API endpoint

Authentication

Authentication is made with a key and secret you will have to add to every call you make to our API. This parameter is always required. We'll return an error if the key is either missing or invalid.

Your API key and secret is what identifies your account, so make sure to keep it secret! You can at anytime generate or delete API keys and rest secret on Secret Key.

Api Authorization Location
key X-Tomba-Key header
secret X-Tomba-Secret header

Errors

Tomba API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
402 The Email Verification failed because of an unexpected response from the remote SMTP server. This failure is outside of our control. We advise you to retry later.
403 Forbidden -- The kitten requested is hidden for administrators only.
404 Not Found -- The specified kitten could not be found.
405 Method Not Allowed -- You tried to access a kitten with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The kitten requested has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- You're requesting too many kittens! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Rate Limits

If you exceed that limit we'll return a 429 HTTP status code to you.

Paid plans come with higher monthly limits

HTTPS / SSL

Our API is available over a secure HTTPS connection for all users, even on the free plan. Simply add https:// to the request URLs to make the requests secure.

Data

When you use Tomba , you access data from one unique source: the public web. Every day, we analyze millions of websites to index the most up to date business data.

Data at scale

We are the largest professional email database of companies and domains in the world. We have 160+m email from 55 millions domains, all bought together into a standardized global schema.

Direct from source

We only collect data from the official source itself, we do not use third party data providers to access this data, and we provide direct line of sight to the original source.

Libraries

Language Libraries

Official libraries for common programming languages, like PHP, Python etc.

Language Status Link Package Manager
Javascript Released tomba-io/node NPM package
Ruby Released tomba-io/ruby Ruby Gems
R Released tomba-io/r CRAN
Dart Released tomba-io/dart Pub
Python Released tomba-io/python PyPi
PHP Released tomba-io/php Packagist
Deno Released tomba-io/deno Deno land
C# Released tomba-io/csharp Nuget
Rust Released tomba-io/rust crates.io
Lua Released tomba-io/lua luarocks
Elixir Released tomba-io/elixir hex.pm
Go Released tomba-io/go GitHub
Java In progress tomba-io/java Maven Central
Perl Released tomba-io/perl GitHub

Framework Libraries

Official libraries for common frameworks. These libraries should use the official language library as a dependency, so for example the Django library should use the Python library.

In the framework libraries we can assume more about the developer's use case, and we probably have access to more information, such as a HTTP request object. We can therefore implement additional functionality that doesn't make sense in the core language library. This includes bot filtering (not sending requests to our API if the user agent belongs to a "bot").

Account Information

Returns information about the current account.

curl --request GET \
  --url 'https://api.tomba.io/v1/me' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'
use Tomba\Client;
use Tomba\Services\Account;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$account = new Account($client);

$result = $account->getAccount();

from tomba.client import Client
from tomba.services.account import Account

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

account = Account(client)

result = account.get_account()

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let account = new tomba.Account(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = account.getAccount();

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

account = Tomba::Account.new(client);

response = account.get_account();

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- account(client)
data
import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Account account = Account(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = account.getAccount();

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}

HTTP Request

GET /me

The parameters are defined as follows

Parameter Default Description
key Required Your API key
secret Required Your API secret

Response Objects details

Full Response

{
  "data": {
    "user_id": 283,
    "secret_token": "ts_d611fc23-504c-4c13-8943-a48d98db38bf",
    "role": 2,
    "confirmed": true,
    "blocked": false,
    "first_name": "******",
    "last_name": "****",
    "email": "******@tomba.io",
    "phone": "+3550556254142",
    "image": "https://lh3.googleusercontent.com/a/xxxxxx=s96-c",
    "deleted": false,
    "provider": "google",
    "timezone": "XXX/XXXX",
    "newsletter": false,
    "activity": false,
    "title": null,
    "country": "***",
    "created_at": "2021-03-08T14:39:52+01:00",
    "ip": "105.98.231.150",
    "issued": "2023-10-12T12:34:10+02:00",
    "expired": "2023-11-11T11:34:10+01:00",
    "expired_subscription": "2024-06-23T21:58:07+02:00",
    "pricing": {
      "name": "Enterprise",
      "pricing_id": 5,
      "available_searches": 50000,
      "available_verifications": 100000,
      "available_phones": 5000,
      "available_leads": 50000,
      "available_list": 500,
      "available_attr": 29,
      "available_keys": 50,
      "available_teams": 20,
      "available_b2b": 25,
      "available_sources": 500,
      "available_email_count": 80000,
      "frequency": "monthly",
      "price_monthly": "389",
      "price_yearly": "3501",
      "update_url": null,
      "cancel_url": null
    },
    "teams": {
      "team_id": null,
      "role": null,
      "workspace": null,
      "export": null,
      "bulks": null,
      "limit": {
        "search": null,
        "verifier": null
      },
      "owner": null
    },
    "requests": {
      "domains": {
        "available": 50000,
        "used": 51
      },
      "verifications": {
        "available": 100000,
        "used": 1
      },
      "phones": {
        "available": 5000,
        "used": 0
      },
      "b2b": {
        "available": 25,
        "used": 0
      }
    }
  }
}

Domain Search

Search emails are based on the website You give one domain name and it returns all the email addresses found on the internet.

curl --request GET \
  --url 'https://api.tomba.io/v1/domain-search?domain=stripe.com' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'
use Tomba\Client;
use Tomba\Services\Domain;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$domain = new Domain($client);

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

from tomba.client import Client
from tomba.services.domain import Domain

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

domain = Domain(client)

result = domain.domain_search('stripe.com')

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let domain = new tomba.Domain(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = domain.domainSearch("stripe.com");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

domain = Tomba::Domain.new(client);

response = domain.domain_search(domain: 'stripe.com');

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- domain_search(client, domain="tomba.io")
data

import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Domain domain = Domain(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = domain.domainSearch(
    domain: 'stripe.com',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}


HTTP Request

GET /domain-search/?domain=:domain

The parameters are defined as follows

Parameter Default Description
domain Required Domain name from which you want to find the email addresses. For example, "stripe.com".
page optional Specifies the number of email addresses to skip. The default is 1.
limit optional Specifies the max number of email addresses to return. The default is 10. valid number(10,20,50)
department optional Get only email addresses for people working in the selected department(s).
type optional Get only personal or generic email addresses.

Response Objects details

Full Response

{
    "data": {
        "organization": {
            "location": {
                "country": "US",
                "city": "San Francisco",
                "state": "California",
                "street_address": "-122.41",
                "postal_code": "94107"
            },
            "social_links": {
                "twitter_url": "https://twitter.com/stripe",
                "facebook_url": "https://www.facebook.com/StripeHQ",
                "linkedin_url": "https://www.linkedin.com/company/2135371"
            },
            "disposable": false,
            "webmail": false,
            "website_url": "stripe.com",
            "phone_number": "",
            "industries": "internet",
            "founded": "2010",
            "company_size": "1001-5000",
            "last_updated": "2023-10-14T15:02:33+02:00",
            "accept_all": true,
            "description": "Stripe is a financial infrastructure platform for businesses. Millions of companies—from the world’s largest enterprises to the most ambitious startups—use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Headquartered in San Francisco and Dublin, the company aims to increase the GDP of the internet.",
            "pattern": "{first}",
            "organization": "stripe",
            "whois": {
                "registrar_name": "SafeNames Ltd.",
                "created_date": "1995-09-12T06:00:00+02:00",
                "referral_url": "http://www.safenames.net"
            }
        },
        "emails": [
            {
                "email": "**@stripe.com",
                "first_name": "***",
                "last_name": "**",
                "full_name": "*** ***",
                "gender": "female",
                "phone_number": false,
                "type": "generic",
                "country": "US",
                "position": "Financial Crimes Analyst",
                "department": "finance",
                "seniority": "senior",
                "twitter": null,
                "linkedin": "https://www.linkedin.com/in/*****",
                "score": 55,
                "verification": {
                    "date": null,
                    "status": null
                },
                "sources": [
                    {
                        "uri": "https://stripe.com/docs/cli",
                        "website_url": "stripe.com",
                        "extracted_on": "2022-03-08T01:23:16+01:00",
                        "last_seen_on": "2022-08-04T09:42:10+02:00",
                        "still_on_page": true
                    }
                ]
            }
            ...
            ...
        ]
    },
    "meta": {
        "total": 2079,
        "pageSize": 10,
        "current": 1,
        "total_pages": 207,
        "params": {
            "domain": "stripe.com",
            "page": 1,
            "limit": 10,
            "department": "",
            "type": "all"
        }
    }
}
Attribute Type Description
organization > location.country string The country of company
organization > social_links.twitter_url string The Twitter screen name
organization > social_links.facebook_url string The Facebook screen name
organization > social_links.linkedin_url string The Linkedin screen name
organization > disposable bool is disposable email service
organization > webmail bool is webmail email
organization > website_url string The Domain of company’s website
organization > state string The company state
organization > accept_all bool The SMTP checks
organization > industries string The company industries info
organization > last_updated date The time at which we update this data
organization > organization string The Name of company
organization > pattern string The Name of company
emails array The list of Emails

Email Finder

This API endpoint generates or retrieves the most likely email address from a domain name, a first name and a last name.

curl --request GET \
  --url 'https://api.tomba.io/v1/email-finder?domain=asana.com&first_name=Moskoz&last_name=Dustin' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'
use Tomba\Client;
use Tomba\Services\Finder;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$finder = new Finder($client);

$result = $finder->emailFinder('stripe.com', 'fname', 'lname');.

from tomba.client import Client
from tomba.services.finder import Finder

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

finder = Finder(client)

result = finder.email_finder('stripe.com', 'Moskoz', 'Dustin')

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let finder = new tomba.Finder(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = finder.emailFinder("stripe.com", "fname", "lname");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

finder = Tomba::Finder.new(client);

response = finder.email_finder(domain: 'stripe.com', first_name: 'Moskoz', last_name: 'Dustin');

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- email_finder(client, domain="tomba.io",fname="FNAME",lname="LNAME")
data
import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Finder finder = Finder(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = finder.emailFinder(
    domain: 'stripe.com',
    firstName: 'Fname',
    lastName: 'Lname',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}


HTTP Request

GET /email-finder?domain=:domain&full_name=:full_name

The parameters are defined as follows

Parameter Default Description
domain Required The domain name of the company, used for emails. For example, "asana.com".
full_name Required The person's full name
first_name Required The person's first name. It doesn't need to be in lowercase..
last_name Required The person's last name. It doesn't need to be in lowercase..

Response Objects details

Full Response

{
    "data": {
        "website_url": "tomba.io",
        "accept_all": null,
        "email": "b.mohamed@tomba.io",
        "first_name": "mohamed",
        "last_name": "ben rebia",
        "full_name": "mohamed ben rebia",
        "country": null,
        "gender": "male",
        "phone_number": false,
        "position": "CEO",
        "twitter": null,
        "linkedin": "https://www.linkedin.com/in/mohamed-ben-rebia",
        "company": "Tomba technology web service LLC ",
        "score": 99,
        "verification": {
            "date": "2021-05-25T00:00:00+02:00",
            "status": "valid"
        },
        "sources": [
            {
                "uri": "https://github.com/tomba-io/generic-emails/blob/084fc1a63d3cdaf9a34f255bedc2baea49a8e8b9/src/lib/validation/hash.ts",
                "website_url": "github.com",
                "extracted_on": "2021-02-08T20:09:54+01:00",
                "last_seen_on": "2021-02-08T22:43:40+01:00",
                "still_on_page": true
            },
           ...
           ...
        ]
    }
}
Attribute Type Description
email string The email address
type string Get the count of only personal or generic email addresses.
website_url string Company domain
first_name string First name of person (if found)
last_name string Last name of person (if found)
full_name string Full formatted name of person. Sometimes this will be present even if the last_name or first_name aren’t available
country string Two letter country code based on location
accept_all bool is true if the SMTP server accepts all the email addresses. It means you can have have false positives on SMTP checks.
position string The job title of person (if found)
department string The person working in the selected department(s).
twitter string Twitter handle for the person (if found).
linkedin_url string LinkedIn URL for the person (if found).
phone_number bool true if found
company string The company of person (if found)
last_updated string The time at which we update this data

Enrichment

The Enrichment API lets you look up person and company data based on an email, For example, you could retrieve a person’s name, location and social handles from an email

curl --request GET \
  --url 'https://api.tomba.io/v1/enrich?email=b.mohamed@tomba.io' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'

HTTP Request

GET /enrich/?email=b.mohamed@tomba.io

The parameters are defined as follows

Parameter Default Description
email Required The email address to find data .

Response Objects details

Full Response

{
  "data": {
    "website_url": "tomba.io",
    "accept_all": null,
    "email": "b.mohamed@tomba.io",
    "first_name": "Mohamed",
    "last_name": "Ben rebia",
    "country": "DZ",
    "gender": "male",
    "phone_number": null,
    "position": "CEO",
    "twitter": null,
    "linkedin": "https:\/\/www.linkedin.com\/in\/mohamed-ben-rebia-4337061ba",
    "disposable": false,
    "webmail": false,
    "full_name": "Mohamed Ben rebia",
    "company": "Tomba technology web service LLC ",
    "score": 99,
    "verification": {
      "date": "2021-05-25",
      "status": "valid"
    },
    "sources": [{
        "uri": "https:\/\/github.com\/tomba-io\/generic-emails\/blob\/084fc1a63d3cdaf9a34f255bedc2baea49a8e8b9\/src\/lib\/validation\/hash.ts",
        "website_url": "github.com",
        "extracted_on": "2021-02-08T20:09:54+01:00",
        "last_seen_on": "2021-02-08T22:43:40+01:00",
        "still_on_page": true
      }, {
        "uri": "https:\/\/github.com\/tomba-io\/generic-emails\/blame\/084fc1a63d3cdaf9a34f255bedc2baea49a8e8b9\/src\/lib\/validation\/hash.ts",
        "website_url": "github.com",
        "extracted_on": "2021-02-08T20:09:59+01:00",
        "last_seen_on": "2021-02-08T22:43:40+01:00",
        "still_on_page": true
      }
      ....
      ....
      ....
    ]
  }
}
Attribute Type Description
email string The email address
website_url string Company domain
first_name string First name of person
last_name string Last name of person
full_name string Full formatted name of person. Sometimes this will be present even if the last_name or first_name aren’t available
country string Two letter country code based on location
accept_all bool is true if the SMTP server accepts all the email addresses. It means you can have have false positives on SMTP checks.
position string The job title of person (if found)
twitter string Twitter handle for the person (if found).
linkedin_url string LinkedIn URL for the person (if found).
phone_number bool true (if found)
company string The company of person (if found)

Author finder

This API endpoint generates or retrieves the most likely email address from a blog post url.

curl --request GET \
  --url 'https://api.tomba.io/v1/author-finder?url=https://clearbit.com/blog/company-name-to-domain-api' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'

HTTP Request

GET /author-finder?url=:url

The parameters are defined as follows

Parameter Default Description
url Required The URL of the article. For example, "https://clearbit.com/blog/company-name-to-domain-api".

Response Objects details

Full Response

{
  "data": {
    "website_url": "clearbit.com",
    "accept_all": true,
    "email": "alex@clearbit.com",
    "first_name": "Alex",
    "last_name": "Maccaw",
    "country": "US",
    "gender": "male",
    "phone_number": null,
    "position": "founder",
    "twitter": "https://twitter.com/maccman",
    "linkedin": "https://www.linkedin.com/in/alex-maccaw-ab592978",
    "disposable": false,
    "webmail": false,
    "full_name": "Alex Maccaw",
    "company": "Clearbit",
    "score": 90,
    "verification": {
      "date": null,
      "status": null
    },
    "sources": [
      {
        "uri": "https://pypi.org/project/clearbit/",
        "website_url": "pypi.org",
        "extracted_on": "2021-01-29T20:32:08+01:00",
        "last_seen_on": "2021-02-05T02:15:43+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://growjo.com/company/Clearbit",
        "website_url": "growjo.com",
        "extracted_on": "2021-07-23T09:11:15+01:00",
        "last_seen_on": "2021-07-23T20:19:38+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://pdfcookie.com/documents/book1xlsx-025ekom5x721",
        "website_url": "pdfcookie.com",
        "extracted_on": "2021-10-01T14:53:49+01:00",
        "last_seen_on": "2021-10-03T00:55:58+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://github.com/clearbit/clearbit-ruby/blob/master/clearbit.gemspec",
        "website_url": "github.com",
        "extracted_on": "2021-12-22T15:54:30+01:00",
        "last_seen_on": "2021-12-23T00:12:25+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://github.com/clearbit/clearbit-python",
        "website_url": "github.com",
        "extracted_on": "2021-12-22T15:54:33+01:00",
        "last_seen_on": "2021-12-23T00:12:25+01:00",
        "still_on_page": true
      },
      ...
      ...
      ...
    ]
  }
}
Attribute Type Description
email string The email address
website_url string Company domain
first_name string First name of person
last_name string Last name of person
full_name string Full formatted name of person. Sometimes this will be present even if the last_name or first_name aren’t available
country string Two letter country code based on location
accept_all bool is true if the SMTP server accepts all the email addresses. It means you can have have false positives on SMTP checks.
department string The person working in the selected department(s).
twitter string Twitter handle for the person (if found).
linkedin_url string LinkedIn URL for the person (if found).
phone_number bool true if found
company string The company of person (if found)
last_updated string The time at which we update this data

Linkedin Finder

This API endpoint generates or retrieves the most likely email address from a Linkedin URL.

curl --request GET \
  --url 'https://api.tomba.io/v1/linkedin?url=https://www.linkedin.com/in/alex-maccaw-ab592978' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'

HTTP Request

GET /linkedin?url=:url

The parameters are defined as follows

Parameter Default Description
url Required The URL of the Linkedin. For example, "https://clearbit.com/blog/company-name-to-domain-api".

Response Objects details

Full Response

{
  "data": {
    "website_url": "clearbit.com",
    "accept_all": true,
    "email": "alex@clearbit.com",
    "first_name": "Alex",
    "last_name": "Maccaw",
    "country": "US",
    "gender": "male",
    "phone_number": null,
    "position": "founder",
    "twitter": "https://twitter.com/maccman",
    "linkedin": "https://www.linkedin.com/in/alex-maccaw-ab592978",
    "disposable": false,
    "webmail": false,
    "full_name": "Alex Maccaw",
    "company": "Clearbit",
    "score": 90,
    "verification": {
      "date": null,
      "status": null
    },
    "sources": [
      {
        "uri": "https://pypi.org/project/clearbit/",
        "website_url": "pypi.org",
        "extracted_on": "2021-01-29T20:32:08+01:00",
        "last_seen_on": "2021-02-05T02:15:43+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://growjo.com/company/Clearbit",
        "website_url": "growjo.com",
        "extracted_on": "2021-07-23T09:11:15+01:00",
        "last_seen_on": "2021-07-23T20:19:38+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://pdfcookie.com/documents/book1xlsx-025ekom5x721",
        "website_url": "pdfcookie.com",
        "extracted_on": "2021-10-01T14:53:49+01:00",
        "last_seen_on": "2021-10-03T00:55:58+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://github.com/clearbit/clearbit-ruby/blob/master/clearbit.gemspec",
        "website_url": "github.com",
        "extracted_on": "2021-12-22T15:54:30+01:00",
        "last_seen_on": "2021-12-23T00:12:25+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://github.com/clearbit/clearbit-python",
        "website_url": "github.com",
        "extracted_on": "2021-12-22T15:54:33+01:00",
        "last_seen_on": "2021-12-23T00:12:25+01:00",
        "still_on_page": true
      },
      ...
      ...
      ...
    ]
  }
}
Attribute Type Description
email string The email address
website_url string Company domain
first_name string First name of person
last_name string Last name of person
full_name string Full formatted name of person. Sometimes this will be present even if the last_name or first_name aren’t available
country string Two letter country code based on location
accept_all bool is true if the SMTP server accepts all the email addresses. It means you can have have false positives on SMTP checks.
department string The person working in the selected department(s).
twitter string Twitter handle for the person (if found).
linkedin_url string LinkedIn URL for the person (if found).
phone_number bool true if found
company string The company of person (if found)
last_updated string The time at which we update this data

Email Verifier

This API endpoint allows you to verify the deliverability of an email address.

Tomba focuses on B2B. Therefore, Webmail are not verified. We'll run every check but won't reach the remote SMTP server.

curl --request GET \
  --url 'https://api.tomba.io/v1/email-verifier/b.mohamed@tomba.io' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'
use Tomba\Client;
use Tomba\Services\Verifier;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$verifier = new Verifier($client);

$result = $verifier->emailVerifier('b.mohamed@tomba.io');

from tomba.client import Client
from tomba.services.verifier import Verifier

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

verifier = Verifier(client)

result = verifier.email_verifier('b.mohamed@tomba.io')

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let verifier = new tomba.Verifier(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = verifier.emailVerifier("b.mohamed@tomba.io");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

verifier = Tomba::Verifier.new(client);

response = verifier.email_verifier(email: 'b.mohamed@tomba.io');

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- email_verifier(client, email="b.mohamed@tomba.io")
data

import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Verifier verifier = Verifier(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = verifier.emailVerifier(
    email: 'b.mohamed@tomba.io',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}

HTTP Request

GET /email-verifier/:email

The parameters are defined as follows

Parameter Default Description
email Required The email address you want to verify.

Response Objects details

Full Response

{
  "data": {
    "email": {
      "mx_records": true,
      "smtp_server": true,
      "smtp_check": true,
      "accept_all": false,
      "block": false,
      "email": "b.mohamed@tomba.io",
      "gibberish": false,
      "disposable": false,
      "webmail": false,
      "regex": true,
      "whois": {
        "registrar_name": "NameCheap, Inc.",
        "created_date": "2020-07-07 20:54:07",
        "referral_url": "https://www.namecheap.com/"
      },
      "status": "valid",
      "result": "deliverable",
      "score": 100
    },
    "sources": [
      {
        "uri": "https://github.com/tomba-io/generic-emails/blob/084fc1a63d3cdaf9a34f255bedc2baea49a8e8b9/src/lib/validation/hash.ts",
        "website_url": "github.com",
        "extracted_on": "2021-02-08T20:09:54+01:00",
        "last_seen_on": "2021-02-08T22:43:40+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://github.com/tomba-io/generic-emails/blame/084fc1a63d3cdaf9a34f255bedc2baea49a8e8b9/src/lib/validation/hash.ts",
        "website_url": "github.com",
        "extracted_on": "2021-02-08T20:09:59+01:00",
        "last_seen_on": "2021-02-08T22:43:40+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://katta.co/tomba-review/",
        "website_url": "katta.co",
        "extracted_on": "2021-06-02T13:41:50+02:00",
        "last_seen_on": "2021-06-02T18:26:12+02:00",
        "still_on_page": true
      },
      {
        "uri": "https://shards.info/github/benemohamed/",
        "website_url": "shards.info",
        "extracted_on": "2021-10-26T15:36:04+02:00",
        "last_seen_on": "2021-12-22T23:57:50+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://githubmemory.com/repo/tomba-io/python",
        "website_url": "githubmemory.com",
        "extracted_on": "2021-10-26T15:36:37+02:00",
        "last_seen_on": "2021-12-22T23:57:49+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://pypi.org/project/tomba-io/",
        "website_url": "pypi.org",
        "extracted_on": "2021-10-26T15:37:41+02:00",
        "last_seen_on": "2021-10-26T15:37:46+02:00",
        "still_on_page": true
      },
      {
        "uri": "https://www.npmjs.com/package/tomba",
        "website_url": "www.npmjs.com",
        "extracted_on": "2021-10-26T15:39:28+02:00",
        "last_seen_on": "2021-10-26T15:39:36+02:00",
        "still_on_page": true
      },
      {
        "uri": "https://cnpmjs.org/package/tomba",
        "website_url": "cnpmjs.org",
        "extracted_on": "2021-10-26T18:58:53+02:00",
        "last_seen_on": "2021-12-22T23:58:49+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://packosphere.com/tombaio/tomba-meteor",
        "website_url": "packosphere.com",
        "extracted_on": "2021-10-28T00:52:33+02:00",
        "last_seen_on": "2021-12-23T00:02:43+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://www.pkgstats.com/pkg:tomba",
        "website_url": "www.pkgstats.com",
        "extracted_on": "2021-10-28T00:53:39+02:00",
        "last_seen_on": "2021-10-28T00:53:44+02:00",
        "still_on_page": true
      },
      {
        "uri": "https://pub.dev/packages/tomba",
        "website_url": "pub.dev",
        "extracted_on": "2021-10-30T15:28:18+02:00",
        "last_seen_on": "2021-10-30T15:28:45+02:00",
        "still_on_page": true
      },
      {
        "uri": "https://pub.dev/packages/tomba/license",
        "website_url": "pub.dev",
        "extracted_on": "2021-10-30T15:28:19+02:00",
        "last_seen_on": "2021-10-30T15:28:45+02:00",
        "still_on_page": true
      },
      {
        "uri": "https://pub.dev/packages/tomba/versions/1.0.0",
        "website_url": "pub.dev",
        "extracted_on": "2021-10-30T15:28:25+02:00",
        "last_seen_on": "2021-10-30T15:28:47+02:00",
        "still_on_page": true
      },
      {
        "uri": "https://cnpmjs.org/package/tomba/v/1.0.0",
        "website_url": "cnpmjs.org",
        "extracted_on": "2021-12-22T14:21:30+01:00",
        "last_seen_on": "2021-12-22T23:58:49+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://r.cnpmjs.org/tomba",
        "website_url": "r.cnpmjs.org",
        "extracted_on": "2021-12-22T14:23:16+01:00",
        "last_seen_on": "2021-12-22T23:58:51+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://github.com/tomba-io/r",
        "website_url": "github.com",
        "extracted_on": "2021-12-22T14:41:25+01:00",
        "last_seen_on": "2021-12-23T00:02:09+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://rdrr.io/cran/tomba/f/README.md",
        "website_url": "rdrr.io",
        "extracted_on": "2021-12-22T14:41:37+01:00",
        "last_seen_on": "2021-12-23T00:02:18+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://packosphere.com/tombaio/tomba-meteor/1.0.0",
        "website_url": "packosphere.com",
        "extracted_on": "2021-12-22T14:42:21+01:00",
        "last_seen_on": "2021-12-23T00:02:43+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://githubmemory.com/repo/tomba-io/node",
        "website_url": "githubmemory.com",
        "extracted_on": "2021-12-22T15:44:03+01:00",
        "last_seen_on": "2021-12-23T00:10:51+01:00",
        "still_on_page": true
      },
      {
        "uri": "https://www.nuget.org/packages/Tomba/1.0.0",
        "website_url": "www.nuget.org",
        "extracted_on": "2021-12-22T15:44:25+01:00",
        "last_seen_on": "2021-12-23T00:10:52+01:00",
        "still_on_page": true
      }
    ]
  }
}
Attribute Type Description
email string The email address to look up.
mx_records bool is true if we find MX records exist on the domain of the given email address.
smtp_server bool is true if we connect to the SMTP server successfully.
smtp_check bool is true if the email address doesn't bounce.
accept_all bool is true if the SMTP server accepts all the email addresses. It means you can have have false positives on SMTP checks.
block bool is true if the SMTP server prevented us to perform the SMTP check.
score int The deliverability score we give to the email address.
regex bool The email address passes our regular expression.
full_name string The person's full name.
status string returns the status of the email address. It takes 1 out of 6 possible values:valid,invalid,accept_all,webmail,disposable,unknown
result string returns the main status of the verification. It takes 1 out of 3 possible values: deliverable,undeliverable,risky
score int is the deliverability score we give to the email address. For webmail and disposable emails, we provide an arbitrary score of 50.
source array The given email address somewhere on the web

Email Sources

Find email address source somewhere on the web

curl --request GET \
  --url 'https://api.tomba.io/v1/email-sources/b.mohamed@tomba.io' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ts_xxxx'
use Tomba\Client;
use Tomba\Services\Sources;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$sources = new Sources($client);

$result = $sources->emailSources('b.mohamed@tomba.io');

from tomba.client import Client
from tomba.services.sources import Sources

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

sources = Sources(client)

result = sources.email_sources('b.mohamed@tomba.io')

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let sources = new tomba.Sources(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = sources.emailSources("b.mohamed@tomba.io");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

sources = Tomba::Sources.new(client);

response = sources.email_sources(email: 'b.mohamed@tomba.io');

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- email_sources(client, email="b.mohamed@tomba.io")
data

import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Sources sources = Sources(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = sources.emailSources(
    email: 'b.mohamed@tomba.io',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}

HTTP Request

GET /email-sources/:email

The parameters are defined as follows

Parameter Default Description
email Required The email address you want to find sources.

Response Objects details

Full Response

{
  "email": "b.mohamed@tomba.io",
  "data": [
    {
      "uri": "https://github.com/tomba-io/generic-emails/blob/084fc1a63d3cdaf9a34f255bedc2baea49a8e8b9/src/lib/validation/hash.ts",
      "extracted_on": "2021-02-08T20:09:54+01:00",
      "last_seen_on": "2021-02-08T22:43:40+01:00",
      "still_on_page": true,
      "website_url": "github.com"
    },
    {
      "uri": "https://github.com/tomba-io/generic-emails/blame/084fc1a63d3cdaf9a34f255bedc2baea49a8e8b9/src/lib/validation/hash.ts",
      "extracted_on": "2021-02-08T20:09:59+01:00",
      "last_seen_on": "2021-02-08T22:43:40+01:00",
      "still_on_page": true,
      "website_url": "github.com"
    }
  ]
}
Attribute Type Description
email string The email address to look up.
source array The given email address somewhere on the web

Phone Finder

Search phone are based on the email You give one email and it returns phone data

curl --request GET \
  --url 'https://api.tomba.io/v1/phone/******@zapier.com' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx' \
  --header 'X-Tomba-Secret: ts_xxxx'

HTTP Request

GET /phone/:email

The parameters are defined as follows

Parameter Default Description
email Required The email address you want to find phone

Response Objects details

Full Response

{
  "data": {
    "email": "******@zapier.com",
    "valid": true,
    "local_format": "(877) 381-8743",
    "intl_format": "+1 877-381-8743",
    "e164_format": "+18773818743",
    "rfc3966_format": "tel:+1-877-381-8743",
    "country_code": "US",
    "line_type": "TOLL_FREE",
    "carrier": null,
    "timezones": "America/Adak"
  }
}
Attribute Type Description
email string returns The email address to look up.
valid bool returns the status of the phone.
local_format string returns the local format
intl_format string returns the international format
e164_format string returns the e164 format
rfc3966_format string returns the rfc3966 format
country_code string returns the phone country code
line_type string returns the phone type line
carrier string returns the phone carrier
timezones string returns the phone timezones

Leads

List all your leads

Returns a list of leads.

curl --request GET \
  --url 'https://api.tomba.io/v1/leads/' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

GET /leads/

The parameters are defined as follows

Parameter Default Description
page optional Specifies the number of leads to skip. The default is 1.
list optional lead list ID default is null
limit optional Specifies the max number of email addresses to return. The default is 10.
sortby optional Filter lead by email,first_name,last_name,country,website_url...
direction optional Filter lead by desc,asc

Response Objects details

Attribute Type Description
id int Lead ID
email string The email address
first_name string First name of lead
last_name string Last name of lead
country string Two letter country code based on location
website_url string Company domain
position string The job title of lead
twitter string Twitter handle for the lead
linkedin string LinkedIn URL for the lead
phone_number string The phone number of lead
company string The company of lead
lead_source string The lead source default is null or one of the following values: domain, finder, verify, browser.
sync_status string The lead synchronization status default is null or one of the following values: success, pending, error.
sync object sync CRM integrations status
leads_list object List info
attributes object attributes value

Full Response

{
  "data": {
    "leads": [
      {
        "id": 84,
        "user_id": 1,
        "email": "xxx@mozilla.com",
        "first_name": "ed",
        "last_name": "lim",
        "country": "US",
        "website_url": "mozilla.com",
        "position": "senior system administrator",
        "twitter": null,
        "linkedin": "https://www.linkedin.com/in/edwardlim",
        "phone_number": null,
        "company": "Mozilla Toronto",
        "notes": "Notes",
        "score": 95,
        "lead_source": "domain",
        "sync_status": null,
        "sync": {
          "sync_airtable": null,
          "sync_hubspot": null,
          "sync_mailchimp": null,
          "sync_pipedrive": null
        },
        "leads_list": {
          "list_id": 10,
          "name": "test2"
        },
        "attributes": [],
        "created_at": "2021-02-02T23:04:43+01:00",
        "updated_at": "2021-02-09T23:57:41+01:00"
      },
      {
        "id": 83,
        "user_id": 1,
        "email": "xxxx@mozilla.com",
        "first_name": "nick",
        "last_name": "nguyen",
        "country": "US",
        "website_url": "mozilla.com",
        "position": "vp firefox product",
        "twitter": null,
        "linkedin": "https://www.linkedin.com/in/osunick",
        "phone_number": null,
        "company": "Mozilla Toronto",
        "notes": null,
        "score": 95,
        "lead_source": "domain",
        "sync_status": null,
        "sync": {
          "sync_airtable": null,
          "sync_hubspot": null,
          "sync_mailchimp": null,
          "sync_pipedrive": null
        },
        "leads_list": {
          "list_id": 10,
          "name": "test2"
        },
        "attributes": [],
        "created_at": "2021-02-02T23:04:43+01:00",
        "updated_at": "2021-02-09T23:57:41+01:00"
      }
    ],
    "meta": {
      "total": 2,
      "pageSize": 50,
      "current": 1,
      "total_pages": 1
    }
  }
}

Get a lead

Returns a lead.

curl --request GET \
  --url 'https://api.tomba.io/v1/leads/2' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

GET /leads/:id

The parameters are defined as follows

Parameter Default Description
id Required lead ID .

Response Objects details

Attribute Type Description
id int Lead ID
email string The email address
first_name string First name of lead
last_name string Last name of lead
country string Two letter country code based on location
website_url string Company domain
position string The job title of lead
twitter string Twitter handle for the lead
linkedin string LinkedIn URL for the lead
phone_number string The phone number of lead
company string The company of lead
lead_source string The lead source default is null or one of the following values: domain, finder, verify, browser.
sync_status string The lead synchronization status default is null or one of the following values: success, pending, error.
sync object sync CRM integrations status
leads_list object List info
attributes object attributes value

Full Response

{
  "data": {
    "leads": [
      {
        "id": 8420,
        "user_id": 1,
        "email": "b.mohamed@tomba.io",
        "first_name": "Mohamed",
        "last_name": "Ben rebia",
        "country": "DZ",
        "website_url": "tomba.io",
        "position": "ceo",
        "twitter": null,
        "linkedin": "https://www.linkedin.com/in/mohamed-ben-rebia-4337061ba",
        "phone_number": null,
        "company": "Tomba technology web service LLC ",
        "notes": null,
        "score": 95,
        "lead_source": "browser",
        "sync_status": true,
        "sync_airtable": true,
        "sync_hubspot": true,
        "sync_mailchimp": true,
        "sync_pipedrive": true,
        "leads_list": { "list_id": 117, "name": "CEO" },
        "attributes": [],
        "created_at": "2021-06-07T20:31:20+01:00",
        "updated_at": "2022-07-03T14:31:30+01:00"
      }
    ]
  }
}

Create a lead

Create a new lead . If the email already exists, fails with 422 status code.

curl --request POST \
  --url 'https://api.tomba.io/v1/leads' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
  --data '{
    "list_id": 22,
    "email": "Grover12@hotmail.com",
    "first_name": "Jefferey Hoppe",
    "last_name": "Romaguera",
    "position": "Customer Data Executive",
    "company": "Branding",
    "score": 95,
    "website_url": "asana.com",
    "phone_number": "506-993-3955",
    "twitter": "moskov",
    "country": "UA",
    "linkedin": "ASD",
    "notes": "ASDDDDDDDDDDDD"
}'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

POST /leads

The parameters are defined as follows

Parameter Default Description
email Required The email address
list optional List ID
first_name optional First name of lead
last_name optional Last name of lead
country optional Two letter country code based on location
website_url optional Company domain
position optional The job title of lead
twitter optional Twitter handle for the lead
linkedin optional LinkedIn URL for the lead
phone_number optional The phone number of lead
company optional The company of lead
attributes optional attributes value

Response Objects details

Attribute Type Description
data -> id int Lead ID

Full Response

{
  "data": {
    "id": 117
  }
}

Update a lead

Update the fields of a lead using id.

curl --request PUT \
  --url 'https://api.tomba.io/v1/leads/278' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx' \
  --data '{
    "email": "mohamed@xasdasd.io",
    "first_name": "Mohamed",
    "last_name": "Mohamed",
    "country": null,
    "website_url": "google.com",
    "position": "CEO",
    "twitter": "moskov",
    "linkedin_url": "dmoskov",
    "phone_number": "",
    "company": "Asana",
    "attributes" :{
        "updatesdsad" : "mo",
        "wee" : "mo",
        "s": "6"

    }
}'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

PUT /leads/:id

The parameters are defined as follows

Parameter Default Description
id Required list ID .
email optional The email address
list optional List ID
first_name optional First name of lead
last_name optional Last name of lead
country optional Two letter country code based on location
website_url optional Company domain
position optional The job title of lead
twitter optional Twitter handle for the lead
linkedin optional LinkedIn URL for the lead
phone_number optional The phone number of lead
company optional The company of lead
attributes optional attributes value

Response Objects details

Attribute Type Description
status bool true if updated
message string note message

Full Response

{
  "status": true,
  "message": "The lead has been updated successfully."
}

Delete a lead

Delete a specific lead by passing id.

curl --request DELETE \
  --url 'https://api.tomba.io/v1/leads/275' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

DELETE //v1/leads/:id

The parameters are defined as follows

Parameter Default Description
id Required list ID .

Response Objects details

Attribute Type Description
status bool true if deleted
message string note message

Full Response

{
  "status": true,
  "message": "The lead has been delete successfully."
}

Lead Attributes

List all your lead attributes

Returns a list of Lead Attributes.

curl --request GET \
  --url https://api.tomba.io/v1/attributes \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

GET /attributes/

The parameters are defined as follows

Response Objects details

Attribute Type Description
attributes -> id int attribute ID
attributes -> name string Name of the custom attribute
attributes -> identifier string identifier of attribute read only It can't be edited
attributes -> type string type attributes string, date, number only.
attributes -> date_created string The date of creation
attributes -> date_modified string the date when the attr was updated

Full Response

{
  "data": {
    "attributes": [
      {
        "id": 48,
        "name": "ALLO",
        "identifier": "allo",
        "type": "string",
        "date_created": "2020-12-11T08:18:37+01:00",
        "date_modified": "2020-12-13T08:47:22+01:00"
      },
      {
        "id": 47,
        "name": "ASD ASD",
        "identifier": "asd_asd",
        "type": "date",
        "date_created": "2020-12-11T08:16:22+01:00",
        "date_modified": "2020-12-11T08:16:22+01:00"
      },
      {
        "id": 46,
        "name": "AS ASD",
        "identifier": "as-asd",
        "type": "number",
        "date_created": "2020-12-11T08:15:47+01:00",
        "date_modified": "2020-12-11T08:15:47+01:00"
      },
      {
        "id": 6,
        "name": "s",
        "identifier": "s",
        "type": "number",
        "date_created": "2020-12-09T03:35:41+01:00",
        "date_modified": "2020-12-09T03:35:55+01:00"
      },
      {
        "id": 5,
        "name": "swe",
        "identifier": "swe",
        "type": "date",
        "date_created": "2020-12-09T03:35:15+01:00",
        "date_modified": "2020-12-09T03:35:15+01:00"
      },
      {
        "id": 4,
        "name": "wee",
        "identifier": "wee",
        "type": "string",
        "date_created": "2020-12-09T03:34:24+01:00",
        "date_modified": "2020-12-09T03:34:24+01:00"
      },
      {
        "id": 3,
        "name": "xxx",
        "identifier": "xxx",
        "type": "string",
        "date_created": "2020-12-09T03:03:17+01:00",
        "date_modified": "2020-12-09T03:33:18+01:00"
      },
      {
        "id": 2,
        "name": "updatesdsad",
        "identifier": "updatesdsad",
        "type": "string",
        "date_created": "2020-12-09T03:02:55+01:00",
        "date_modified": "2020-12-12T09:20:19+01:00"
      },
      {
        "id": 1,
        "name": "ssssss",
        "identifier": "ssssss",
        "type": "date",
        "date_created": "2020-12-07T05:37:53+01:00",
        "date_modified": "2020-12-09T03:33:31+01:00"
      }
    ],
    "meta": {
      "total": 9,
      "pageSize": 50,
      "current": 1,
      "total_pages": 1
    }
  }
}

Get a attributes

Returns a Lead Attributes.

curl --request GET \
  --url 'https://api.tomba.io/v1/attributes/38' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

GET /attributes/:id

The parameters are defined as follows

Parameter Default Description
id Required attribute ID .

Response Objects details

Attribute Type Description
attributes -> id int attribute ID
attributes -> name string Name of the custom attribute
attributes -> identifier string identifier of attribute read only It can't be edited
attributes -> type string type attributes string, date, number only.
attributes -> date_created string The date of creation
attributes -> date_modified string the date when the attr was updated

Full Response

{
  "data": {
    "attributes": [
      {
        "id": 38,
        "name": "salary",
        "type": "number",
        "date_created": "2020-12-07T05:37:53+01:00",
        "date_modified": "2020-12-07T05:37:53+01:00"
      }
    ]
  }
}

Create a Lead Attributes

Create a new Attributes with the name and type request parameter. If the Attributes name already exists, fails with 422 status code.

curl --request POST \
  --url 'https://api.tomba.io/v1/attributes' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx' \
  --data '{"name": "Millie","type": "date"}'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

POST /attributes

The parameters are defined as follows

Parameter Default Description
name Required Name of the custom attribute
type Required type attributes string, date, number only.

Response Objects details

Attribute Type Description
data -> id int attribute ID

Full Response

{
  "data": {
    "id": 51
  }
}

Update a Lead Attributes

Update the fields of a Attributes using id.

curl --request PUT \
  --url 'https://api.tomba.io/v1/attributes/41' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx' \
  --data '{"name": "total ","type": "string"}'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

PUT /attributes/:id

The parameters are defined as follows

Parameter Default Description
id Required attribute ID .
name Required Name of the custom attribute
type Required type attributes string, date, number only.

Response Objects details

Attribute Type Description
status bool true if updated
message string note message

Full Response

{
  "status": true,
  "message": "The leads lists info has been updated successfully."
}

Delete a Lead Attributes

Delete a specific Attributes by passing id.

curl --request DELETE \
  --url 'https://api.tomba.io/v1/attributes' \
  --header 'Content-Type: application/json' \
  --header 'X-Tomba-Key: ta_xxxx'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

DELETE /attributes/:id

The parameters are defined as follows

Parameter Default Description
id Required attribute ID .

Response Objects details

Attribute Type Description
status bool true if deleted
message string note message

Full Response

{
  "status": true,
  "message": "The attributes has been delete successfully."
}

Leads Lists

List all your leads lists

Returns a list of leads lists.

curl --request GET \
  --url 'https://api.tomba.io/v1/leads_lists/' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

GET /leads_lists

Response Objects details

Attribute Type Description
list_leads -> id int List ID
list_leads -> name string Name of the List
list_leads -> favorite bool is the List favorite true or false
list_leads -> type string The type is campaigns by default ,Soon we will add more Type
list_leads -> size int Total lead on this list
list_leads -> created_at string The date of creation
list_leads -> updated_at string the date when the list was updated

Full Response

{
  "data": {
    "list_leads": [
      {
        "id": 2,
        "name": "html",
        "favorite": false,
        "type": "campaigns",
        "size": 105,
        "created_at": "2020-12-13T07:59:36+01:00",
        "updated_at": "2020-12-13T07:59:36+01:00"
      },
      {
        "id": 3,
        "name": "tgevrt",
        "favorite": false,
        "type": "campaigns",
        "size": 34,
        "created_at": "2020-12-13T08:01:45+01:00",
        "updated_at": "2020-12-13T08:01:45+01:00"
      },
      {
        "id": 436,
        "name": "ce",
        "favorite": false,
        "type": "campaigns",
        "size": 4,
        "created_at": "2020-12-14T10:36:56+01:00",
        "updated_at": "2020-12-14T10:36:56+01:00"
      },
      {
        "id": 462,
        "name": "we",
        "favorite": false,
        "type": "campaigns",
        "size": 0,
        "created_at": "2020-12-14T10:29:17+01:00",
        "updated_at": "2020-12-14T10:29:17+01:00"
      }
    ]
  }
}

Get a leads list

Returns a leads list.

curl --request GET \
  --url 'https://api.tomba.io/v1/leads_lists/1' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

GET /leads_lists/:id

The parameters are defined as follows

Parameter Default Description
id Required attribute ID .

Response Objects details

Attribute Type Description
list_leads -> id int List ID
list_leads -> name string Name of the List
list_leads -> favorite bool is the List favorite true or false
list_leads -> type string The type is campaigns by default ,Soon we will add more Type
list_leads -> size int Total lead on this list
list_leads -> created_at string The date of creation
list_leads -> updated_at string the date when the list was updated

Full Response

{
  "data": [
    {
      "id": 1,
      "name": "html",
      "favorite": false,
      "type": "campaigns",
      "size": 109,
      "created_at": "2020-12-13T07:59:36+01:00",
      "updated_at": "2020-12-21T12:46:35+01:00"
    }
  ]
}

Create a leads list

Create a new leads list with the name request parameter. If the list name already exists, fails with 422 status code.

curl --request POST \
  --url 'https://api.tomba.io/v1/leads_lists/' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
  --data '{
  "name": "Mario Monahan"
  }'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

POST /leads_lists

The parameters are defined as follows

Parameter Default Description
name Required Name of the list

Response Objects details

Attribute Type Description
data -> list_id int List ID
data -> name string list name

Full Response

{
  "data": {
    "list_id": 22,
    "name": "Nya Dicki"
  }
}

Update a leads list

Update the fields of a list using id.

curl --request PUT \
  --url 'https://api.tomba.io/v1/leads_lists/17' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
  --data '{
  "name": "update listsssssssssss"
  }'
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

PUT /leads_lists/:id

The parameters are defined as follows

Parameter Default Description
id Required list ID .
name Required new name for the list

Response Objects details

Attribute Type Description
status bool true if updated
message string note message

Full Response

{
  "status": true,
  "message": "The leads list info has been updated successfully."
}

Delete a leads list

Delete a specific list by passing id.

curl --request DELETE \
  --url 'https://api.tomba.io/v1/leads_lists/5' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx' \
<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;

require(tomba)

import 'package:tomba/tomba.dart';


HTTP Request

DELETE /leads_lists/:id

The parameters are defined as follows

Parameter Default Description
id Required list ID .

Response Objects details

Attribute Type Description
status bool true if deleted
message string note message

Full Response

{
  "status": true,
  "message": "The leads list info has been delete successfully."
}

keys

List all your keys

Returns a list of your keys.

curl --request GET \
  --url https://api.tomba.io/v1/keys \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'

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

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$keys = new Keys($client);

$result = $keys->getKeys();

from tomba.client import Client
from tomba.services.keys import Keys

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

keys = Keys(client)

result = keys.get_keys()

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let keys = new tomba.Keys(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = keys.getKeys();

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

keys = Tomba::Keys.new(client);

response = keys.get_keys();

puts response

import io.tomba.api.Tomba;


import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Keys keys = Keys(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = keys.getKeys();

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}


HTTP Request

GET /keys/

Response Objects details

Attribute Type Description
keys ->id string the key ID
keys ->key string your hash key always start with ta_
keys ->ip_addresses string IP address
keys ->creation_date string the date of creation of this key

Full Response

{
  "data": {
    "keys": [
      {
        "id": 432,
        "key": "ta_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "ip_addresses": "127.0.0.1",
        "creation_date": "2021-01-13T01:00:41+01:00"
      },
      ...
      ...
      ...
      ...
    ]
  }
}

Get a key

Returns a key.

curl --request GET \
  --url 'https://api.tomba.io/v1/keys/241' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'

<?php
use tomba\Tomba;

import tomba

const Tomba = require("tomba");
require 'tomba'

import io.tomba.api.Tomba;


import 'package:tomba/tomba.dart';


HTTP Request

GET /keys/:id

The parameters are defined as follows

Parameter Default Description
id Required Key ID.

Response Objects details

Attribute Type Description
keys ->id string the key ID
keys ->key string your hash key
keys ->ip_addresses string IP address
keys ->creation_date string the date of creation of this key

Full Response

{
  "data": {
    "keys": [
      {
        "id": 241,
        "key": "ta_xxxxxxxxxxxxxxxxx",
        "ip_addresses": "1.0.0.1",
        "creation_date": "2021-01-13T00:45:05+01:00"
      }
    ]
  }
}

Create a key

curl --request POST \
  --url 'https://api.tomba.io/v1/keys' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'

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

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$keys = new Keys($client);

$result = $keys->createKey();

from tomba.client import Client
from tomba.services.keys import Keys

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

keys = Keys(client)

result = keys.create_key()

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let keys = new tomba.Keys(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = keys.createKey();

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

keys = Tomba::Keys.new(client);

response = keys.create_key();

puts response
import io.tomba.api.Tomba;


import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Keys keys = Keys(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = keys.createKey();

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}


HTTP Request

POST /keys

Response Objects details

Attribute Type Description
id string the key ID
key string your hash key

Full Response

{
  "data": {
    "id": 399,
    "key": "ta_xxxxxx"
  }
}

Rest a key

curl --request PUT \
  --url 'https://api.tomba.io/v1/keys/2' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'

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

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$keys = new Keys($client);

$result = $keys->resetKey('2');

from tomba.client import Client
from tomba.services.keys import Keys

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

keys = Keys(client)

result = keys.reset_key('')

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let keys = new tomba.Keys(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = keys.resetKey("");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

keys = Tomba::Keys.new(client);

response = keys.reset_key(id: '');

puts response

import io.tomba.api.Tomba;


import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Keys keys = Keys(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = keys.resetKey(
    id: '',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}

HTTP Request

PUT /keys/:id

The parameters are defined as follows

Parameter Default Description
id Required Key ID.

Response Objects details

Attribute Type
status bool
message string

Full Response

{
  "status": true,
  "message": "The keys has been Rest."
}

Delete a key

curl --request DELETE \
  --url 'https://api.tomba.io/v1/keys/259' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'
use Tomba\Client;
use Tomba\Services\Keys;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$keys = new Keys($client);

$result = $keys->deleteKey('259');

from tomba.client import Client
from tomba.services.keys import Keys

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

keys = Keys(client)

result = keys.delete_key('')

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let keys = new tomba.Keys(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = keys.deleteKey("12");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

keys = Tomba::Keys.new(client);

response = keys.delete_key(id: '');

puts response

import io.tomba.api.Tomba;


import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Keys keys = Keys(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = keys.deleteKey(
    id: '',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}


HTTP Request

DELETE /keys/:id

The parameters are defined as follows

Parameter Default Description
id Required Key ID.

Response Objects details

Attribute Type
status bool
message string

Full Response

{
  "status": true,
  "message": "The keys has been delete successfully."
}

Usage

Returns a your monthly requests

curl --request GET \
  --url https://api.tomba.io/v1/usage \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'
use Tomba\Client;
use Tomba\Services\Usage;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$usage = new Usage($client);

$result = $usage->getUsage();

from tomba.client import Client
from tomba.services.usage import Usage

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

usage = Usage(client)

result = usage.get_usage()

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let usage = new tomba.Usage(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = usage.getUsage();

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

usage = Tomba::Usage.new(client);

response = usage.get_usage();

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- usage(client)
data
import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Usage usage = Usage(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = usage.getUsage();

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}


HTTP Request

GET /usage/

Response Objects details

Attribute Type Description
data ->usage int total usage on date
data ->created_at int usage date
data ->name int total usage on the name

Full Response

{
  "data": [
       {
      "usage": 2,
      "created_at": "2021-01-17",
      "domain": 0,
      "finder": 0,
      "verifier": 2,
      "technologies": 0,
      "ip": 0,
      "website": 0,
      "bulk": 0,
      "extension": 0,
      "api": 0,
      "mobile": 0,
      "desktop": 0,
      "sheets": 0
    },
    {
      "usage": 0,
      "created_at": "2021-01-19",
      "domain": 0,
      "finder": 0,
      "verifier": 0,
      "technologies": 0,
      "ip": 0,
      "website": 0,
      "bulk": 0,
      "extension": 0,
      "api": 0,
      "mobile": 0,
      "desktop": 0,
      "sheets": 0
    },
   ...
   ...
   ...
   ...
  ],
  "total": {
    "usage": 227,
    "domain": 0,
    "finder": 158,
    "verifier": 35,
    "technologies": 0,
    "website": 0,
    "bulk": 0,
    "extension": 0,
    "api": 0,
    "mobile": 0,
    "desktop": 0,
    "sheets": 0
  }
}

Logs

Returns a your last 1,000 requests you made during the last 3 months.

curl --request GET \
  --url https://api.tomba.io/v1/logs \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'
use Tomba\Client;
use Tomba\Services\Logs;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$logs = new Logs($client);

$result = $logs->getLogs();

from tomba.client import Client
from tomba.services.logs import Logs

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

logs = Logs(client)

result = logs.get_logs()

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let logs = new tomba.Logs(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = logs.getLogs();

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

logs = Tomba::Logs.new(client);

response = logs.get_logs();

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- logs(client)
data

import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Logs logs = Logs(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = logs.getLogs();

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}

HTTP Request

GET /logs/

Response Objects details

Attribute Type Description
data -> uri string The url associated with the Request
data -> user_agent string The User Agent associated with the Request
data -> cost bool The cost false Free true 1 request
data -> ip_address string The IP address associated with the Request
data -> created_at string The date of creation
data -> country string The ISO 3166-1 alpha-2 country code

Full Response

{
  "data": [
    {
      "type": "Email Finder",
      "uri": "https:\/\/api.tomba\/v1\/email-finder\/asdasd.fr",
      "cost": false,
      "ip_address": "1.0.0.0",
      "created_at": "2020-10-14T13:26:58+11:00",
      "id": 1809,
      "user_agent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/85.0.4183.121 Safari\/537.36",
      "source": "Website",
      "http_method": "GET",
      "country" : "TN"
    },
    {
      "type": "Social Search",
      "uri": "https:\/\/api.tomba\/v1\/social\/sadasd",
      "cost": false,
      "ip_address": "1.0.0.0",
      "created_at": "2020-10-14T13:26:35+11:00",
      "id": 1799,
      "user_agent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/85.0.4183.121 Safari\/537.36",
      "source": "Website",
      "http_method": "GET",
      "country" : "TN"
    },
    {
      "type": "Email Finder",
      "uri": "https:\/\/api.tomba\/v1\/email-finder\/alacra.com",
      "cost": false,
      "ip_address": "1.0.0.0",
      "created_at": "2020-10-14T00:22:13+11:00",
      "id": 1724,
      "user_agent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/85.0.4183.121 Safari\/537.36",
      "source": "Website",
      "http_method": "GET",
      "country" : "TN"
    },
    {
      "type": "Email Finder",
      "uri": "https:\/\/api.tomba\/v1\/email-finder\/alacra.com",
      "cost": false,
      "ip_address": "1.0.0.0",
      "created_at": "2020-10-14T00:22:01+11:00",
      "id": 1723,
      "user_agent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/85.0.4183.121 Safari\/537.36",
      "source": "Website",
      "http_method": "GET",
      "country" : "TN"
    },
    {
      "type": "Email Verification",
      "uri": "https:\/\/api.tomba\/v1\/email-verifier\/sdsad@asdsad.fr",
      "cost": true,
      "ip_address": "1.0.0.0",
      "created_at": "2020-10-12T22:07:03+11:00",
      "id": 1633,
      "user_agent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/85.0.4183.121 Safari\/537.36",
      "source": "Website",
      "http_method": "GET",
       "country" : "TN"
    },
    {
      "type": "Geolocation API",
      "uri": "https:\/\/api.tomba\/v1\/ip\/1.0.0.0",
      "cost": false,
      "ip_address": "1.0.0.0",
      "created_at": "2020-10-12T14:44:57+11:00",
      "id": 1290,
      "user_agent": "tomba api",
      "source": "API",
      "http_method": "GET",
       "country" : "TN"
    },
    {
      "type": "Email Verification",
      "uri": "https:\/\/api.tomba\/v1\/email-verifier\/asdasd@asdasd.fr",
      "cost": false,
      "ip_address": "1.0.0.0",
      "created_at": "2020-10-11T00:06:57+11:00",
      "id": 767,
      "user_agent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/85.0.4183.121 Safari\/537.36",
      "source": "Website",
      "http_method": "GET",
       "country" : "TN"
    },
    ...
    ...
    ...
    ...
    ...
    ...
  ]
}

Email Count

Returns total email addresses we have for one domain.

curl --request GET \
  --url 'https://api.tomba.io/v1/email-count?domain=google.com' \
  --header 'content-type: application/json' \
  --header 'X-Tomba-Key: xxxxxxxxxxxxx'
use Tomba\Client;
use Tomba\Services\Count;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$count = new Count($client);

$result = $count->emailCount('tomba.io');

from tomba.client import Client
from tomba.services.count import Count

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

count = Count(client)

result = count.email_count('tomba.io')
const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let count = new tomba.Count(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = count.emailCount("tomba.io");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

count = Tomba::Count.new(client);

response = count.email_count(domain: 'tomba.io');

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- count(client, domain="tomba.io")
data

import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Count count = Count(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = count.emailCount(
    domain: 'tomba.io',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}

HTTP Request

GET /email-count/?domain=:domain

The parameters are defined as follows

Parameter Default Description
domain Required Domain name from which you want to find the email addresses. For example, "stripe.com".

Response Objects details

Attribute Type Description
total int Total email
personal_emails int Total personal email
generic_emails int Total generic email
department > _key_name_ int Total email on department _key_name_
seniority > _key_name_ int Total email on seniority _key_name_

Full Response

{
  "data": {
    "total": 129283,
    "personal_emails": 129283,
    "generic_emails": 295,
    "department": {
      "engineering": 871,
      "finance": 692,
      "hr": 505,
      "it": 1040,
      "marketing": 4996,
      "operations": 2369,
      "management": 4208,
      "sales": 1455,
      "legal": 208,
      "support": 1414,
      "communication": 226
    },
    "seniority": {
      "junior": 3265,
      "senior": 20948,
      "executive": 4712
    }
  }
}

Domain status

Returns domain status if is webmail or disposable.

It's free and doesn't require authentication.

curl --request GET \
  --url 'https://api.tomba.io/v1/domain-status?domain=gmail.com' \
  --header 'content-type: application/json' \
use Tomba\Client;
use Tomba\Services\Status;

$client = new Client();

$client
    ->setKey('ta_xxxx') // Your API Key
    ->setSecret('ts_xxxx') // Your Secret
;

$status = new Status($client);

$result = $status->domainStatus('gmail.com');

from tomba.client import Client
from tomba.services.status import Status

client = Client()

(client
  .set_key('ta_xxxx') # Your Key
  .set_secret('') # Your Secret
)

status = Status(client)

result = status.domain_status('gmail.com')

const tomba = require("tomba");

// Init Tomba
let client = new tomba.Client();

let status = new tomba.Status(client);

client
  .setKey("ta_xxxx") // Your Key
  .setSecret("ts_xxxx"); // Your Secret
let result = status.domainStatus("gmail.com");

result
  .then((response) => {
    console.log(response);
  })
  .catch((err) => {
    console.log(err);
  });
require 'tomba'

client = Tomba::Client.new()

client
    .set_key('ta_xxxx') # Your Key
    .set_secret('ts_xxxx') # Your Secret
;

status = Tomba::Status.new(client);

response = status.domain_status(domain: 'gmail.com');

puts response

import io.tomba.api.Tomba;

client <- Tomba(key="ta_xxxx",secret="ts_xxxx")
data <- status(client, domain="gmail.com")
data

import 'package:tomba/tomba.dart';

void main() {
  // Init SDK
  Client client = Client();
  Status status = Status(client);

  client
   .setKey("ta_xxxx") // Your Key
   .setSecret("ts_xxxx"); // Your Secret
  ;

  Future result = status.domainStatus(
    domain: 'gmail.com',
  );

  result
    .then((response) {
      print(response);
    }).catchError((error) {
      print(error.response);
  });
}


HTTP Request

GET /domain-status/?domain=:domain

The parameters are defined as follows

Parameter Default Description
domain Required Domain name from which you want to check. For example, "gmail.com".
email Required Email address from which you want to check. For example, "me@gmail.com".

Response Objects details

Full Response

{
  "domain": "gmail.com",
  "webmail": true,
  "disposable": false
}
Attribute Type Description
webmail int is webmail email service
disposable int is disposable email service