Overview

The mailX API gives you free, programmatic access to all email deliverability and DNS tools. Every endpoint accepts a JSON body and returns a JSON response. No API key, no signup.

Base URL: https://themailx.com/api/v1
Method: POST for all endpoints
Content-Type: application/json

All tool endpoints follow the same pattern:

POST https://themailx.com/api/v1/{endpoint}
Content-Type: application/json

{
  "field_name": "value"
}

Authentication

None required. All endpoints are open and free.

DNS & Authentication Checkers

SPF spf-check

Use this when the user asks whether a domain's SPF record is valid, which servers may send email for a domain, or why SPF fails. Returns the live SPF record, a pass/fail status and a fix suggestion.

ParameterTypeRequiredDescription
domain_name string Yes The domain to check SPF records for, e.g. example.com
curl -X POST https://themailx.com/api/v1/spf-check \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com"
}'

DKIM dkim-check

Use this when the user wants to verify DKIM for a domain. Pass the DKIM selector if known (for example google for Google Workspace, selector1 or selector2 for Microsoft 365). If the selector is unknown, omit it: mailX then tries common selectors and returns the ones it finds. Returns the published key and its status. A miss on common selectors does not prove DKIM is absent.

ParameterTypeRequiredDescription
domain_name string Yes The domain to check DKIM records for, e.g. example.com
dkim_selector string No The DKIM selector, e.g. google (Google Workspace), selector1 or selector2 (Microsoft 365). Optional: omit it to try common selectors.
curl -X POST https://themailx.com/api/v1/dkim-check \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com",
    "dkim_selector": "google"
}'

DMARC dmarc-check

Use this when the user asks about DMARC, spoofing protection, or what happens to emails that fail authentication. Returns the live DMARC record, its policy and a fix suggestion.

ParameterTypeRequiredDescription
domain_name string Yes The domain to check DMARC records for, e.g. example.com
curl -X POST https://themailx.com/api/v1/dmarc-check \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com"
}'

BIMI bimi-check

Use this when the user asks about BIMI or showing a brand logo next to their emails in inboxes. Returns the live BIMI record, the logo URL it declares, and a fix suggestion.

ParameterTypeRequiredDescription
domain_name string Yes The domain to check BIMI records for, e.g. example.com
curl -X POST https://themailx.com/api/v1/bimi-check \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com"
}'

Deliverability Tools

SMTP Checker smtp-check

Use this only when the user explicitly asks to test an SMTP login for a mail account they control and provides its credentials. Connects to the SMTP server and reports whether connection, encryption and authentication succeed. If from_email and to_email are both given, it also sends one test email. Credentials are not stored.

ParameterTypeRequiredDescription
host string Yes The SMTP server hostname, e.g. smtp.gmail.com
port integer Yes The SMTP port number, e.g. 587 for TLS, 465 for SSL, 25 for unencrypted
username string Yes The SMTP username for authentication
password string Yes The SMTP password or app-specific password
encryption string Yes The encryption protocol: ssl, tls, or none
from_email string No Optional sender email address for sending a test email
to_email string No Optional recipient email address for sending a test email
curl -X POST https://themailx.com/api/v1/smtp-check \
  -H "Content-Type: application/json" \
  -d '{
    "host": "smtp.gmail.com",
    "port": "587",
    "username": "user@gmail.com",
    "password": "app-password",
    "encryption": "tls",
    "from_email": "value",
    "to_email": "value"
}'

IMAP Checker imap-check

Use this only when the user explicitly asks to test an IMAP login for a mailbox they control and provides its credentials. Connects to the IMAP server and reports whether connection, encryption and authentication succeed. Credentials are not stored.

ParameterTypeRequiredDescription
imap_host string Yes The IMAP server hostname, e.g. imap.gmail.com
imap_port integer Yes The IMAP port number, e.g. 993 for SSL, 143 for unencrypted
username string Yes The IMAP username for authentication
password string Yes The IMAP password or app-specific password
imap_encryption string Yes The encryption protocol: ssl, tls, or none
curl -X POST https://themailx.com/api/v1/imap-check \
  -H "Content-Type: application/json" \
  -d '{
    "imap_host": "imap.gmail.com",
    "imap_port": "993",
    "username": "user@gmail.com",
    "password": "app-password",
    "imap_encryption": "tls"
}'

