Email validate
Exactemail_validateDeterministic and authoritative — the canonical answer for this input.
Validate an email address per RFC 5322 using the email-validator library. Syntax only — does NOT contact DNS (no MX lookup). Returns normalized form, local_part, domain, and ascii_domain (IDNA encoded for international domains). For an SMTPUTF8 address (non-ASCII local part) ascii_email is omitted — no ASCII form exists. Returns is_valid=False with why_invalid on bad input rather than raising. Processing multiple inputs? Use `email_validate_batch` to do up to 1000 in one call.
Parameters
emailstringrequiredEmail address to validate.
allow_smtputf8booleanoptionalAllow international characters in local part.
Call it
curl -X POST https://api.snipget.ai/v1/email/validate \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]"}'The Batch tab sends up to 1000 inputs in one call via /v1/email/validate/batch.
Example response
{
"input": "[email protected]",
"is_valid": true,
"normalized": "[email protected]",
"local_part": "user",
"domain": "example.com",
"ascii_email": "[email protected]",
"ascii_domain": "example.com",
"smtputf8": false
}FAQ
Why not just use a regex or eyeball it?
Email rules are far messier than most homemade checks (quoted local parts, international domains, length limits). This uses a proven email-validation library that follows the real RFC rules, so it catches both the obvious typos and the edge cases a quick regex silently lets through. It also hands back the cleaned-up normalized form and the separate local part and domain for you to store.
Does it check whether the address actually exists or can receive mail?
No. This is a syntax-only check. It does not contact DNS, look up MX records, or ping the mailbox, so it cannot tell you the inbox is real or active. It only confirms the address is well-formed. That also makes it fast and deterministic.
Can I trust the yes/no answer?
Yes. It is a deterministic, authoritative format check (exact): the same address always returns the same result with confidence 1, based on the email standard rather than a best-guess. A valid address returns is_valid true; a malformed one returns is_valid false.
Does it handle international email addresses?
Yes. International (non-ASCII) domains are supported, and the result includes the ascii_domain and ascii_email (the IDNA-encoded form) plus an smtputf8 flag. When the name portion itself contains international characters there is no ASCII equivalent, so ascii_email is omitted for those addresses. By default international characters in the name portion are allowed; you can turn that off with allow_smtputf8 set to false if your mail system only accepts plain ASCII.
What happens with a bad or empty address?
It does not throw an error. You get is_valid false, confidence 0, and a why_invalid message explaining what was wrong, so you can show a helpful reason to the user.