{"uid":"cap_DSa4jvv7pxbdnRARYxW8X","slug":"2s-email-validator-92cdfdd9","name":"2s Email Validator","description":"Validate an email address and return structured signals: RFC syntax validity (isSyntaxValid + reason if not), the normalized address with split local/domain, and boolean flags for isDisposable (throwaway/temp-mail domain), isRoleAccount (info@, support@, admin@, …), and isFreeProvider (gmail/outlook/yahoo/icloud/…). With checkMx (default true) it also reports hasMxRecords — whether the domain publishes MX records, looked up live via DNS-over-HTTPS — plus the MX hosts. IMPORTANT: this is NOT a deliverability or mailbox-existence guarantee (catch-all domains, greylisting, and privacy relays make that impossible to assert from a single lookup); hasMxRecords reflects DNS MX presence only. Useful for signup-flow hygiene, lead scrubbing, and flagging disposable/role addresses before sending.","url":"https://2s.io/api/email/validate","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","queryParams"],"properties":{"type":{"const":"http"},"method":{"const":"GET"},"queryParams":{"required":["email"],"properties":{"email":{"type":"string","description":"Email address to check."},"checkMx":{"type":"boolean","description":"Look up MX-record presence via DoH (default true)."}}}}}}},"responseSchema":null,"example":{"request":{"input":{"type":"http","method":"GET","queryParams":{"email":"test.user@example.com","checkMx":true}}},"response":{"data":{"ok":true,"items":[{"note":"Signals only — not a deliverability or mailbox-existence guarantee. hasMxRecords reflects DNS MX presence, not that mail will be accepted.","email":"test.user@example.com","local":"test.user","domain":"example.com","reason":null,"source":{"url":"https://2s.io","license":"Heuristics computed by 2s.io; MX presence from public DNS-over-HTTPS resolvers.","provider":"2s.io email validator (syntax + disposable/role/free heuristics; MX presence via Google/Cloudflare DoH)"},"mxHosts":[],"normalized":"test.user@example.com","hasMxRecords":false,"isDisposable":false,"isRoleAccount":false,"isSyntaxValid":true,"isFreeProvider":false}],"total":1,"source":{"url":"https://2s.io","license":"Heuristics computed by 2s.io; MX presence from public DNS-over-HTTPS resolvers.","provider":"2s.io email validator (syntax + disposable/role/free heuristics; MX presence via Google/Cloudflare DoH)"}},"meta":{"cost":{"usd":0.001,"tier":0},"caller":"x402","version":null,"endpoint":"email.validate","settlement":{"txHash":"0x2a0ec28d2bc3d1d48860dedd63ee69bef3598c74e486ce5c1b01a438f02cedae","network":"eip155:8453","success":true}}}},"exampleRequest":{"email":"test.user@example.com","checkMx":true},"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","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.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0025","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0025","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_upYY5idXK4yeagbUxnMnU","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0025","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates an email address for syntax, disposability, role-account status, free-provider status, and MX record presence via DNS-over-HTTPS","exampleAgentPrompt":"Can you validate the email address jane.doe@gmail.com — check if it has valid syntax, whether it's disposable or a role account, and whether the domain actually has MX records?","exampleUseCases":[{"title":"Scrub user signups for disposable emails","prompt":"Before we onboard this user with email bob@tempmail.io, can you quickly check if it's a real address or a throwaway? I need to know if the syntax is valid, if it's flagged as disposable, and whether the domain has MX records."},{"title":"Detect suspicious role accounts in form submissions","prompt":"We're getting a batch of form submissions and I want to flag any that use role-based emails like info@ or support@. Can you validate each address, tell me which ones are role accounts, and also check if they're from free providers like Gmail or Outlook?"},{"title":"Clean up lead database before outreach","prompt":"I have a CSV of 50 leads we want to email. Before we launch the campaign, can you validate all their email addresses? I need to know which ones have syntax issues, which are from free email providers, and most importantly, which domains actually have MX records so we don't waste sends on fake addresses."}],"resultDescription":"A JSON object containing: whether the call succeeded (ok), an items array with per-email results including the normalized email, local part, domain, syntax validity flag, disposable flag, role-account flag, free-provider flag, list of MX hosts found, and a boolean for MX record presence. Also includes a source object describing the data provider and license.","failureModes":["Missing required 'email' query parameter returns an error response","Invalid or malformed email strings may still be returned with isSyntaxValid=false rather than an HTTP error","MX lookup may fail or be inconclusive if DNS-over-HTTPS is unreachable, reflected in hasMxRecords","Payment failure via x402 returns 402 status before the endpoint is reached","Rate limiting or quota exhaustion may result in non-200 responses"],"whenToPreferThis":"Use this endpoint when you need lightweight, fast email quality signals — syntax check, disposable/role/free-provider classification, and MX presence — without sending an actual probe email. Ideal for pre-screening user-submitted email addresses during onboarding, form validation, or data cleaning pipelines. Prefer this over full deliverability services when you only need heuristic signals at $0.001/call with no signup or API key required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T13:02:15.891Z","isFirstParty":false}