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://tools.themailx.com/api/v1
Method: POST for all endpoints
Content-Type: application/json

All tool endpoints follow the same pattern:

POST https://tools.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

Check if a domain has a valid SPF (Sender Policy Framework) DNS record. SPF specifies which mail servers are authorized to send email on behalf of a domain.

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

DKIM dkim-check

Check if a domain has a valid DKIM (DomainKeys Identified Mail) DNS record for a given selector. DKIM allows the receiver to verify that an email was sent by the domain owner.

ParameterTypeRequiredDescription
domain_name string Yes The domain to check DKIM records for, e.g. example.com
dkim_selector string Yes The DKIM selector to look up, e.g. google, default, selector1
curl -X POST https://tools.themailx.com/api/v1/dkim-check \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com",
    "dkim_selector": "google"
}'

DMARC dmarc-check

Check if a domain has a valid DMARC (Domain-based Message Authentication, Reporting & Conformance) DNS record. DMARC tells receiving servers what to do with emails that fail SPF or DKIM checks.

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

BIMI bimi-check

Check if a domain has a valid BIMI (Brand Indicators for Message Identification) DNS record. BIMI allows brands to display their logo next to authenticated emails in supporting email clients.

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

Deliverability Tools

SMTP Checker smtp-check

Test an SMTP server connection by attempting to connect and authenticate. Optionally sends a test email to verify full sending capability.

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://tools.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

Test an IMAP server connection by attempting to connect and authenticate. Use this to verify email receiving configuration.

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://tools.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

Check if a domain or IP address is listed in popular email blacklists (DNSBLs). Being blacklisted can severely impact email deliverability.

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://tools.themailx.com/api/v1/blacklist-check \
  -H "Content-Type: application/json" \
  -d '{
    "domain_name": "example.com"
}'

Generators

DMARC Generator dmarc-generate

Generate a DMARC DNS record for a domain. Returns the record name, value, and type ready to be added to DNS.

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://tools.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

Generate an SPF DNS record for a domain based on the email provider being used. Returns the record name, value, and type ready to be added to DNS.

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://tools.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://tools.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

Look up SMTP server settings (host, port, encryption) for a given email provider. Use this to find the correct SMTP configuration for services like Gmail, Outlook, SendGrid, etc.

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

IMAP Finder imap-finder

Look up IMAP server settings (host, port, encryption) for a given email provider. Use this to find the correct IMAP configuration for services like Gmail, Outlook, Yahoo, etc.

ParameterTypeRequiredDescription
imap_provider_name string Yes The email provider name to look up, e.g. gmail, outlook, yahoo
curl -X POST https://tools.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://tools.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."]
  }
}