Email Finder

Find a verified email address for a contact at a domain

POST
/v1/contacts/find-email

Given a contact's full name and the domain of the company they work for, returns a verified email address along with verification metadata.

Under the hood, the service maintains a learning pattern store: it tries patterns previously verified for the domain first (the "warm path"), then falls back to a parallel sweep of all common templates against the Emailable verifier (the "cold path") if no cached pattern verifies. Patterns are global — every customer's verification feeds every other customer's first lookup at that domain.

Names with European tussenvoegsels (Joey van Ommen, Joey van der Ommen) are handled — the service tries both "tussenvoegsel-included" and "tussenvoegsel-excluded" surname renderings.

Response semantics

  • email + verification returned → a deliverable or risky mailbox was found at this domain.
  • null email and null verification → we tried the full candidate set within a 15-second budget and no mailbox verified as deliverable. Distinct from a server error.
  • verification.accept_all = true → the domain is configured as catch-all, so the verifier cannot distinguish real mailboxes from accepted-but-discarded ones. The returned email is our best guess (modal real-world pattern) but should be treated as lower confidence.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key authentication using Bearer token. Format: sk_live_ followed by a secure random string.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

full_name*string

Full name of the contact. Accepts 2-3 token names (Joey Ommen, Joey Tobias Ommen) and 3-4 token names where the middle tokens form a recognized European name particle (Joey van Ommen, Joey van der Ommen). Single-token names and names longer than 4 tokens are rejected with 422.

Length1 <= length <= 200
domain*string

The mail domain for the contact's company. Accepts bare domains (saber.app), domains with www. prefix, and trailing-dot forms. URL-shaped inputs (https://saber.app) and email-shaped inputs (joey@saber.app) are rejected with 422.

Length1 <= length <= 253

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/contacts/find-email" \  -H "Content-Type: application/json" \  -d '{    "full_name": "Joey Ommen",    "domain": "saber.app"  }'

{  "email": "joey.vanommen@saber.app",  "verification": {    "state": "deliverable",    "score": 95,    "accept_all": false  }}

Empty
Empty
Empty
{  "statusCode": 429,  "error": "Too Many Requests",  "message": "upstream email verification is temporarily throttled",  "retryAfter": 30}
Empty

On this page