Skip to content

// enterprise-scale processing

Process Thousands of Emails at Once

Upload CSV files to find, verify, and enrich email addresses in bulk. Perfect for sales teams, marketers, and data teams.

Up to 25,000 rows a jobCSV, list or rowsSigned webhooks
email-finder-list.csv2,500 rows · names, with a domain or company namecompleted
Bulk Email Finder · /bulk/finder2,500 / 2,500
  1. 01pendingPOST /v1/bulk/finder201 · { "data": { "id": 1042 } }
  2. 02runninglaunch: trueprogress polled with GET /v1/bulk/finder/1042/progress
  3. 03completedbulk.completedsigned webhook delivered to your webhook_url
GET /v1/bulk/finder/1042/download?file=fullCharged at the first download · the job expires after 180 days

// 01 · bulk types

One job model for every list

Every bulk type runs one Tomba endpoint over a list, with the same create, launch, follow and download steps.

Bulk typeInput API Max rows
Bulk Domain SearchDomains or company namesPOST/bulk/search25,000
Bulk Similar DomainsDomains or company namesPOST/bulk/similar5,000
Bulk Company EnrichmentDomains or company namesPOST/bulk/company25,000
Bulk Email FinderNames, with a domain or company namePOST/bulk/finder10,000
Bulk Email EnrichmentEmail addressesPOST/bulk/enrich20,000
Bulk LinkedIn FinderLinkedIn profile URLsPOST/bulk/linkedin20,000
Bulk Author FinderArticle URLsPOST/bulk/author5,000
Bulk Email VerifierEmail addressesPOST/bulk/verifier20,000
Bulk Phone FinderEmail addresses, LinkedIn URLs or domainsPOST/bulk/phone-finder10,000
Bulk Phone ValidatorPhone numbers, with an optional countryPOST/bulk/phone-validator10,000

// 02 · lifecycle

How a bulk job runs

The same four steps in the app and over the API.

  1. 01

    Create

    POST a list, rows or a CSV of up to 4 MB to /v1/bulk/{type}, or upload the file in the app.

  2. 02

    Launch

    Set launch: true, or launch it later. Tomba checks you have the credits the job needs.

  3. 03

    Follow

    Poll its progress, or receive a signed bulk.completed event at your webhook_url.

  4. 04

    Download

    Get the results as CSV. The job is charged once, at the first download, and expires after 180 days.

// 03 · limits and billing

What to plan for

Bulk jobs aren't subject to the plan rate limits; they have their own, per workspace.

  • 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)
  • Charged once, at the first download; later downloads are free
  • Bulk jobs in the docs

// 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": []
  }
}