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
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 16 min ago | Passed | 402 | 274 ms | $0.005 |
| 4 h ago | Passed | 402 | 79 ms | $0.005 |
| 8 h ago | Passed | 402 | 86 ms | $0.005 |
| 11 h ago | Passed | 402 | 180 ms | $0.005 |
| 16 h ago | Passed | 402 | 127 ms | $0.005 |
| 18 h ago | Passed | 402 | 182 ms | $0.005 |
| 24 h ago | Passed | 402 | 61 ms | $0.005 |