Use when you need bulk email validation, email list verification or to verify em
Use when you need bulk email validation, email list verification or to verify email lists before a send or import. Do not use for one address (email-check is cheaper), proving a mailbox exists (no SMTP probe) or sending email. Returns JSON checking up to 20 email addresses in one call: syntax, MX records, disposable, free and role flags, SPF, DMARC and a verdict each, plus counts by verdict for 0.02 USDC per call. Typical response time 2500 ms (p95). Category: Data.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://x402-gateway.blackwoodstate8.workers.dev/v1/email-batch
| Category | Everything else |
|---|---|
| Provider host | x402-gateway.blackwoodstate8.workers.dev |
| Networks | eip155:8453 |
| Payment schemes | exact, upto |
| Self-reported calls, 30 days | 3 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"emails": [
"postmaster@ietf.org",
"test@mailinator.com",
"info@example.com",
"not-an-email"
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"emails": {
"description": "Email addresses to check, 1 to 20, e.g. [\"jane@example.com\", \"info@ietf.org\"]",
"items": {
"maxLength": 320,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"emails"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"count": {
"type": "number"
},
"domains": {
"type": "number"
},
"next": {
"additionalProperties": false,
"description": "Suggested next paid call in the same family (call it in a loop when the task continues)",
"properties": {
"method": {
"enum": [
"GET",
"POST"
],
"type": "string"
},
"sample": {
"description": "Free fixed sample of the whole family",
"type": "string"
},
"service": {
"description": "Service id of the suggested next paid call",
"type": "string"
},
"tool": {
"description": "MCP tool name of the same call",
"type": "string"
},
"url": {
"description": "Paid route of the next call",
"type": "string"
},
"useWhen": {
"description": "When the next call is the right one",
"type": "string"
}
},
"required": [
"service",
"tool",
"method",
"url",
"useWhen",
"sample"
],
"type": "object"
},
"results": {
"items": {
"additionalProperties": false,
"properties": {
"acceptsMail": {
"type": "boolean"
},
"disposable": {
"type": "boolean"
},
"dmarc": {
"type": [
"string",
"null"
]
},
"dmarcPolicy": {
"type": [
"string",
"null"
]
},
"domain": {
"type": [
"string",
"null"
]
},
"domainExists": {
"type": [
"boolean",
"null"
]
},
"email": {
"type": "string"
},
"freeProvider": {
"type": "boolean"
},
"mx": {
"items": {
"additionalProperties": false,
"properties": {
"host": {
"type": "string"
},
"priority": {
"type": "number"
}
},
"required": [
"priority",
"host"
],
"type": "object"
},
"type": "array"
},
"normalized": {
"type": [
"string",
"null"
]
},
"reasons": {
"items": {
"type": "string"
},
"type": "array"
},
"roleAccount": {
"type": "boolean"
},
"smtpChecked": {
"type": "boolean"
},
"spf": {
"type": [
"string",
"null"
]
},
"syntaxValid": {
"type": "boolean"
},
"verdict": {
"enum": [
"deliverable_domain",
"risky",
"undeliverable",
"invalid",
"unknown"
],
"type": "string"
}
},
"required": [
"email",
"normalized",
"syntaxValid",
"domain",
"disposable",
"freeProvider",
"role