---
title: "Batch email validation from JSON array"
method: POST
path: "/api/v1/email/advanced/batch"
tags: ["Advanced Email Validation API"]
---

# Batch email validation from JSON array

`POST /api/v1/email/advanced/batch`

Validates multiple email addresses provided as a JSON array with advanced SMTP verification.

**Batch Processing Features**:
- Synchronous processing of up to 100 emails per request
- All-or-nothing quota deduction (only charged after successful completion)
- Comprehensive validation results for each email
- Detailed statistics for the batch operation

**Request Format**:
- JSON object containing an array of email addresses
- Maximum 100 emails per batch request
- Each email validated with full advanced features

**Quota Management**:
- One quota unit deducted per email address
- Quota deducted only after ALL validations complete successfully
- No quota charged if batch processing fails

**Performance**: 
- Processing time: ~500ms-2s per email due to SMTP checks
- Total batch time: 5-200 seconds depending on batch size

**Use Cases**:
- Marketing list validation
- User registration batch processing
- Email list cleaning operations
- Lead qualification workflows

## Request body

- BatchEmailValidationRequestDto — JSON request containing list of email addresses to validate. **Request Requirements**: - Must contain 1-100 email addresses - Each email must be valid format and ≤320 characters - Properly formatted JSON structure required **Processing Details**: - All emails processed synchronously in order - Results returned in same order as input - Quota charged per email only after successful completion **Example Request**: ```json { "emails": [ "user1@example.com", "user2@gmail.com", "user3@company.org" ] } ```
  - `emails` string[], required — List of email addresses to validate. Maximum 100 emails per request. **Email Format Requirements**: - Standard email format (user@domain.com) - Maximum 320 characters per email - Properly URL-encoded if containing special characters **Batch Processing**: - All emails are processed synchronously - Results are returned in the same order as input - Quota is deducted only after successful completion of all validations

## Response `200`

Batch validation completed successfully

- BatchEmailValidationResponseDto — Response object containing validation results for all processed emails in a batch request.
  - `results` object, required — Map of email addresses to their validation results. The key is the original email address, and the value is the complete validation result.
  - `totalProcessed` integer, required — Total number of emails processed in this batch.
  - `successfulValidations` integer, required — Number of emails that were successfully validated.
  - `failedValidations` integer, required — Number of emails that failed validation (returned null from service).

## Other responses

- `400` — Bad Request - Invalid request format, empty email list, or exceeds maximum batch size
- `429` — Too Many Requests - Insufficient quota for batch operation
- `500` — Internal Server Error - Batch processing failed
- `503` — Service Unavailable - Batch email validation service is disabled or unreachable

---

[API](https://skmtc.dev/ip-api/apis/ip-api-io-ip-geolocation-security-api.md) · [All operations](https://skmtc.dev/ip-api/apis/ip-api-io-ip-geolocation-security-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ip-api/ip-api-io-ip-geolocation-security-api/revisions/a6862f586bf3/schema)
