80trust / 100

Web Email Auth

by API Acre in Email & messaging

x402 APIPassing, checked 16 min ago

Check a public domain's email authentication and anti-spoofing posture using MX, SPF, DMARC, caller-selected DKIM, MTA-STS, TLS-RPT, and BIMI DNS evidence.

POST https://apiacre.com/v1/web/email-auth

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
127 ms typical, 182 ms slowest 5%
Last check
16 min ago
Next check
in 16 min

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://apiacre.com/v1/web/email-auth" \
  -H "content-type: application/json" \
  -d '{"dkim_selectors":["protonmail"],"domain":"apiacre.com"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapiacre.com%2Fv1%2Fweb%2Femail-auth
const res = await pay("https://apiacre.com/v1/web/email-auth", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"dkim_selectors":["protonmail"],"domain":"apiacre.com"}),
});
console.log(await res.json());

Example input

{
  "dkim_selectors": [
    "protonmail"
  ],
  "domain": "apiacre.com"
}

Example output

{
  "data": {
    "checkedAt": "2026-08-12T18:03:16+00:00",
    "collectionMs": 19,
    "dkim": {
      "checked": true,
      "checkedSelectors": [
        "protonmail"
      ],
      "reason": null,
      "selectors": [
        {
          "configured": true,
          "multipleRecords": false,
          "recordCount": 1,
          "revoked": false,
          "selector": "protonmail"
        }
      ]
    },
    "dmarc": {
      "configured": true,
      "multipleRecords": false,
      "policy": "quarantine",
      "recordCount": 1,
      "records": [
        "v=DMARC1; p=quarantine"
      ]
    },
    "domain": "apiacre.com",
    "findings": [],
    "limitations": [
      "DNS answers are a time-specific recursive-resolver snapshot and may be cached.",
      "DKIM is checked only for selectors explicitly supplied by the caller.",
      "Published records do not prove delivery, domain ownership, sender identity, o..."
    ],
    "mailRouting": {
      "addressFallbackObserved": true,
      "mode": "explicit_mx",
      "mxRecords": [
        "10 mail.protonmail.ch.",
        "20 mailsec.protonmail.ch."
      ],
      "nullMx": false
    },
    "optionalPolicies": {
      "bimi": {
        "configured": false,
        "recordCount": 0,
        "records": []
      },
      "mtaSts": {
        "configured": false,
        "recordCount": 0,
        "records": []
      },
      "tlsReporting": {
        "configured": false,
        "recordCount": 0,
        "records": []
      }
    },
    "posture": {
      "basis": "published DNS records only",
      "status": "enforcing"
    },
    "provenance": {
      "queries": [
        "apiacre.com A",
        "apiacre.com AAAA",
        "apiacre.com MX",
        "apiacre.com TXT",
        "_dmarc.apiacre.com TXT",
        "protonmail._domainkey.apiacre.com TXT",
        "_mta-sts.apiacre.com TXT",
        "_smtp._tls.apiacre.com TXT",
        "default._bimi.apiacre.com TXT"
      ],
      "queryCount": 9,
      "source": "recursive DNS"
    },
    "spf": {
      "allQualifier": "softfail",
      "configured": true,
      "multipleRecords": false,
      "recordCount": 1,
      "records": [
        "v=spf1 include:_spf.protonmail.ch ~all"
      ]
    }
  },
  "meta": {
    "cached": false,
    "duration_ms": 42,
    "next_actions": [],
    "sources": [],
    "warnings": []
  },
  "request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
  "service": "web.email-auth",
  "version": "1"
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
16 min agoPassed402274 ms$0.005
4 h agoPassed40279 ms$0.005
8 h agoPassed40286 ms$0.005
11 h agoPassed402180 ms$0.005
16 h agoPassed402127 ms$0.005
18 h agoPassed402182 ms$0.005
24 h agoPassed40261 ms$0.005