Skip to content

// bulk operations

Bulk Email Verifier

Upload a CSV of email addresses and verify them all for deliverability at once.

Email addressesUp to 20,000 rows a jobCSV, list or rows
email-verifier-list.csv2,500 rows · email addressescompleted
Bulk Email Verifier · /bulk/verifier2,500 / 2,500
  1. 01pendingPOST /v1/bulk/verifier201 · { "data": { "id": 1042 } }
  2. 02runninglaunch: trueprogress polled with GET /v1/bulk/verifier/1042/progress
  3. 03completedbulk.completedsigned webhook delivered to your webhook_url
GET /v1/bulk/verifier/1042/download?file=fullCharged at the first download · the job expires after 180 days

// 01 · input

The input of a bulk Email Verifier job

Upload a CSV of up to 4 MB in the app, or send a list, rows or a file to POST /v1/bulk/verifier. Columns are found from the header row; set a field index to choose one yourself.

POST/bulk/verifierColumns
email_field_index
Email address
POST/bulk/verifierOptions
find_phones
true adds phone numbers, at an extra cost
include_sources
true adds the web pages where each address was found

// 02 · api

One request starts the job

Create and launch it in one call, then follow its progress or receive a signed bulk.completed event. Each result row is what GET /email-verifier returns.

curl -X POST "https://api.tomba.io/v1/bulk/verifier" \
  -H "X-Tomba-Key: $TOMBA_API_KEY" \
  -H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Email Verifier job","list":"richard@piedpiper.com\njohn@example.com","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'
POST /bulk/verifier
201 Created
{
  "data": {
    "id": 1042
  }
}
Each row, as GET /email-verifier returns it
200 OK
{
  "data": {
    "email": {
      "email": "richard@piedpiper.com",
      "result": "deliverable",
      "status": "valid",
      "score": 99,
      "smtp_provider": "Google",
      "mx": {
        "records": [
          "aspmx.l.google.com",
          "alt1.aspmx.l.google.com"
        ]
      },
      "mx_check": true,
      "smtp_server": true,
      "smtp_check": true,
      "accept_all": false,
      "greylisted": false,
      "block": false,
      "gibberish": false,
      "disposable": false,
      "webmail": false,
      "regex": true,
      "whois": {
        "registrar_name": null,
        "referral_url": null,
        "created_date": null
      }
    },
    "sources": [
      {
        "uri": "https://piedpiper.com/blog/engineering",
        "website_url": "piedpiper.com",
        "extracted_on": "2024-06-01T09:14:07+01:00",
        "last_seen_on": "2025-01-10T17:02:44+01:00",
        "still_on_page": true
      }
    ],
    "phone_data": null
  }
}

// 03 · cost and limits

What a job costs

Nothing is charged to create or launch a job. Its cost is charged once, at the first download of its results.

// billing per row

1 verification credit per row, except disposable addresses. Plus 5 search credits per row with phone data.

Bulk billing in the docs
  • Rows: up to 20,000 per job
  • Jobs created: 15 per day for each type
  • Running jobs: 2 per type
  • Downloads: 25 per day for each job
  • Request size: 4 MB (CSV, list or rows)

// customers

Teams that run Email Verifier jobs

  • Tomba is my go-to to validate emails. Even in a waterfall process with multiple tools, Tomba is usually the top choice.
    Nuno PoçoSales Automation Architect, clickworks.io
  • The data is always fresh, and the n8n integration is excellent. Support is very responsive. I'd rate it 9/10.
    Benjie MalinaoCo-Founder & CTO, Channel Automation

// faq

Frequently Asked Questions

Still have questions? Visit the help center

// quick start

Make your first call in a minute

Free account, real API key, the same endpoints Enterprise customers use.

  1. 1Create a free account25 searches a month. No card.
  2. 2Copy your key and secretFrom API keys in the dashboard.
  3. 3Call the APIPaste the request; the answer is JSON.
curl "https://api.tomba.io/v1/email-finder?domain=piedpiper.com&first_name=Richard&last_name=Hendricks" \
  -H "X-Tomba-Key: $TOMBA_API_KEY" \
  -H "X-Tomba-Secret: $TOMBA_SECRET_KEY"
Response
200 OK· 1 search credit
{
  "data": {
    "email": "richard@piedpiper.com",
    "first_name": "Richard",
    "last_name": "Hendricks",
    "full_name": "Richard Hendricks",
    "website_url": "piedpiper.com",
    "company": "Pied Piper",
    "pattern": "{first}",
    "department": "executive",
    "type": "personal",
    "position": "CEO",
    "country": "US",
    "gender": "male",
    "twitter": null,
    "linkedin": "https://www.linkedin.com/in/richard-hendricks",
    "score": 100,
    "accept_all": false,
    "phone_number": true,
    "verification": {
      "date": "2025-01-15T10:32:00+01:00",
      "status": "valid"
    },
    "sources": [
      {
        "uri": "https://piedpiper.com/blog/engineering",
        "website_url": "piedpiper.com",
        "extracted_on": "2024-06-01T09:14:07+01:00",
        "last_seen_on": "2025-01-10T17:02:44+01:00",
        "still_on_page": true
      }
    ],
    "phone_data": []
  }
}