{
  "id": "email-verification-api",
  "slug": "email-verification-api",
  "name": "Email Verification API",
  "provider": {
    "slug": "apistead-labs",
    "name": "APIStead Labs",
    "verified": true
  },
  "category": "Verification",
  "tagline": "Real-time email verification for AI agents, with a quality score.",
  "description": "Real-time syntax, domain, MX, disposable, role and typo checks with a quality score. x402 payments, no API key, no SMTP probe and no message sent.",
  "agent_summary": "Check email syntax, domain and MX records before an agent sends a signup, invoice or outreach message.",
  "scope": "Domain-level check only. Does not prove the mailbox exists, send a test message or perform SMTP probing. Disposable and role lists are curated samples, not a licensed feed.",
  "intent_phrases": [
    "validate an email address",
    "check if an email domain can receive mail",
    "screen an email before signup",
    "detect a disposable email domain"
  ],
  "faqs": [
    {
      "answer": "No. It verifies the domain and its mail route. It does not use SMTP, does not send a message, and returns mailbox_checked: false. A deliverable verdict means the domain can accept mail, not that the specific inbox exists.",
      "question": "Does this API confirm that a mailbox exists?"
    },
    {
      "answer": "The quality score from 0 to 100 combines syntax, MX, implicit MX, disposable-domain, role-account and typo signals. It is a confidence indicator, not a guarantee of delivery.",
      "question": "What does the quality score mean?"
    },
    {
      "answer": "Yes. The API performs the domain and MX checks during the request and returns a structured result in one call. It does not run a slow SMTP mailbox probe.",
      "question": "Is this a real-time API?"
    },
    {
      "answer": "No. The API uses DNS only. It does not connect to SMTP port 25, does not send mail and does not store the email address.",
      "question": "Does it send email or use SMTP?"
    },
    {
      "answer": "A call costs $0.001 USDC on Base. The agent reads the x402 402 challenge, pays the provider wallet directly and retries. There is no API key or subscription.",
      "question": "How much does a call cost and how do agents pay?"
    },
    {
      "answer": "A null MX record tells senders that the domain does not accept email. The API marks that domain as undeliverable instead of treating the missing mailbox as a temporary failure.",
      "question": "What is a null MX record?"
    }
  ],
  "code_examples": [],
  "price": {
    "min_usdc": 0.001,
    "max_usdc": 0.001,
    "unit": "per_call"
  },
  "payment": {
    "protocol": "x402",
    "protocol_version": 2,
    "network": "eip155:8453",
    "network_name": "Base",
    "asset": "USDC",
    "price_min_usdc": 0.001,
    "price_max_usdc": 0.001,
    "unit": "per_call",
    "pay_to": "0x2E9804240E493DD8daeBa4F341a5086b92cde235",
    "authoritative_source": "402_challenge"
  },
  "networks": [
    "base"
  ],
  "primary_network": "base",
  "verification": "verified",
  "verification_detail": {
    "state": "verified",
    "verified_routes": 1,
    "total_routes": 1,
    "last_verified_at": "2026-11-13T13:52:26.507Z",
    "receipt_url": "https://basescan.org/tx/0x921a420d189953841232d7d6771f1352b34a5bec27ce76c4701aa6b958755a9e"
  },
  "verified_routes": 1,
  "total_routes": 1,
  "reliability": {
    "score": 88,
    "band": "caution",
    "uptime30d": 87.88,
    "lastCheckedAt": "2026-11-14T03:35:09.903Z"
  },
  "last_verified_at": "2026-11-13T13:52:26.507Z",
  "receipt_url": "https://basescan.org/tx/0x921a420d189953841232d7d6771f1352b34a5bec27ce76c4701aa6b958755a9e",
  "base_url": "https://apistead.qd.je/api/v1",
  "mcp_endpoint": "https://apistead.qd.je/mcp",
  "docs_url": "https://apistead.qd.je/api",
  "tags": [
    "email",
    "verification",
    "deliverability",
    "mx",
    "validation"
  ],
  "use_cases": [
    "Clean a signup list before sending",
    "Block disposable addresses and role accounts in a workflow",
    "Catch common domain typos before they become bounces",
    "Reduce bounce rates for an agent-driven campaign"
  ],
  "links": {
    "docs": "https://apistead.qd.je/api",
    "json": "https://x402.apistead.qd.je/api/apis/email-verification-api",
    "markdown": "https://x402.apistead.qd.je/api/apis/email-verification-api/md",
    "routes": "https://x402.apistead.qd.je/agent/routes?id=email-verification-api",
    "receipts": "https://x402.apistead.qd.je/agent/receipts?id=email-verification-api",
    "api_reference": "https://x402.apistead.qd.je/api",
    "mcp_guide": "https://x402.apistead.qd.je/mcp-docs",
    "skill": "https://x402.apistead.qd.je/skill",
    "openapi": "https://x402.apistead.qd.je/openapi.json"
  },
  "demo": true,
  "long_description": "Real-time email verification for AI agents. Before an agent sends a signup, invoice or outreach email, it should know whether the domain can receive mail. This API validates syntax, normalises the address, resolves MX records, detects null MX and implicit MX, flags disposable and role accounts, and suggests common domain typos.\n\nThe response includes a `verdict` (`deliverable`, `risky`, `undeliverable`, `unknown`), a `reason` code and a quality score from 0 to 100. It does not perform an SMTP handshake or prove that a mailbox exists, so it is safe to run at volume.",
  "provider_detail": {
    "slug": "apistead-labs",
    "name": "APIStead Labs",
    "description": "First-party data APIs built and verified by APIStead. US ZIP codes, IP intelligence, geocoding, weather, email and public records, all priced per call.",
    "website": "https://apistead.qd.je",
    "verified": true,
    "firstParty": true
  },
  "routes": [
    {
      "method": "POST",
      "path": "/email/verify",
      "url": "https://apistead.qd.je/api/v1/email/verify",
      "price_usdc": 0.001,
      "pay_to": "0x2E9804240E493DD8daeBa4F341a5086b92cde235",
      "description": "Verify email syntax, domain and MX records.",
      "example_request": "POST https://apistead.qd.je/api/v1/email/verify\n{\"email\":\"hello@example.com\"}",
      "example_response": {
        "mx": [],
        "note": "Domain-level check only. Mailbox existence is not confirmed and no message is sent.",
        "email": "person@example.com",
        "checks": [
          {
            "name": "syntax",
            "detail": "Email syntax is valid.",
            "status": "pass"
          },
          {
            "name": "mx",
            "detail": "No MX record was found.",
            "status": "fail"
          }
        ],
        "domain": "example.com",
        "reason": "no_mx",
        "null_mx": false,
        "preview": true,
        "verdict": "undeliverable",
        "checked_at": "2026-11-10T00:00:00Z",
        "confidence": 0,
        "disposable": false,
        "suggestion": null,
        "implicit_mx": false,
        "accepts_mail": false,
        "role_account": false,
        "free_provider": false,
        "mailbox_checked": false,
        "normalized_email": "person@example.com"
      },
      "verified": true,
      "last_checked_at": "2026-11-14T03:35:09.709Z",
      "latency_ms": 5,
      "uptime_30d": 87.88
    }
  ],
  "changelog": [
    {
      "version": "1.0.0",
      "title": "Initial verified release",
      "body": "The route is live and settlement-verified on Base mainnet. Health checks, public receipts and agent-readable records are available.",
      "type": "release",
      "author": "APIStead Labs",
      "published_at": "2026-11-11T16:54:23.745Z"
    }
  ],
  "generated_at": "2026-11-14T03:56:30.969Z"
}