# Tinstop DMARC Check

> Tinstop DMARC Check is a paid API for AI agents from tinstop.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-15).

Checks a domain's DMARC record for validity, policy level, alignment options, and reporting destinations, flagging any configuration issues.

## Facts

- Endpoint: POST https://tinstop.com/v1/dmarc-check
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tinstop-dmarc-check-244f78ff
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_uFTwTeFQ7UMb0ytD9MsJS

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 tinstop-dmarc-check-244f78ff -d '<json body>'
```

Example prompt: Can you check whether stripe.com has a valid DMARC record, what policy it's set to, and whether there are any configuration issues?

## When to prefer this

Choose this endpoint when you need a focused, machine-payable DMARC-specific audit without requiring API keys or account setup. It is ideal for automated agent workflows that need to validate email authentication posture per domain on demand, especially when combined with sibling Tinstop endpoints for full DNS/SSL/header coverage. Prefer it over manual DNS lookups when you need structured issue detection, alignment settings, and reporting destinations parsed and returned in a consistent schema.

## Known failure modes

- Domain has no DMARC record — dmarc_valid returns false with issues populated
- Malformed domain input (e.g. includes http://) — likely returns validation error
- Domain does not exist or cannot be resolved — may return invalid with issues
- Payment failure via x402 — request not processed, 402 response returned
- Transient DNS lookup failure — may return error or empty result

## How this service works

Tinstop is a machine-payable Website Intelligence API for domain security and performance audits: DNS, SSL/TLS, HTTP security headers, SPF/DKIM/DMARC email authentication, and Google PageSpeed. Pay per call with x402 using USDC on Base. No accounts or API keys.

## Output

Returns whether the domain's DMARC record is valid, the policy level (none/quarantine/reject), DKIM alignment mode (relaxed or strict), SPF alignment mode (relaxed or strict), aggregate and forensic reporting email destinations, a list of detected issues, a scan ID, and whether the response was cached.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "domain": {
   "type": "string",
   "description": "The domain name to check (e.g. 'example.com'). Do not include http:// or https:// protocol prefixes."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "DmarcCheckResponse",
 "required": [
  "domain",
  "dmarc_valid",
  "policy",
  "adkim",
  "aspf",
  "rua",
  "ruf",
  "issues",
  "scan_id"
 ],
 "properties": {
  "rua": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Rua",
   "description": "Reporting aggregate email destinations"
  },
  "ruf": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "title": "Ruf",
   "description": "Forensic incident reporting destinations"
  },
  "aspf": {
   "type": "string",
   "title": "Aspf",
   "description": "SPF alignment option: r (relaxed) or s (strict)"
  },
  "adkim": {
   "type": "string",
   "title": "Adkim",
   "description": "DKIM alignment option: r (relaxed) or s (strict)"
  },
  "cached": {
   "type": "boolean",
   "title": "Cached",
   "default": false
  },
  "domain": {
   "type": "string",
   "title": "Domain"
  },
  "issues": {
   "type": "array",
   "items": {
    "type": "object",
    "additionalProperties": true
   },
   "title": "Issues"
  },
  "policy": {
   "type": "string",
   "title": "Policy",
   "description": "DMARC policy level: none, quarantine, or reject"
  },
  "scan_id": {
   "type": "string",
   "title": "Scan Id"
  },
  "request_id": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Request Id",
   "description": "Gateway request tracking ID"
  },
  "dmarc_valid": {
   "type": "boolean",
   "title": "Dmarc Valid"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tinstop-dmarc-check-244f78ff/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tinstop.com](https://www.zero.xyz/host/tinstop.com/llms.txt)
