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
  • API and console validation share the same Email Validation credits pool — 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)
215215Not enough Email Validation credits. Please buy a validation package to continue.

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.