{"name":"PaywallWatch","description":"Email address screening for agents, paid per call over x402. Syntax, DNS mail exchanger, disposable-domain list, role-account, free-provider and typo heuristics. It does not verify that the mailbox exists.","url":"https://api.paywallwatch.com","version":"1","provider":{"organization":"Aura AI Agents L.L.C-FZ","url":"https://paywallwatch.com"},"documentationUrl":"https://paywallwatch.com/quickstart","openapi":"https://api.paywallwatch.com/openapi.json","iconUrl":"https://paywallwatch.com/icon.png","interface":{"type":"http+json","style":"REST","a2a":false,"note":"A plain REST API over HTTPS with JSON responses, paid per call over x402 and described by the OpenAPI document. This is not an A2A agent: no A2A operation is served, and this file is not an A2A Agent Card."},"payment":{"protocol":"x402","version":2,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"asset":"USDC","how":"An unpaid GET answers 402 with the terms in the PAYMENT-REQUIRED header; pay the exact amount with an x402 client and repeat the request. No account, no API key."},"routes":[{"path":"/v1/ping","method":"GET","price":"$0.01","description":"Use when testing an x402 client end to end. Returns ok and the server time; costs one cent.","tags":["x402","ping","test","health-check"],"example":"GET https://api.paywallwatch.com/v1/ping","inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","description":"A paid test call. additionalProperties is false: the body has exactly these fields; a new field would be a contract change, not a silent addition.","properties":{"ok":{"type":"boolean","const":true},"at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$","description":"The server time. The shape of Date.toISOString() in UTC; a shape check, not a calendar check."}},"required":["ok","at"],"additionalProperties":false},"outputExample":{"ok":true,"at":"2026-10-20T09:12:00Z"}},{"path":"/v1/email/verify","method":"GET","price":"$0.003","description":"Use when an agent needs email validation, screening only, for an address from a form, a scrape or a CRM and must decide whether it is worth sending to. Screens the address: syntax, DNS mail exchanger, disposable domain, role account, free provider and common typos. It does not verify that the mailbox exists. A DNS failure answers 503 and is not charged.","tags":["email","email-validation","email-screening","lead","crm","disposable-email","email-check","mx","dns","deliverability"],"example":"GET https://api.paywallwatch.com/v1/email/verify?email=jane@iana.org","inputSchema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","description":"The address to screen"}}},"outputSchema":{"type":"object","description":"One email screening: syntax, DNS mail exchanger, disposable-domain list, role-account, free-provider and typo heuristics. It does not verify that the mailbox exists or that mail will be delivered. additionalProperties is false: the body has exactly these fields; a new field would be a contract change, not a silent addition.","properties":{"email":{"type":"string","description":"The address as screened: trimmed and lower-cased."},"valid_syntax":{"type":"boolean","description":"Well formed (RFC-style local part and domain). When false, nothing else was checked."},"dns_status":{"type":"string","enum":["ok","implicit","null_mx","nomx","nxdomain","not_checked"],"description":"ok: MX records exist. implicit: no MX, an A record stands in. null_mx: the domain declares it accepts no mail. nomx: neither MX nor A. nxdomain: no such domain. not_checked: the syntax check failed first. (error occurs only on the uncharged 503.)"},"has_mx":{"type":"boolean","description":"True only when dns_status is ok. A mail exchanger means the domain accepts mail, never that the mailbox exists."},"disposable":{"type":"boolean","description":"The domain is on a public list of throwaway providers."},"role_account":{"type":"boolean","description":"A shared inbox such as info@ or sales@. A flag for your own rules; it never changes the verdict."},"free_provider":{"type":"boolean","description":"A consumer mail provider such as gmail.com. A flag for your own rules; it never changes the verdict."},"suggestion":{"type":["string","null"],"description":"A corrected address when a common typo is suspected, otherwise null. Ask the person to confirm it."},"verdict":{"type":"string","enum":["domain_accepts_mail","risky","disposable","undeliverable"],"description":"domain_accepts_mail: route it. risky: a typo is suspected or only an A record stands in for MX. disposable: hold it. undeliverable: the syntax or the domain rules it out. (unknown occurs only on the uncharged 503.)"},"reasons":{"type":"array","items":{"type":"string","enum":["invalid_syntax","domain_not_found","null_mx","no_mail_exchanger","no_mx_record_only_a_record","disposable_domain","typo_suspected"]},"description":"Why, possibly empty. (dns_lookup_failed occurs only on the uncharged 503.)"},"mailbox_verified":{"type":"boolean","const":false,"description":"Always false. No SMTP conversation takes place; this is screening, not mailbox verification."},"screening_note":{"type":"string","description":"The same limitation in a sentence."},"checked_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$","description":"When the check ran. The shape of Date.toISOString() in UTC; a shape check, not a calendar check."}},"required":["email","valid_syntax","dns_status","has_mx","disposable","role_account","free_provider","suggestion","verdict","reasons","mailbox_verified","screening_note","checked_at"],"additionalProperties":false},"outputExample":{"email":"jane@iana.org","valid_syntax":true,"dns_status":"ok","has_mx":true,"disposable":false,"role_account":false,"free_provider":false,"suggestion":null,"verdict":"domain_accepts_mail","reasons":[],"mailbox_verified":false,"screening_note":"Screening only: syntax, DNS mail exchanger, disposable-domain list, role-account and typo heuristics. It does not verify that the mailbox exists or that mail will be delivered.","checked_at":"2026-10-20T09:12:00Z"}}]}