---
title: "Find a work email"
method: POST
path: "/api/v1/email-finder/find"
tags: ["Email finder"]
---

# Find a work email

`POST /api/v1/email-finder/find`

## Request

- Base URL: `https://app.argorant.com`
- URL: `https://app.argorant.com/api/v1/email-finder/find`
- Auth: HTTP bearer

A person's name and company domain in, their work email out. 1 credit when the address is found and confirmed (`valid`). 1 credit when the domain accepts every address (`catch_all`); the most likely address comes back with `confirmed: false`. 0.25 credits when nothing is found. Free when the input is invalid, the domain has no email (`no_mail_domain`) or its mail server cannot be reached right now (`retry_later`). For more than a handful of people, start a list job.

The first lookup that finds nothing takes 1 credit and keeps 0.75 for the next three such lookups, so each costs 0.25.

| Cost | What it does | Key scopes |
| --- | --- | --- |
| 1 credit when found, 0.25 credits when nothing is found; bad input, domains without email and unreachable mail servers are free | Spends credits | `argorant:unlock_contacts` |

## Headers

- `Idempotency-Key` string
- `X-Request-Id` string

## Request body

- object
  - `first_name` string: First name.
  - `last_name` string: Last name.
  - `name` string: Full name instead of first_name and last_name; titles are ignored.
  - `domain` string, required: The company domain. A website URL or an email at the company also works. Personal mail domains are refused.

## Response `200`

Found or Nothing found

- FinderResult
  - `lookup_id` string: Lookup id.
  - `status` 'valid' | 'catch_all' | 'not_found' | 'no_mail_domain' | 'retry_later': Outcome.
  - `found` boolean: true when an email came back.
  - `email` string, email, nullable: The email.
  - `confirmed` boolean: true when the mail server confirmed the address.
  - `confidence` integer: 0 to 100.
  - `credits_charged` number: Credits charged: 1, 0.25 or 0.
  - `message` string: The result in one sentence.

## Other responses

- `400`: 400 Bad request. `invalid_request` when a name or the domain is missing.
- `401`: 401 Unauthorized. `unauthorized` when the API key is missing, wrong or revoked.
- `402`: 402 Payment required. `insufficient_credits` when the balance is below 1 credit.
- `403`: 403 Forbidden. `scope_missing` when the key lacks argorant:unlock_contacts.
- `409`: 409 Conflict. `idempotency_conflict` when the Idempotency-Key was used with another body.
- `422`: 422 Validation error. `validation_error` when a field has the wrong type or is missing.
- `429`: 429 Too many requests. `rate_limited` when more than 30 lookups a minute or 2,000 a day.

---

[API](https://skmtc.dev/argorant/apis/argorant-api.md) · [All operations](https://skmtc.dev/argorant/apis/argorant-api/llms.txt) · [OpenAPI document](https://skmtc.dev/argorant/apis/argorant-api/revisions/4bc28c0085b6?raw)
