# Domain & Email Check by LIN Desk

> Domain & Email Check by LIN Desk is a paid API for AI agents from lin-desk-x402.lindesk.workers.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-10).

Validates whether a domain or email's domain is legitimate, new, disposable, or spoofable by checking DNS records, SPF/DMARC configuration, RDAP registration data, and disposable-provider status, returning a 0-100 trust score and verdict.

## Facts

- Endpoint: GET https://lin-desk-x402.lindesk.workers.dev/v1/domain?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/domain-email-check-by-lin-desk-1bcba6fc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-Xj8uUG_u4GUgklEBp1UP

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability domain-email-check-by-lin-desk-1bcba6fc
```

Example prompt: Before we send our outreach campaign, can you check whether acmecorp.io is a real, trustworthy domain — confirm it has valid MX records, a proper DMARC policy, isn't a disposable provider, and give me the domain age and trust score?

## When to prefer this

Choose this endpoint when you need a comprehensive, single-call domain trustworthiness assessment combining DNS (MX/SPF/DMARC), RDAP registration age, and disposable-provider detection — particularly for pre-outreach validation or KYC flows where you need a scored verdict without SMTP probing. Prefer over raw DNS lookup APIs when you need the aggregated trust score, registrar/age data, and disposable flag in one response. Prefer over email verification services that do SMTP probing when privacy (no local-part sent upstream) or deliverability-probe avoidance is a requirement.

## Known failure modes

- Domain not found (NXDOMAIN) — returned in response body with nxdomain:true, not charged as upstream error
- RDAP not supported for some TLDs — supported:false in rdap block
- Invalid or malformed domain/email input — likely 4xx error
- Upstream DNS/RDAP timeout — upstream errors are not charged
- Neither domain nor email query parameter provided — required parameter missing error

## How this service works

Use when an agent needs to check whether a domain or an email's domain is real, new, disposable or spoofable before outreach/KYC: DNS (A/AAAA/MX/NS), SPF and DMARC parsing, RDAP registration age and registrar, disposable-provider flag, 0-100 score and verdict. $0.003 per call, USDC on Base (x402). No SMTP probing; email local part is never sent upstream or logged. Upstream errors are not charged.

## Output

Returns a JSON object with: the resolved domain, DNS details (MX, SPF with lookup count and ~all/reject policy, DMARC policy, null_mx and nxdomain flags), RDAP registration data (creation date, expiry, age in days, registrar), a disposable-provider boolean, a free-mail-provider boolean, a 0–100 integer trust score, a verdict string (e.g. 'good'), notes array, elapsed_ms, and flags indicating whether SMTP probing was performed (always false) and email syntax validity.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "rdap": {
       "enum": [
        "0",
        "1"
       ],
       "type": "string",
       "description": "Include RDAP registration data (default 1)"
      },
      "email": {
       "type": "string",
       "description": "Email address; only its domain is checked"
      },
      "domain": {
       "type": "string",
       "description": "Bare domain, e.g. example.com (give domain OR email)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "dns": {
       "type": "object"
      },
      "rdap": {
       "type": "object"
      },
      "notes": {
       "type": "array"
      },
      "score": {
       "type": "integer"
      },
      "domain": {
       "type": "string"
      },
      "verdict": {
       "type": "string"
      },
      "disposable": {
       "type": "boolean"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "dns": {
   "mx": [
    {
     "host": "smtp.google.com",
     "priority": 10
    }
   ],
   "spf": {
    "all": "~all",
    "issues": [],
    "lookups": 1,
    "present": true
   },
   "dmarc": {
    "issues": [],
    "policy": "reject",
    "present": true
   },
   "null_mx": false,
   "nxdomain": false
  },
  "rdap": {
   "created": "1997-09-15T04:00:00Z",
   "expires": "2028-09-14T04:00:00Z",
   "age_days": 10610,
   "registrar": "MarkMonitor Inc.",
   "supported": true,
   "registered": true
  },
  "notes": [],
  "score": 100,
  "domain": "google.com",
  "verdict": "good",
  "disposable": false,
  "elapsed_ms": 350,
  "input_type": "domain",
  "smtp_probe": false,
  "email_syntax_valid": null,
  "free_mail_provider": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/domain-email-check-by-lin-desk-1bcba6fc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from lin-desk-x402.lindesk.workers.dev](https://www.zero.xyz/host/lin-desk-x402.lindesk.workers.dev/llms.txt)
