Skip to content

// post /v1/bulk/phone-finder

Bulk Phone Finder API

Resolve large contact datasets into usable phone numbers with line type and carrier metadata in one async job.

Email addresses, LinkedIn URLs or domainsUp to 10,000 rows
curl -X POST "https://api.tomba.io/v1/bulk/phone-finder" \
  -H "X-Tomba-Key: $TOMBA_API_KEY" \
  -H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Phone Finder job","list":"richard@piedpiper.com","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'

// 01 · request

Bulk Phone Finder is one HTTPS request

Send the parameters with your key and secret. Every SDK, the CLI and the MCP server make this same call.

type
phone-finder
list | data | file
Email addresses, LinkedIn URLs or domains
launch
true starts the job at once
webhook_url
Receives a signed event when the job ends
rows
Up to 10,000 per job
curl -X POST "https://api.tomba.io/v1/bulk/phone-finder" \
  -H "X-Tomba-Key: $TOMBA_API_KEY" \
  -H "X-Tomba-Secret: $TOMBA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Phone Finder job","list":"richard@piedpiper.com","launch":true,"webhook_url":"https://hooks.example.com/tomba"}'

// 02 · response

What comes back

JSON, the same in every language. Fields Tomba doesn't know are null, never guessed.

GET/phone-finder
dataobject | array
The number; an array with full=true, and an empty array when none is found
data.validboolean | null
Whether the number is a valid phone number
data.intl_format, data.e164_format, data.local_formatstring | null
The number in international, E.164 and national formats
data.country_codestring | null
Country of the number (ISO code)
data.line_typestring | null
MOBILE, FIXED_LINE, FIXED_LINE_OR_MOBILE, VOIP, TOLL_FREE…
data.carrierstring | null
The network operator
data.region, data.timezonesobject | null, array | null
Where the number is registered, and its time zones
POST /bulk/phone-finder
201 Created
{
  "data": {
    "id": 1042
  }
}
Each row, as GET /phone-finder returns it
200 OK
{
  "email": "richard@piedpiper.com",
  "data": {
    "email": "richard@piedpiper.com",
    "valid": true,
    "local_format": "(650) 555-0132",
    "intl_format": "+1 650-555-0132",
    "e164_format": "+16505550132",
    "rfc3966_format": "tel:+1-650-555-0132",
    "country_code": "US",
    "line_type": "MOBILE",
    "carrier": "AT&T",
    "region": {
      "name": "California",
      "code": "CA"
    },
    "timezones": [
      "America/Los_Angeles"
    ]
  }
}

// 03 · cost and limits

What a call costs

A call is charged only under the condition below. Rate limits depend on your plan.

// cost

5 search credits per row with at least one phone number.

Charged once, at the first download; later downloads are free

  • 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)

// faq

Frequently asked questions

Still have questions? Visit the help center

// start free

See who Tomba finds at any company

Type a company's domain to see its people, their roles and verified work emails, each with the pages it was found on. Free account, no card.