Create a batch of email address lookups
/v1/lookup/email/batchconst answer = await bird.lookup.emailBatch({
emails: ["aisha.khan@example.com", "not-an-email"],
});
for (const item of answer.data) console.log(item.email, item.result);answer = client.lookup.email_batch(emails=["aisha.khan@example.com", "not-an-email"])
for item in answer.data:
print(item.email, item.result)answer, err := client.Lookup.EmailBatch(context.Background(), bird.LookupEmailBatchParams{
Emails: []string{"aisha.khan@example.com", "not-an-email"},
})
if err != nil {
log.Fatal(err)
}
for _, item := range *answer.Data {
fmt.Println(*item.Email, *item.Result)
}$answer = $bird->lookup->emailBatch(
(new EmailLookupBatchRequest())->setEmails(['aisha.khan@example.com', 'not-an-email']),
);
foreach ($answer->getData() ?? [] as $item) {
echo $item->getEmail(), ' ', $item->getResult();
}bird lookup email-batch \
--emails aisha.khan@example.com \
--emails not-an-emailcurl -X POST "https://us1.platform.bird.com/v1/lookup/email/batch" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"emails": [
"aisha.khan@example.com",
"not-an-email"
]
}'{
"data": [
{
"email": "aisha.khan@example.com",
"valid": true,
"result": "risky",
"delivery_confidence": 42,
"flags": [
"role",
"free_provider"
]
}
]
}
Assesses up to 1,000 email addresses synchronously and returns one result per input in submission order. Malformed addresses receive individual assessments. Duplicate addresses remain separate entries and each answered entry is billed at the email lookup rate. Use Create an email address lookup for a single address. A batch consumes one request allowance under the shared lookup rate limit, regardless of its number of addresses.
Requests must fit within 128 KiB. Split larger lists into separate requests.
Reuse an Idempotency-Key for retries of the same batch. Successful responses
up to 256 KiB can be retained for replay; larger responses are returned but
are not retained, so retrying can perform and charge for another batch.
An unavailable lookup returns 503 without charging for the batch.
Anfrage-Nutzlast
emailsAddresses to assess in submission order. Surrounding whitespace is trimmed and case is preserved. Malformed addresses receive individual assessments. Duplicates are assessed and billed at each position. The request must also fit within the 128 KiB request-body limit.
Antwort-Payload
dataOne assessment per submitted address, in submission order, including duplicates.
Untergeordnete Attribute anzeigen
data.emailThe submitted value after trimming surrounding whitespace. May be empty or malformed.
data.validThe provider's validity assessment for the address. Read it with result and delivery_confidence when deciding whether to send; it does not guarantee delivery.
data.resultThe verdict on the address, and the one field to decide on.
valid: the address exists and accepts mail.neutral: it could not be confirmed either way, usually because the receiving domain answers every recipient the same.risky: it probably accepts mail but is likelier than most to bounce or complain. Examples include role, disposable, and low-reputation addresses.undeliverable: it does not accept mail, andreasonsays why.typo: the address looks misspelled, anddid_you_meancontains the correction.
Open enum: further verdicts may be added over time, so treat an unrecognized
value as a future one rather than an error. Branch on the values you know and
fall back on delivery_confidence, which is always present and always
comparable.
Possible values (may grow over time): valid, neutral, risky, undeliverable, typo
data.delivery_confidenceHow 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.
data.flagsNotable characteristics of the address. Empty when none apply.
data.reasonAn explanation for the assessment. Can accompany an undeliverable, risky, or typo result; omitted when no recognized reason is available.
Possible values (may grow over time): invalid_syntax, invalid_domain, invalid_recipient, disposable_domain
data.did_you_meanThe 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.
Verwandte Ressourcen
Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema.