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
Emailscurrently 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 returnResultStatus: 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 Name | Type | Description |
|---|---|---|
| RetCode | int | Return code, 0 indicates success |
| Message | string | Return message |
| RequestUuid | string | Unique request identifier |
| Action | string | Action identifier BatchVerifyEmail |
| Data | object | Verification result data |
Data Fields
| Field Name | Type | Description |
|---|---|---|
| SessionNo | string | Session ID (UUID) for this batch verification |
| TotalCount | int | Total number of emails |
| SuccessCount | int | Number of successfully verified emails |
| FailCount | int | Number of failures (format errors + service errors) |
| Results | array | List of successfully verified email results |
| FailContent | array | List of failure details |
Results Item (BatchVerifyEmailResultItem)
| Field Name | Type | Description |
|---|---|---|
| string | Email address | |
| ResultStatus | int | Overall result: 0=Valid, 1=Invalid, 2=Uncertain, 3=Risky, 4=Pending |
| RiskTag | int | Risk tag: 0=None, 1=Disposable, 2=Gibberish, 3=SpamTrap, 4=PublicMailbox |
| SyntaxStatus | int | Syntax check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
| DnsStatus | int | DNS check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
| DisposableStatus | int | Disposable email check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
| PublicMailboxStatus | int | Public mailbox check: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
| GibberishStatus | int | Gibberish detection: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
| SmtpStatus | int | SMTP verification: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
| CatchAllStatus | int | Catch-All detection: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
| SpamTrapStatus | int | SpamTrap detection: 0=Pending, 1=Pass, 2=Fail, 3=Skip, 4=Unknown |
FailContent Item (BatchVerifyEmailFailContent)
| Field Name | Type | Description |
|---|---|---|
| string | Email address | |
| Reason | string | Failure reason |
Error Codes
| RetCode | Description |
|---|---|
| 0 | Success |
| 214403 | Missing Parameter [Emails] |
| 214405 | Invalid Parameter, Emails count exceeds limit of 1 |
| 214406 | Internal Service Error |
| 215209 | Email 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.