ArgorantDocs

Find one email

A person's name and company domain in, their work email out. One person at a time, or a list of up to 10,000 people, from the API, the command line, your AI assistant or the app.

The email finder takes a first name, a last name and a company domain and gives back the person's work email. It works the same in the app (Email finder in the sidebar), the REST API, the command line and the MCP tools.

What it costs

You pay per lookup, by what came back, from the same credits as everything else.

What came backstatusPrice
Found and confirmedvalid1 credit
The company's domain accepts every address, so none can be confirmed. You get the most likely one, marked confirmed: falsecatch_all1 credit
Nothing foundnot_found0.25 credits
Bad input, a domain without email, or a mail server that could not be reached right now400, no_mail_domain, retry_laterFree

The quarter credit comes from a small prepaid balance. The first lookup that finds nothing takes 1 credit and keeps 0.75 for the next three. GET /api/v1/email-finder/pricing shows the prices, your balance and your limits.

Treat catch_all addresses as a good guess. Send to them in smaller numbers and watch the bounces.

One person

Shell
curl -X POST "https://app.argorant.com/api/v1/email-finder/find" \
  -H "Authorization: Bearer $ARGORANT_API_KEY" -H "Idempotency-Key: find-jane-doe-acme" \
  -H "Content-Type: application/json" \
  -d '{"first_name": "Jane", "last_name": "Doe", "domain": "acme.com"}'
JSON
{ "status": "valid", "email": "jane.doe@acme.com", "confirmed": true, "confidence": 95, "credits_charged": 1,
  "message": "Found and confirmed jane.doe@acme.com. 1 credit charged." }

Each call is charged by its own result. Do not repeat a lookup that found nothing; fix the name or the domain first. A full name works too: {"name": "Dr. Jane Doe", "domain": "acme.com"}.

Many people

Send up to 10,000 people as rows or as CSV text, with a spending limit:

Shell
curl -X POST "https://app.argorant.com/api/v1/email-finder/jobs" \
  -H "Authorization: Bearer $ARGORANT_API_KEY" -H "Idempotency-Key: q4-accounts-finder" \
  -H "Content-Type: application/json" \
  -d '{"name": "Q4 accounts", "max_credits": 100, "rows": [{"first_name": "Jane", "last_name": "Doe", "domain": "acme.com", "ref": "crm-1042"}]}'

The answer has the job_id and maximum_charge, the most the list can cost. Check the job about every 30 seconds with GET /api/v1/email-finder/jobs/{job_id} and read the rows from .../results, or all at once with .../results?format=csv.

A list pauses instead of failing:

paused_reasonWhat happenedWhat to do
spend_limitIt reached your max_creditsResume with a higher limit
insufficient_creditsThe account ran out of creditsAdd credits, then resume
daily_limitThe daily lookup limit was reachedNothing; it goes on after midnight UTC
miss_rateMost lookups found nothing, so it slowed downNothing; it goes on. Check the names and domains

Resume with POST .../resume (optionally {"max_credits": 150}) and stop with POST .../cancel. Rows that were never looked up are never charged.

CSV columns that work are first_name and last_name (or name or full_name), domain (or company_domain or website) and an optional id or ref that comes back with the result.

Limits

30 single lookups a minute and 2,000 lookups a day per account. An account whose lookups almost never find anything is slowed to 20 an hour for a while. It is never charged more.

From the terminal

Shell
npx argorant find "Jane Doe" --domain acme.com
npx argorant find --file people.csv -o found.csv --max-credits 100
npx argorant find status <job_id>
npx argorant find pricing

From an AI assistant

The MCP server has argorant_find_email for one person and argorant_find_emails for a list (with a spending limit you must set), plus argorant_find_emails_status and argorant_manage_find_emails. See Tools.

On this page