Skip to main content

Verify email addresses in batch, validating syntax, DNS, SMTP, and other dimensions. Currently synchronous — each request takes approximately 5–30 seconds.

Request Information

  • Get API keys: ACCESSKEY_ID:ACCESSKEY_SECRET
  • Request Method: POST
  • Request Path: /api/v1/email/BatchVerifyEmail
  • Content-Type: application/json
  • Rate Limit: 5 QPS, burst 5

Notes

  • Emails currently supports up to 1 email address per request
  • Exceeding the QPS limit will return error code 215209
  • For large-scale verification, use the uSpeedo console to upload an Excel file
  • Supported domains: gmail.com, outlook.com, hotmail.com, qq.com, 163.com, gmx.de, alice.it. Emails from other domains will return ResultStatus: 2 (Uncertain). We are continuously expanding supported domains — contact us if you need support for additional domains
  • Billing follows the same rates as console validation — see Validation Billing & Credits for details
Emailsstring[]required
List of email addresses, up to 1 address per request
?

Response Format

Field NameTypeDescription
RetCodeintReturn code, 0 indicates success
MessagestringReturn message
RequestUuidstringUnique request identifier
ActionstringAction identifier BatchVerifyEmail
DataobjectVerification result data

Data Fields

Field NameTypeDescription
SessionNostringSession ID (UUID) for this batch verification
TotalCountintTotal number of emails
SuccessCountintNumber of successfully verified emails
FailCountintNumber of failures (format errors + service errors)
ResultsarrayList of successfully verified email results
FailContentarrayList of failure details

Results Item (BatchVerifyEmailResultItem)

Field NameTypeDescription
EmailstringEmail address
ResultStatusintOverall result: 0=Valid, 1=Invalid, 2=Uncertain, 3=Risky, 4=Pending
RiskTagintRisk tag: 0=None, 1=Disposable, 2=Gibberish, 3=SpamTrap, 4=PublicMailbox
SyntaxStatusintSyntax check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown
DnsStatusintDNS check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown
DisposableStatusintDisposable email check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown
PublicMailboxStatusintPublic mailbox check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown
GibberishStatusintGibberish detection: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown
SmtpStatusintSMTP verification: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown
CatchAllStatusintCatch-All detection: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown
SpamTrapStatusintSpamTrap detection: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown

FailContent Item (BatchVerifyEmailFailContent)

Field NameTypeDescription
EmailstringEmail address
ReasonstringFailure reason

Error Codes

RetCodeDescription
0Success
214403Missing Parameter [Emails]
214405Invalid Parameter, Emails count exceeds limit of 1
214406Internal Service Error
215209Email verification rate limit exceeded (QPS limit)

LANGUAGE

CREDENTIALS

👁️
🔒
🔑Log in to get ACCESSKEY_ID and ACCESSKEY_SECRET

URL

POST
CURL Request
curl -X POST "https://api.uspeedo.com/api/v1/email/BatchVerifyEmail" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Basic $(echo -n 'ACCESSKEY_ID:ACCESSKEY_SECRET' | base64)" \
-d '{
"Emails": [
"example@example.com"
]
}'

RESPONSE

Click Try It! to start a request and see the response here.