Documentation
Sign inGet started

Create an email address lookup

POST
/v1/lookup/email
const answer = await bird.lookup.email({ email: "aisha.khan@example.com" });
// result is an open vocabulary; delivery_confidence is always comparable.
console.log(answer.result, answer.delivery_confidence);
Response200
{
  "email": "aisha.khan@example.com",
  "valid": true,
  "result": "risky",
  "delivery_confidence": 42,
  "flags": [
    "role",
    "free_provider"
  ]
}
Returns a deliverability result, a delivery_confidence score, address characteristics, an undeliverable reason, and a suggested correction when available. result and reason are open vocabularies. Handle unknown values and use delivery_confidence as the stable fallback. Each completed lookup incurs the same charge regardless of its result.
This form keeps the address out of the URL. The URL form performs the same lookup but cannot use an idempotency key. With this form, reuse an Idempotency-Key to return the stored result without another lookup or charge.
Request Payload
email
string
required
The email address to look up. Send it exactly as you hold it. The part before the @ is case-sensitive, so the API does not lowercase it. A display-name form such as Aisha <aisha@example.com> is rejected rather than unwrapped.
Response Payload
email
string
required
The address that was looked up, exactly as you sent it.
valid
boolean
required
Whether the address is well-formed and its domain is set up to receive mail at all. It says nothing about the mailbox itself, so a valid domain with no such mailbox is true here and undeliverable in result.
result
string
required
delivery_confidence
integer
required
How likely mail to this address is to be delivered, from 0 (certain not to be) to 100 (certain to be). Read it alongside result rather than instead of it, because the same score can sit under neutral or risky for different reasons.
flags
array of string
required
Notable characteristics of the address. Empty when none apply.
reason
string
Why the address cannot receive mail. Absent unless result is undeliverable.
did_you_mean
string
The address this one looks like a misspelling of. Absent unless a correction was found, which in practice means result is typo. Offer it to whoever typed the original rather than sending to it unasked, because it is a guess and the address they meant may be neither one.