{"service":"email-batch","version":"1.0.0","title":"Email list check","description":"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":{"method":"POST","url":"https://x402-gateway.blackwoodstate8.workers.dev/v1/email-batch","scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"20000","amountUsdc":"0.02","payTo":"0x274508F17CDb74BbBe4241F3cA618709d0a5528c","maxTimeoutSeconds":60},"input":{"schema":{"type":"object","properties":{"emails":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"string","maxLength":320},"description":"Email addresses to check, 1 to 20, e.g. [\"jane@example.com\", \"info@ietf.org\"]"}},"required":["emails"]},"example":{"emails":["postmaster@ietf.org","test@mailinator.com","info@example.com","not-an-email"]}},"output":{"schema":{"type":"object","properties":{"count":{"type":"number"},"domains":{"type":"number"},"summary":{"type":"object","properties":{"deliverable_domain":{"type":"number"},"risky":{"type":"number"},"undeliverable":{"type":"number"},"invalid":{"type":"number"},"unknown":{"type":"number"}},"required":["deliverable_domain","risky","undeliverable","invalid","unknown"],"additionalProperties":false},"results":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"normalized":{"type":["string","null"]},"syntaxValid":{"type":"boolean"},"domain":{"type":["string","null"]},"disposable":{"type":"boolean"},"freeProvider":{"type":"boolean"},"roleAccount":{"type":"boolean"},"domainExists":{"type":["boolean","null"]},"mx":{"type":"array","items":{"type":"object","properties":{"priority":{"type":"number"},"host":{"type":"string"}},"required":["priority","host"],"additionalProperties":false}},"acceptsMail":{"type":"boolean"},"spf":{"type":["string","null"]},"dmarc":{"type":["string","null"]},"dmarcPolicy":{"type":["string","null"]},"verdict":{"type":"string","enum":["deliverable_domain","risky","undeliverable","invalid","unknown"]},"reasons":{"type":"array","items":{"type":"string"}},"smtpChecked":{"type":"boolean"}},"required":["email","normalized","syntaxValid","domain","disposable","freeProvider","roleAccount","domainExists","mx","acceptsMail","spf","dmarc","dmarcPolicy","verdict","reasons","smtpChecked"],"additionalProperties":false}},"next":{"type":"object","properties":{"service":{"type":"string","description":"Service id of the suggested next paid call"},"tool":{"type":"string","description":"MCP tool name of the same call"},"method":{"type":"string","enum":["GET","POST"]},"url":{"type":"string","description":"Paid route of the next call"},"useWhen":{"type":"string","description":"When the next call is the right one"},"sample":{"type":"string","description":"Free fixed sample of the whole family"}},"required":["service","tool","method","url","useWhen","sample"],"additionalProperties":false,"description":"Suggested next paid call in the same family (call it in a loop when the task continues)"}},"required":["count","domains","summary","results"],"additionalProperties":false},"example":{"count":4,"domains":3,"summary":{"deliverable_domain":1,"risky":1,"undeliverable":1,"invalid":1,"unknown":0},"results":[{"email":"postmaster@ietf.org","normalized":"postmaster@ietf.org","syntaxValid":true,"domain":"ietf.org","disposable":false,"freeProvider":false,"roleAccount":true,"domainExists":true,"mx":[{"priority":0,"host":"mx.ietf.org"}],"acceptsMail":true,"spf":"v=spf1 ip4:166.84.6.31 ip4:166.84.7.238 ip6:2602:f977:800:f7f6::/64 ip4:166.84.7.34 ip6:2602:f977:800::e276:63ff:fe66:3400 include:_spf.google.com include:spf.hostedrt.com ~all","dmarc":"v=DMARC1; p=none; rua=mailto:dmarc_agg@vali.email,mailto:dmarc-report@ietf.org","dmarcPolicy":"none","verdict":"deliverable_domain","reasons":["role_account"],"smtpChecked":false},{"email":"test@mailinator.com","normalized":"test@mailinator.com","syntaxValid":true,"domain":"mailinator.com","disposable":true,"freeProvider":false,"roleAccount":false,"domainExists":true,"mx":[{"priority":1,"host":"mail.mailinator.com"},{"priority":1,"host":"mail2.mailinator.com"}],"acceptsMail":true,"spf":"v=spf1 -all","dmarc":"v=DMARC1;p=reject;sp=reject;aspf=s;pct=100","dmarcPolicy":"reject","verdict":"risky","reasons":["disposable"],"smtpChecked":false},{"email":"info@example.com","normalized":"info@example.com","syntaxValid":true,"domain":"example.com","disposable":false,"freeProvider":false,"roleAccount":true,"domainExists":true,"mx":[],"acceptsMail":false,"spf":"v=spf1 -all","dmarc":"v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s","dmarcPolicy":"reject","verdict":"undeliverable","reasons":["null_mx","role_account"],"smtpChecked":false},{"email":"not-an-email","normalized":null,"syntaxValid":false,"domain":null,"disposable":false,"freeProvider":false,"roleAccount":false,"domainExists":null,"mx":[],"acceptsMail":false,"spf":null,"dmarc":null,"dmarcPolicy":null,"verdict":"invalid","reasons":["syntax"],"smtpChecked":false}]}},"mcp":{"url":"https://x402-gateway.blackwoodstate8.workers.dev/mcp","tool":"blackwood_email_batch"},"openapi":"https://x402-gateway.blackwoodstate8.workers.dev/openapi.json","status":"https://x402-gateway.blackwoodstate8.workers.dev/status.json"}