Blacklist Checker blacklist-check

Use this when the user suspects their domain is blacklisted or blocked. Checks the domain against major DNS blocklists and returns the result for each list.

ParameterTypeRequiredDescription
domain_name string Yes The domain name or IP address to check against blacklists, e.g. example.com or 1.2.3.4
curl -X POST https://themailx.com/api/v1/blacklist-check \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com"
}'

Generators

DMARC Generator dmarc-generate

Use this when the user needs a DMARC record. Returns the record name, value and type ready to publish. mailX does not publish it.

ParameterTypeRequiredDescription
domain_name string Yes The domain to generate a DMARC record for, e.g. example.com
email string Yes The email address to receive DMARC aggregate reports, e.g. dmarc@example.com
dmarc_policy string Yes The DMARC policy: none (monitor only), quarantine (mark as spam), or reject (block entirely)
curl -X POST https://themailx.com/api/v1/dmarc-generate \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com",
    "email": "admin@example.com",
    "dmarc_policy": "quarantine"
}'

SPF Generator spf-generate

Use this when the user needs a new SPF record for their email provider. Returns a TXT record ready to publish, or explains what to set up instead when the provider does not need a root SPF include. mailX does not publish it.

ParameterTypeRequiredDescription
domain_name string Yes The domain to generate an SPF record for, e.g. example.com
provider string Yes The mail provider identifier, e.g. google, mailgun, sendgrid, postmark, amazon-ses
hard_fail_boolean boolean Yes If true, uses strict -all policy (reject unauthorized senders). If false, uses soft ~all (mark but deliver).
curl -X POST https://themailx.com/api/v1/spf-generate \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com",
    "provider": "Google Workspace",
    "hard_fail_boolean": true
}'

BIMI Host bimi-host

Host and serve your BIMI SVG file for email authentication

ParameterTypeRequiredDescription
domain_name string Yes eg. example.com
bimi_file file Yes Upload your BIMI SVG file
curl -X POST https://themailx.com/api/v1/bimi-host \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com",
    "bimi_file": "https://example.com/logo.svg"
}'

Server Finders

SMTP Finder smtp-finder

Use this when the user needs the outgoing mail (SMTP) server settings for an email provider or sending service, such as Gmail, Outlook, Microsoft 365, Zoho, Amazon SES or SendGrid. Returns the host, ports with encryption, what to use to log in, and the provider's setup guide. Never asks for the user's credentials.

ParameterTypeRequiredDescription
provider_name string Yes The email provider name to look up, e.g. gmail, sendgrid, mailgun, outlook
curl -X POST https://themailx.com/api/v1/smtp-finder \
  -H "Content-Type: application/json" \
  -d '{
    "provider_name": "Google Workspace"
}'

IMAP Finder imap-finder

Use this when the user needs the incoming mail (IMAP) server settings for an email provider, such as Gmail, Outlook, Yahoo, iCloud or Zoho. Returns the host, ports with encryption and the provider's setup guide. Never asks for the user's credentials.

ParameterTypeRequiredDescription
imap_provider_name string Yes The email provider name to look up, e.g. gmail, outlook, yahoo
curl -X POST https://themailx.com/api/v1/imap-finder \
  -H "Content-Type: application/json" \
  -d '{
    "imap_provider_name": "Google Workspace"
}'

Combined Test

Run multiple tools at once against a domain. Returns individual results for each tool.

curl -X POST https://themailx.com/api/v1/combine \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": {
      "domain_name": "google.com"
    },
    "tools": ["spf-check", "dmarc-check", "bimi-check", "blacklist-check"]
  }'
ParameterTypeRequiredDescription
inputsobjectYesKey-value pairs of input fields (shared across tools)
toolsarrayYesArray of tool endpoint names to run
Note: Results are processed asynchronously — poll each returned single_request ID at /api/v1/requests/{id} for the result.

Error Handling

All endpoints return standard HTTP status codes:

StatusMeaning
200Success — result is in the response body
422Validation error — check messages in the response body
429Rate limited — too many requests, retry after the Retry-After header value
500Server error — the tool encountered an unexpected failure

Validation errors return a structured response:

{
  "messages": {
    "domain_name": ["The domain name field is required."]
  }
}