{"uid":"cap_AasoyJHgvhw1U0pFbijdi","slug":"batch-email-address-validator-9ab1ad08","name":"Batch Email Address Validator","description":"An open index of the machine-to-machine (agent) economy. x402 routes: ranked discovery over the live x402 service market, every indexed service scored by real 30-day calls and paying-wallet bounds, with a receipt naming the snapshot hash and scoring revision. /economy routes, for Tempo MPP, Virtuals ACP, Olas, Masumi, ERC-8004 agent registries, Solana agent registries, Base agent contracts and MCP servers (Official MCP Registry): each protocol's published figures (agent or server counts, transactions or payment events; payers and USD volume only where the source publishes them: payers for x402 and Tempo MPP, USD volume for x402 and Virtuals ACP), each with its unit, window and source; units differ, so totals are not summed. L402 and per-service MPP listings are not covered.","url":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/v1/email/verify/batch?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string","maxLength":254},"maxItems":25,"minItems":1,"description":"1 to 25 email addresses to check; duplicates are removed"}}},"responseSchema":{"type":"json","example":{"note":"Each address is checked exactly like the single /v1/email/verify call (same syntax rules, DNS lookups, verdicts and flags); addresses sharing a domain share one DNS answer. Duplicates (case-insensitive) are removed. Price is fixed per call for 1 to 25 addresses. No SMTP mailbox probe is made (outbound port 25 is blocked on Cloudflare Workers), so deliverable_domain means the domain accepts mail (it publishes MX, or A/AAAA as the RFC 5321 fallback), NOT that this mailbox exists; catch-all is not detected. DNS was read once via a public DNS-over-HTTPS resolver at checked_at. disposable/role_account/free_provider/placeholder come from fixed embedded lists: a domain missing from them is not proven safe. normalized lowercases the address and converts the domain to ASCII (IDNA); it does not strip dots or +tags.","count":2,"source":"public DNS-over-HTTPS resolvers (cloudflare-dns.com, dns.google as fallback) and embedded lists","results":[{"mx":[{"host":"gmail-smtp-in.l.google.com","priority":5},{"host":"alt1.gmail-smtp-in.l.google.com","priority":10},{"host":"alt2.gmail-smtp-in.l.google.com","priority":20},{"host":"alt3.gmail-smtp-in.l.google.com","priority":30},{"host":"alt4.gmail-smtp-in.l.google.com","priority":40}],"note":"No SMTP mailbox probe is made (outbound port 25 is blocked on Cloudflare Workers), so deliverable_domain means the domain accepts mail (it publishes MX, or A/AAAA as the RFC 5321 fallback), NOT that this mailbox exists; catch-all is not detected. DNS was read once via a public DNS-over-HTTPS resolver at checked_at. disposable/role_account/free_provider/placeholder come from fixed embedded lists: a domain missing from them is not proven safe. normalized lowercases the address and converts the domain to ASCII (IDNA); it does not strip dots or +tags.","email":"Support@GMAIL.com","domain":"gmail.com","has_mx":true,"reason":"domain publishes MX records","source":"cloudflare-dns.com","null_mx":false,"verdict":"deliverable_domain","syntax_ok":true,"a_fallback":false,"checked_at":"2026-10-06T18:28:55.242Z","disposable":false,"dns_status":"NOERROR","normalized":"support@gmail.com","placeholder":false,"role_account":true,"syntax_error":null,"domain_exists":true,"free_provider":true,"needs_smtputf8":false},{"mx":null,"note":"No SMTP mailbox probe is made (outbound port 25 is blocked on Cloudflare Workers), so deliverable_domain means the domain accepts mail (it publishes MX, or A/AAAA as the RFC 5321 fallback), NOT that this mailbox exists; catch-all is not detected. DNS was read once via a public DNS-over-HTTPS resolver at checked_at. disposable/role_account/free_provider/placeholder come from fixed embedded lists: a domain missing from them is not proven safe. normalized lowercases the address and converts the domain to ASCII (IDNA); it does not strip dots or +tags.","email":"no-at-sign","domain":null,"has_mx":null,"reason":"must contain exactly one @","source":null,"null_mx":null,"verdict":"invalid_syntax","syntax_ok":false,"a_fallback":null,"checked_at":"2026-10-18T12:00:00.000Z","disposable":false,"dns_status":null,"normalized":null,"placeholder":false,"role_account":false,"syntax_error":"must contain exactly one @","domain_exists":null,"free_provider":false,"needs_smtputf8":false}],"checked_at":"2026-10-18T12:00:00.000Z"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.25","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.25/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.25","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.25","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_4LFdkRaNagfv3Fkfas3Wf","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.25","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates up to 25 email addresses at once, checking syntax, DNS/MX records, and classifying each as deliverable, undeliverable, or unknown with flags for disposable, role-account, free-provider, and placeholder domains.","exampleAgentPrompt":"Can you validate these 5 email addresses for me — john.doe@example.com, info@startup.io, test@mailinator.com, noreply@company.org, and Support@GMAIL.com — and tell me which ones are actually deliverable and whether any are disposable or role accounts?","exampleUseCases":[{"title":"Pre-send campaign list scrubbing","prompt":"Before I send this newsletter, can you check these 20 subscriber emails and flag any that are undeliverable, disposable, or role-based accounts so I can remove them?"},{"title":"New user signup fraud screening","prompt":"We just got 15 new signups — can you run all their email addresses through validation and tell me which ones look fake, use throwaway domains, or belong to free providers like Gmail or Yahoo?"},{"title":"CRM import data hygiene","prompt":"I'm about to import a batch of 25 contacts into our CRM. Can you validate all their email addresses first and tell me which domains actually publish MX records and which emails look like placeholders?"}],"resultDescription":"A JSON object with a count of checked addresses and a results array. Each entry includes: the original and normalized email, domain, verdict (deliverable/undeliverable/unknown), reason, has_mx boolean, null_mx flag, MX records with host and priority, DNS source, checked_at timestamp, and boolean flags for disposable, role_account, free_provider, and placeholder. Duplicates (case-insensitive) are removed before processing. No SMTP mailbox probe is performed.","failureModes":["Invalid email format causes that address to receive an 'undeliverable' verdict with a syntax reason","Domain with no MX and no A/AAAA fallback returns has_mx: false and verdict 'undeliverable'","DNS lookup failure due to resolver outage may return verdict 'unknown'","Batch exceeds 25 addresses — request rejected with validation error","Empty emails array — rejected due to minItems: 1 constraint","Catch-all domains cannot be detected — deliverable_domain does not mean the specific mailbox exists","Domains not in embedded lists are not guaranteed safe — absence of 'disposable' flag is not proof of legitimacy"],"whenToPreferThis":"Choose this endpoint when you need to validate multiple email addresses in a single API call (up to 25) and want DNS-level deliverability checks plus classification flags (disposable, role account, free provider, placeholder) without performing SMTP probes. It is ideal for batch list hygiene, signup screening, or pre-send validation workflows where cost efficiency per address matters. Prefer it over single-address endpoints when processing lists; prefer it over full SMTP-probe services when you only need domain-level deliverability and classification.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-19T12:39:19.209Z","isFirstParty":false,"canonicalSlug":"batch-email-address-validator-9ab1ad08"}