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.
https://tools.themailx.com/api/v1Method: 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain_name | string | Yes | The domain to generate a DMARC record for, e.g. example.com |
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| 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"]
}'
| Parameter | Type | Required | Description |
|---|---|---|---|
| inputs | object | Yes | Key-value pairs of input fields (shared across tools) |
| tools | array | Yes | Array of tool endpoint names to run |
single_request ID at /api/v1/requests/{id} for the result.
Error Handling
All endpoints return standard HTTP status codes:
| Status | Meaning |
|---|---|
| 200 | Success — result is in the response body |
| 422 | Validation error — check messages in the response body |
| 429 | Rate limited — too many requests, retry after the Retry-After header value |
| 500 | Server error — the tool encountered an unexpected failure |
Validation errors return a structured response:
{
"messages": {
"domain_name": ["The domain name field is required."]
}
}