Email & Domain Intelligence API Documentation
Check email syntax, MX, SPF, DKIM, DMARC, RDAP registration, and public TLS for a domain. Mailbox existence is not tested, and no reputation score is invented. Payment is the exact USDC price on Base with x402.
https://brainiac.software/api/v1/email-domain/email-syntax-validate$0.01 USDCValidate email syntax
Check that an address is a bare email with a public domain. The mailbox is not contacted, and a valid result does not mean the address exists.
Body
| Field | Required | Notes |
|---|---|---|
email | Yes | string |
Request exampleJSON
{
"email": "user@gmail.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"status": "valid",
"email": "user@gmail.com",
"localPart": "user",
"domain": "gmail.com",
"findings": [
{
"kind": "present",
"code": "email_syntax_valid",
"detail": "The address matches the bare email syntax check. This does not show that the mailbox exists."
}
],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/email-syntax-validate" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"email": "user@gmail.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/email-domain-verify$0.03 USDCVerify an email domain
Resolve a public domain and report whether nameserver, address, and MX records were found. MX presence does not mean a mailbox exists.
Body
| Field | Required | Notes |
|---|---|---|
email | No | string |
domain | No | string |
Request exampleJSON
{
"domain": "gmail.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"status": "present",
"email": "",
"domain": "gmail.com",
"nameservers": true,
"address": true,
"mx": true,
"findings": [],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted.",
"A domain with MX records is not evidence that any particular mailbox exists."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/email-domain-verify" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "gmail.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/mx-record-check$0.03 USDCCheck MX records
Look up MX hosts, including a null MX, and resolve each public host. Missing records, lookup failures, and non-public hosts are reported separately. No message is sent.
Body
| Field | Required | Notes |
|---|---|---|
domain | Yes | string |
Request exampleJSON
{
"domain": "gmail.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"status": "present",
"domain": "gmail.com",
"exchanges": [
{
"preference": 5,
"exchange": "gmail-smtp-in.l.google.com",
"resolves": "yes"
},
{
"preference": 20,
"exchange": "alt2.gmail-smtp-in.l.google.com",
"resolves": "yes"
},
{
"preference": 30,
"exchange": "alt3.gmail-smtp-in.l.google.com",
"resolves": "yes"
},
{
"preference": 40,
"exchange": "alt4.gmail-smtp-in.l.google.com",
"resolves": "yes"
},
{
"preference": 10,
"exchange": "alt1.gmail-smtp-in.l.google.com",
"resolves": "yes"
}
],
"findings": [],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/mx-record-check" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "gmail.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/spf-record-analyze$0.04 USDCAnalyze an SPF record
Read the published SPF policy and expand redirect or include targets for one level, up to eight lookups. +all is reported as a misconfiguration.
Body
| Field | Required | Notes |
|---|---|---|
domain | Yes | string |
Request exampleJSON
{
"domain": "gmail.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"status": "present",
"domain": "gmail.com",
"record": "v=spf1 redirect=_spf.google.com",
"all": "~all",
"lookups": 2,
"findings": [
{
"kind": "warning",
"code": "spf_softfail",
"detail": "The SPF record uses ~all."
}
],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted.",
"SPF includes are expanded for at most one level and eight extra lookups."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/spf-record-analyze" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "gmail.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/dkim-record-check$0.04 USDCCheck DKIM records
Look up DKIM public keys for the supplied selectors. When no selector is supplied, only google, selector1, selector2, s1, s2, and k1 are queried.
Body
| Field | Required | Notes |
|---|---|---|
domain | Yes | string |
selectors | No | array; Array |
Request exampleJSON
{
"domain": "outlook.com",
"selectors": [
"selector1"
]
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"status": "present",
"domain": "outlook.com",
"selectors": [
{
"selector": "selector1",
"status": "present",
"keyPresent": true
}
],
"findings": [],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted.",
"When no selector is supplied, only google, selector1, selector2, s1, s2, and k1 are queried."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/dkim-record-check" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "outlook.com",
"selectors": [
"selector1"
]
}
JSONhttps://brainiac.software/api/v1/email-domain/dmarc-policy-analyze$0.03 USDCAnalyze a DMARC policy
Read the _dmarc TXT record and report p and pct. A missing record, a failed lookup, and p=none are separate results. No aggregate report is sent.
Body
| Field | Required | Notes |
|---|---|---|
domain | Yes | string |
Request exampleJSON
{
"domain": "gmail.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"status": "present",
"domain": "gmail.com",
"record": "v=DMARC1; p=none; sp=quarantine; rua=mailto:mailauth-reports@google.com",
"policy": "none",
"subdomainPolicy": "quarantine",
"percentage": "",
"findings": [
{
"kind": "warning",
"code": "dmarc_none",
"detail": "DMARC is published with p=none, so failing mail is not quarantined or rejected by this policy."
}
],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/dmarc-policy-analyze" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "gmail.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/domain-reputation-signals$0.04 USDCReport domain registration signals
Return the RDAP registration date and whether a DNSSEC DS record is published. The reputation verdict stays unavailable because no unauthenticated reputation feed is queried.
Body
| Field | Required | Notes |
|---|---|---|
domain | Yes | string |
Request exampleJSON
{
"domain": "cloudflare.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"domain": "cloudflare.com",
"reputation": "unavailable",
"registered": "2009-02-17T22:07:54Z",
"dnssec": "present",
"signals": [
{
"kind": "unavailable",
"code": "reputation_unavailable",
"detail": "No unauthenticated public reputation feed was queried. Registration age and DNSSEC are facts, not a reputation verdict."
},
{
"kind": "present",
"code": "registration_date",
"detail": "RDAP reports registration on 2009-02-17."
},
{
"kind": "present",
"code": "dnssec_present",
"detail": "A DS record is published."
}
],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/domain-reputation-signals" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "cloudflare.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/domain-registration-lookup$0.05 USDCLook up domain registration
Read public RDAP data for the domain, including registrar, registration and expiration events, status, and nameservers. A not-found response is not proof the domain is unregistered everywhere.
Body
| Field | Required | Notes |
|---|---|---|
domain | Yes | string |
Request exampleJSON
{
"domain": "gmail.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"domain": "gmail.com",
"status": "found",
"sourceUrl": "https://rdap.verisign.com/com/v1/domain/gmail.com",
"name": "GMAIL.COM",
"registrar": "MarkMonitor Inc.",
"registered": "1995-08-13T04:00:00Z",
"expires": "2027-08-12T04:00:00Z",
"statuses": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited",
"server delete prohibited",
"server transfer prohibited",
"server update prohibited"
],
"nameservers": [
"ns1.google.com",
"ns2.google.com",
"ns3.google.com",
"ns4.google.com"
],
"findings": [],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted.",
"Registration data comes from the public RDAP redirect for the domain."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/domain-registration-lookup" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "gmail.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/domain-tls-inspect$0.05 USDCInspect domain TLS
Connect to port 443 of a public address for the domain and read the certificate. Certificate transparency names come from public crt.sh results. No other port is contacted.
Body
| Field | Required | Notes |
|---|---|---|
domain | Yes | string |
Request exampleJSON
{
"domain": "gmail.com"
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"domain": "gmail.com",
"status": "present",
"protocol": "TLSv1.3",
"issuer": "WE2",
"subject": "gmail.com",
"validFrom": "Oct 7 19:09:06 2026 GMT",
"validTo": "Dec 30 19:09:05 2026 GMT",
"hostnameMatches": true,
"names": [
"gmail.com",
"*.gmail.com"
],
"findings": [],
"ctStatus": "unavailable",
"certificates": [],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted.",
"Certificate transparency data is read from crt.sh without authentication. A failed transparency lookup does not change the live certificate result."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/domain-tls-inspect" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"domain": "gmail.com"
}
JSONhttps://brainiac.software/api/v1/email-domain/email-deliverability-report$0.12 USDCReport email deliverability checks
Combine syntax, MX, SPF, DKIM, DMARC, RDAP, and TLS checks. No message is sent, the mailbox is not checked, and a clear report does not promise delivery.
Body
| Field | Required | Notes |
|---|---|---|
email | No | string |
domain | No | string |
selectors | No | array; Array |
Request exampleJSON
{
"email": "user@outlook.com",
"selectors": [
"selector1"
]
}Response exampleJSON
{
"checkedAt": "2026-11-02T19:00:00.000Z",
"sendsMail": false,
"mailboxChecked": false,
"assessment": "incomplete",
"summary": "A mail record is missing, a lookup did not finish, or a published policy is only partial. No message was sent, and the mailbox was not checked.",
"email": "user@outlook.com",
"domain": "outlook.com",
"sections": [
{
"name": "syntax",
"status": "present"
},
{
"name": "mx",
"status": "present"
},
{
"name": "spf",
"status": "present"
},
{
"name": "dkim",
"status": "present"
},
{
"name": "dmarc",
"status": "present"
},
{
"name": "registration",
"status": "present"
},
{
"name": "tls",
"status": "present"
},
{
"name": "reputation",
"status": "unavailable"
}
],
"counts": {
"misconfigured": 0,
"lookup_failed": 0,
"missing": 0,
"warning": 1
},
"findings": [
{
"kind": "present",
"code": "email_syntax_valid",
"detail": "The address matches the bare email syntax check. This does not show that the mailbox exists."
},
{
"kind": "warning",
"code": "dmarc_none",
"detail": "DMARC is published with p=none, so failing mail is not quarantined or rejected by this policy."
}
],
"limitations": [
"No test message is sent and no mailbox login is attempted.",
"Syntax and MX records do not show that a mailbox exists.",
"A reputation verdict is unavailable unless a public unauthenticated source provides one.",
"Private, loopback, and link-local addresses are not contacted.",
"The report does not send mail and does not assign a reputation score."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/email-domain/email-deliverability-report" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"email": "user@outlook.com",
"selectors": [
"selector1"
]
}
JSON