Check up to 1,000 emails for free providers
Classify up to 1,000 email addresses in one call, in input order, plus verdict counts. Each address gets the same checks as `GET /email/check`: exact match against 4,768 free email provider domains (the list HubSpot forms block with "Block free email providers", snapshot 2026-10-10), role-mailbox detection, and a syntax check. Use it to split a lead list or CRM export into business and personal addresses. Costs 0 credits.
Pricing — Free
This endpoint returns billing metadata with zero credits charged.
Authorization
bearerAuth UnifAPI API key. Provider credentials are managed by UnifAPI.
In: header
Header Parameters
Pin the API version an integration was built against (date-based, e.g. 2026-07-01). Omit to use the current version. Public URL paths stay stable and unversioned; breaking changes ship under a new dated version and are announced with Deprecation and Sunset response headers. The served version is echoed in every response's Unifapi-Version header. Policy: https://unifapi.com/versioning.md
"2026-07-01"Value in
- "2026-07-01"
Client-supplied unique key that makes a write request safe to retry. If a request with the same key was already processed, the original response is replayed (with Idempotency-Replayed: true) instead of executing — and billing — again. Send a fresh UUID per logical operation. Best-effort with a 24h window.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/email/check/batch" \ -H "Content-Type: application/json" \ -d '{ "emails": [ "string" ] }'{ "request_id": "string", "data": { "results": [ { "input": "string", "email": "string", "local_part": "string", "domain": "string", "is_valid_syntax": true, "is_free_provider": true, "is_role_account": true, "verdict": "business", "invalid_reason": "empty" } ], "summary": { "total": 0, "business": 0, "free": 0, "invalid": 0, "role_accounts": 0 } }, "billing": { "credits_charged": 0, "records_charged": 0, "balance_remaining": 0, "truncated_due_to_balance": true }}